Points the prodsec orb at the dev build of snyk/prodsec-orb#166 so this repository
can exercise the agentic Open Source fix before that PR is released, and switches
it on for the code-analysis job.
- prodsec orb: snyk/prodsec-orb@1 -> @dev:31a2fb2e92f1f80de62249143bd3a816b3836971
- open-source-scan: high -> medium
- open-source-agentic-fix-enabled: true
- prodsec-orb-runtime added to the code-analysis contexts, which is where
LITELLM_API_KEY, LITELLM_BASE_URL, LITELLM_MODEL and REMY_GITHUB_TOKEN come
from. Without it the feature skips, naming what is missing.
When the Enhanced Gate blocks an Open Source scan the job still fails exactly as
it does today, and in addition `snyk fix --agentic` runs at the same severity
threshold the gate uses and raises a pull request against the branch that failed.
The fix step always exits 0, so it cannot turn a passing build red or mask a
failure.
Worth knowing before this merges:
- Lowering to medium is a real behavioural change on its own: the gate can now
block on medium-severity findings that previously passed. This repository also
sets open-source-block-ignore-sla, so the gate already ignores remediation SLA -
the two together widen what blocks considerably. Both this repository's AI
reviewer and the orb author flagged that the most likely first outcome is a
blocked main pipeline, and that the fix may exceed its own safety caps (50 files
/ 5000 lines / 1MB patch) and refuse to push anything. Reverting this one line to
high is a reasonable call if the trial should be informative rather than broad.
- Enabling the feature adds a github-cli/install step that runs on every build of
this repository, not only blocked ones, because a CircleCI step cannot be made
conditional on a runtime value. If that install fails it fails the job even when
the gate passed.
- `snyk fix` runs this repository's dependency lifecycle scripts in the same job
that holds the context secrets. The LLM key, the Snyk token and - since the orb
now exports GH_TOKEN for the GitHub CLI - a repository-write GitHub token are all
readable by those scripts.
The dev orb reference is mutable and expires after 90 days, so this must move back
to snyk/prodsec-orb@1 once #166 is released - otherwise the orb stops resolving and
blocks every pull request.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
What this does
Points the prodsec orb at the dev version built from snyk/prodsec-orb#166 so this repository can exercise the agentic Open Source fix before that PR is released, and switches it on for
code-analysis.prodsec: snyk/prodsec-orb@1→@dev:ee7f5290open-source-scan: high→mediumopen-source-agentic-fix-enabled: trueprodsec-orb-runtimeadded tocode-analysiscontextsWhen the Enhanced Gate blocks an Open Source scan the job still fails exactly as it does today. In addition,
snyk fix --agenticruns at the same severity threshold the gate uses, commits to<branch>+remy_fix, and opens a pull request against the branch that failed. The fix step always exits 0, so it cannot turn a passing build red or mask a failure.Please read before approving
1.
mediumis a behavioural change on its own, and it compounds here. The gate can now block on medium-severity findings that previously passed, so a build may go red for that reason alone — nothing to do with the fix. This repository also setsopen-source-block-ignore-sla: true, so the gate already ignores remediation SLA. Together those widen what blocks considerably on a dependency tree this size.The most likely outcome of the first blocked build is therefore not a tidy pull request: the fix has hard safety caps (50 files / 5000 lines / 1 MB patch) and will refuse to push anything that exceeds them, logging a skip instead. If you would rather the first trial be informative than broad, reverting this line to
highis reasonable and I am happy to do it.2. A
github-cli/installstep now runs on every build, not only blocked ones, because a CircleCI step cannot be made conditional on a runtime value. It is an ordinary step: if that install fails it fails the job even when the gate passed. Note this repository already declaresgh: circleci/github-cli@2.1.0at top level; the orb declares@3.0.0internally. Those are separate orb instances rather than a conflict, but it is the first place to look ifghmisbehaves.3.
snyk fixruns this repository's dependency lifecycle scripts in the same job that holds the context secrets. The GitHub token is read once, unset, and thereafter passed only as a single-command environment prefix, so it is not in the environment those scripts inherit. The Snyk token and the LLM key are exported job-wide by CircleCI and remain visible to them.4. The orb reference is a dev version — mutable, and it expires after 90 days. This must move back to
snyk/prodsec-orb@1once #166 is released.All four are documented on the orb's Agentic Fix page.
Verification
circleci config validate, which reproduces the compile step CircleCI performs. It passes.prodsec-orb-runtimewas confirmed to land oncode-analysisonly, not on any other job.agentic_fix.shtest jobs.Not verified: the feature has never completed end-to-end against a real LLM, a real
ghinstall, or a real authenticated push. A parallel trial on snyk-intellij-plugin#880 has not yet produced a fix branch, and that failure is still undiagnosed. Treat the first blocked build here as the experiment, not as a working feature.🤖 Generated with Claude Code