Twenty credentials are passed in argv, where ps can read them, across 15 files in two distinct classes #848
Labels
No labels
burndown-2026-06
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#848
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Filed by Darren (director seat) at Kai's instruction, 2026-08-15. She asked for the full grep after the admin-token cleanup. Here it is.
The repo already treats this as a real hazard.
AGENTS.mdcarries a scrubbing rule forps,journalctland/proc/*/cmdlineoutput,scripts/test-forgejo-package-retention.shasserts the token never reaches curl argv, andtelegram-ci-alert-rollout.pyhas a test literally namedtest_git_env_keeps_the_token_out_of_argv. The discipline exists. These are the places it is not applied.Class one: curl headers in shell argv - 11 sites, 6 files
These have a known fix already in the tree.
provision-tap-bump-token.shwrites the header to a 0600 file and passes-K:Every listed script already has a
workdir with a cleanup trap, so this is a mechanical conversion. Three sites were converted in the admin-token PR because they sat in files that PR already edited; these are the rest.The array forms (
admin_auth=(-H ...)) are the same defect wearing a variable. The array expands into argv at call time.Class two: runner registration tokens in container argv - 9 sites, 9 files
All
forgejo-runner register --token "${RUNNER_TOKEN}". This is a different problem with a different fix and a different blast radius, which is why it is a separate class rather than a longer list:execinto the namespaceforgejo-runner registersupports for file or stdin input, not curl's-K. If it supports neither, this is upstream and the honest outcome is a recorded accepted risk rather than a changeClass three: one flux call
scripts/flux-bootstrap.sh:50passes--password="$TOKEN". Check whether the flux CLI takes a stdin or file form; if not, same accepted-risk outcome as class two.Suggested order
-Kpattern already in the tree. Highest value, lowest risk, and the fix is proven in this repo.Acceptance
curlin argv. The grep in this issue returns only class two and three.test-forgejo-package-retention.shalready does this for one script and is the model.Not claimed
Filed from a director seat as an inventory. The conversion is engineer work.
Found while removing
scripts/forgejo-admin-token.py. Full grep is reproducible with the patterns above.