-
v0.1.1.0 — 2026-05-09 Stable
released this
2026-05-09 14:54:58 -07:00 | 104 commits to main since this releaseAdded
- Optional git remote URL in
.secrets-store. Add a second whitespace-separated token after the store name to give teammates a copy-paste-ready clone command:
When a teammate clones a project bound to a store they don't have on their machine yet, the directed error now fills in the actualwork git@github.com:acme/work-secrets.gitgit clone <url> <path>line — they no longer have to ask the original setter for the URL. The URL is optional; existing single-token.secrets-storefiles continue to work and show the<their-store-remote>placeholder as before. (EGB-282)
Security
- Hardened
.secrets-storeURL parser against copy-paste shell injection. The URL is rendered into agit cloneline that a teammate is likely to copy-paste from the directed error. Without sanitization, a malicious.secrets-storecontainingwork evil.git;rm -rf ~would render verbatim and executerm -rf ~on paste. The parser now rejects URLs containing shell metacharacters (;&|<>$\(){}*?!"'\`), control characters (including ANSI escape sequences that could spoof terminal output), and embedded whitespace. Rejected URLs are dropped with a stderr warning; the directed error falls back to the safe placeholder. Found by adversarial review during /ship; verified with regression tests for every named attack vector. - Switched URL parsing from
set -- $linetoread -r spec rest. The previous form word-split and glob-expanded —work *from a populated directory would have leaked filenames into the URL field. The new form preserves the rest of the line verbatim into a single variable, so glob characters and internal whitespace are noticed by the sanitizer instead of silently expanded.
Tests
- 72 → 80 (+8). New coverage: backward-compat single-token form, two-token URL form (SSH, HTTPS,
~/-prefixed), comment-and-URL form, copy-paste injection (rm -rf payload), backtick injection,$()injection, ANSI escape injection, multi-token URL, glob-character URL, and a positive test asserting standard git URL chars (-,+,_,:,/,@,.) round-trip unchanged.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Optional git remote URL in