feat(aosguard): the operations provisioning scripts were curling with a raw PAT #1082
No reviewers
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/agentic-os!1082
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/ym96-admin-verbs"
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?
Kai on infrastructure#847: agents should never make direct SSM calls against the admin token either. If something needs it, it goes inside aosguard.
She is right, and #847 only got halfway. It removed the helper and the TTY gate, but left twelve call sites reading the SecureString into a shell variable and handing it to
curl. The token still lands in a variable, in the script's memory, and in three cases in argv wherepscan read it.A guarded verb keeps the credential inside the binary. It reaches no variable, no log, and no
ps. A script that fetches the token itself defeats the wrapper however carefully it behaves afterwards.Sixteen verbs, derived from what the scripts actually call
I mapped every endpoint in the twelve call sites rather than guessing:
provision-forgejo-runner-registration-token.shcoilyco-bridge/deploy#545Twelve swagger paths vendored from upstream with transitive definitions and shared responses, because
specgen lockprunes the vendored snapshot rather than fetching. 63 ops to 83.Verified live
All 16 verbs materialize; 28 verbs on the wrapper total.
One thing I did not do, on purpose
adminCreateUser,adminDeleteUser,adminCreateOrgandorgCreateTeamare left out.They back
provision-coilyco-ops-bot.shandgrant-coilyco-ops-org-repo-create.sh, which create the bot user and grant it org rights. Those run approximately once. Wrapping them would give aosguard a permanent, standing capability to create and delete any user on the instance, in exchange for retiring a script that has already done its job.That trade might still be right - a one-shot script that needs the raw token is exactly what this PR is against. But it is a genuine widening of the guarded surface rather than a config repair, so it is your call and I did not make it. Say which and I will follow up.
Follow-on
The infrastructure side - converting those twelve call sites to these verbs and deleting the raw curls - is a separate PR against
infrastructure, and depends on this being released.infrastructure#848 carries the argv inventory that overlaps it.🤖 Generated with Claude Code