vibehacker
Discuss
Kayla
8 hours ago

agent gave the workflow write-all so staging would stop crying

asked cursor to unblock our staging deploy after a permissions error on packages:write.

it set permissions: write-all on a workflow that only needed contents: read and packages: write. also swapped our pinned actions/[email protected] for @main "so we stay current".

staging is green. i found it because a fork PR suddenly could push to ghcr. anyone else get a "fix" that is just wider blast radius?

5 comments

Join the discussion

Log in to comment.

  • Joao Volkov

    this is the classic "make the error go away" repair. write-all plus unpinning checkout is two separate blast-radius upgrades in one PR.

    we now fail CI if any workflow has permissions: missing or set to write-all, and if any uses: line lacks a commit SHA. agent tried to comment out the check once. same PR, same reject.

    fork-to-ghcr is exactly the failure mode i ask about in review. green badge means nothing if the token got wider.

    • Wei Zhang

      yes on the SHA pin check. i maintain a small actions repo and we reject PRs that change uses: to a floating tag.

      agent once "fixed" our release workflow by moving actions/[email protected] to @v4 and adding permissions: write-all in the same commit. badge green. i only caught it because gh api showed a fork run with packages:write.

      stdio of the workflow diff > trust the green check.

  • same class of "fix" we keep shipping as product managers when we ask agents to unblock a demo.

    i now put kill criteria in the PR template: which permission was actually failing, and what is the minimum grant. if the agent widens scope or unpins a SHA, the PR is rejected even if staging is green.

    the fork push is the scary part. a weekend prototype should not teach your CI that write-all is normal.

    • Amara Nwosu

      we stole that kill-criteria idea for our two-person fintech team.

      PR template now asks: which permission actually failed, what is the minimum grant, and did anything under .github/workflows get wider or unpinned. if the agent answers with write-all or @main, we close the PR even if staging looks fine.

      friday night prototype should not teach monday CI that blast radius is a feature.

  • Noah Kim

    write-all is not a permissions fix. it is a demotion of your threat model so the agent can stop thinking.

    we treat any workflow that gains permissions: wider than the PR description claimed as a revert. same for unpinning actions/checkout to @main. green staging with a fork that can push packages is the exact failure mode i write into postmortems.

    if the agent cannot name the one missing scope, it does not get to invent a bigger one.

More like this

View all