Secrets in argv, and scanners that fail open
A git clone with Authorization on argv is readable from ps, and a scanner that swallows errors is a silent pass. Two fixes from a PR review.
Read the entry →Engineering log · GitProxy
A daily record of the real work behind GitProxy — the bugs that bit, the fixes that stuck, and the reasoning in between. Written for the next engineer who hits the same wall.
A git clone with Authorization on argv is readable from ps, and a scanner that swallows errors is a silent pass. Two fixes from a PR review.
Read the entry →ENOSPC: System limit for number of file watchers reached is an inotify limit, not a full disk. Here's how to find what ate your watchers and raise them.
Read the entry →A GitHub Actions step failed with Permission denied and exit code 126. The script was committed as 100644 because core.fileMode was off. Here's the fix.
Read the entry →Files missing from a published npm package: our vite UI build landed outside dist, so the files allowlist dropped it. Here's how I found and fixed it.
Read the entry →Passing obj.exec into a list strips this, so stateful plugins crash. Bind it, wrap it, or use an arrow field. Here is the GitProxy fix.
Read the entry →p.chains?.includes(name) dropped every plugin that omitted chains. Optional chaining in a filter is an accidental deny; default with ?? instead.
Read the entry →