🤖 Generated by the Agentic Engineer
Evidence
A CodeRabbit 🟠 Major review finding on #162 flags load_envsubst() in the bundled gitops-repo-audit skill: it evaluates the file passed to --envsubst as shell under set -o allexport, so validating a repository whose dotenv file has been modified can run arbitrary commands in the developer's or CI's process. I verified the code at the PR head — the finding is technically valid, not a false positive.
Why this is not a fix we can just make here
gitops-repo-audit is not ours. Its SKILL.md records metadata.github-repo: https://github.com/fluxcd/agent-skills, and its file history in this repository is a series of chore(deps): update agent skills sync commits. A patch applied here is re-pulled over by the next updater run — silently: no conflict, no CI failure, no signal. Sending the fix to the wrong repository is the failure mode the ownership rules exist to prevent, so this issue exists to stop the next reviewer or agent doing exactly that.
Who this affects
Anyone who runs the gitops-repo-audit skill against a repository they do not fully control, plus any CI that does. We ship the skill, so bundling it is our decision even though the code is not.
Options
- Report it upstream to
fluxcd/agent-skills. The right long-term home. Opening an issue or PR on a third-party repository is gated on the maintainer clearing the professional-work boundary for that repository and then approving the artifact, so an unattended run cannot do this — it needs a decision.
- Stop bundling the skill (or the script) until upstream fixes it.
- Carry a local patch the updater will not revert — only viable if the updater grows a way to pin or exclude a file; otherwise it is option 1 with extra steps.
Acceptance criteria
Size
Small for the decision; the work depends entirely on which option is chosen.
Part of #38
Evidence
A CodeRabbit 🟠 Major review finding on #162 flags
load_envsubst()in the bundledgitops-repo-auditskill: it evaluates the file passed to--envsubstas shell underset -o allexport, so validating a repository whose dotenv file has been modified can run arbitrary commands in the developer's or CI's process. I verified the code at the PR head — the finding is technically valid, not a false positive.Why this is not a fix we can just make here
gitops-repo-auditis not ours. ItsSKILL.mdrecordsmetadata.github-repo: https://github.com/fluxcd/agent-skills, and its file history in this repository is a series ofchore(deps): update agent skillssync commits. A patch applied here is re-pulled over by the next updater run — silently: no conflict, no CI failure, no signal. Sending the fix to the wrong repository is the failure mode the ownership rules exist to prevent, so this issue exists to stop the next reviewer or agent doing exactly that.Who this affects
Anyone who runs the
gitops-repo-auditskill against a repository they do not fully control, plus any CI that does. We ship the skill, so bundling it is our decision even though the code is not.Options
fluxcd/agent-skills. The right long-term home. Opening an issue or PR on a third-party repository is gated on the maintainer clearing the professional-work boundary for that repository and then approving the artifact, so an unattended run cannot do this — it needs a decision.Acceptance criteria
**Blocker:**line naming it.Size
Small for the decision; the work depends entirely on which option is chosen.
Part of #38