You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The .github/workflows/release-notes.yml workflow installs @anthropic-ai/sdk using npm install without a pre-committed lockfile. npm install resolves the latest satisfying version at run time, meaning different CI runs can silently pull in different (potentially malicious or buggy) transitive dependency versions.
This workflow runs with access to ANTHROPIC_API_KEY and GITHUB_TOKEN, making it a worthwhile supply-chain target.
Risk
Non-reproducible builds — transitive dependency versions can differ between runs
A compromised package version could be silently introduced without lockfile pinning
No integrity check is performed against a known-good dependency tree
Remediation
Create a small dedicated directory (e.g., .github/scripts/release-notes/) containing:
package.json declaring @anthropic-ai/sdk as a dependency
A committed package-lock.json generated by npm install locally
Update the workflow to use npm ci from that directory:
- name: Install dependenciesworking-directory: .github/scripts/release-notesrun: npm ci
Severity
Low
Description
The
.github/workflows/release-notes.ymlworkflow installs@anthropic-ai/sdkusingnpm installwithout a pre-committed lockfile.npm installresolves the latest satisfying version at run time, meaning different CI runs can silently pull in different (potentially malicious or buggy) transitive dependency versions.This workflow runs with access to
ANTHROPIC_API_KEYandGITHUB_TOKEN, making it a worthwhile supply-chain target.Risk
Remediation
.github/scripts/release-notes/) containing:package.jsondeclaring@anthropic-ai/sdkas a dependencypackage-lock.jsongenerated bynpm installlocallynpm cifrom that directory: