Skip to content

feat: add Dependency & Supply Chain Security audit category#93

Open
theLightArchitect wants to merge 1 commit intoanthropics:mainfrom
theLightArchitect:feat/supply-chain-dependency-detection
Open

feat: add Dependency & Supply Chain Security audit category#93
theLightArchitect wants to merge 1 commit intoanthropics:mainfrom
theLightArchitect:feat/supply-chain-dependency-detection

Conversation

@theLightArchitect
Copy link
Copy Markdown

Summary

Adds a missing security category to both the Claude audit prompt and the slash command template. Current scans cover injection, auth, crypto, etc. but have no supply chain coverage despite it being a top attack vector (SolarWinds, XZ utils, npm typosquatting incidents).

The new Dependency & Supply Chain Security category checks for:

  • Known vulnerable dependencies (CVEs in pinned versions in manifest files)
  • Unpinned or loosely pinned dependency versions (e.g. *, latest, >= without upper bound)
  • Dependencies from untrusted or non-standard registries
  • Typosquatting risks in package names (e.g. misspelled popular packages)
  • Dependency confusion (private vs public namespace conflicts)
  • Malicious post-install scripts in dependency manifests
  • Lock file integrity issues (missing, inconsistent, or uncommitted lock files)

Both claudecode/prompts.py and .claude/commands/security-review.md are updated to stay in sync.

Test plan

  • test_get_security_audit_prompt_contains_supply_chain_category — verifies the category is present in generated prompts
  • test_get_security_audit_prompt_supply_chain_with_custom_instructions — verifies custom instructions still inject correctly after the new section

Closes #31

Adds a missing security category to both the Claude audit prompt and the
slash command template. Current scans cover injection, auth, crypto, etc.
but have no supply chain coverage despite it being a top attack vector
(SolarWinds, XZ utils, npm typosquatting incidents).

New category checks for:
- CVEs in pinned dependency versions
- Loose version pinning (*, latest, >= without upper bound)
- Untrusted or non-standard registries
- Typosquatting in package names
- Dependency confusion (private vs public namespace)
- Malicious post-install scripts
- Lock file integrity issues

Closes anthropics#31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update the security review command to identify Dependency Issues

1 participant