Skip to content
cccskills
FreePublished on GitHub

supply-chain-advisory

Audits dependency supply chains for bad versions, lockfile drift, and artifact integrity. Use when adding deps, handling incidents, or releasing a plugin.

The English summary is being prepared. Showing the original description.

See how to install

Files included (4)

  • SKILL.md4.4 KB
  • known-bad-versions.json728 B
  • modules/incident-response.md1.9 KB
  • modules/scanning-patterns.md1.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Overview

Supply chain attacks bypass traditional code review by compromising upstream dependencies. This skill provides patterns for detecting, preventing, and responding to compromised packages in Python ecosystems.

When To Use

  • After a supply chain advisory is published
  • When auditing dependencies for a new or existing project
  • During incident response for a suspected compromise
  • When adding the SessionStart hook to a project

When NOT To Use

  • General CVE triage unrelated to dependency supply chain
  • Application-level vulnerability scanning (use a SAST tool)
  • License compliance audits (different concern)

Known-Bad Versions Blocklist

The blocklist is at ${CLAUDE_SKILL_DIR}/known-bad-versions.json. It is consumed by:

  1. SessionStart hook: warns per-session when compromised versions detected
  2. make supply-chain-scan: CI/local scanning target
  3. This skill: manual audit guidance

Blocklist Format

{
  "package_name": [{
    "versions": ["x.y.z"],
    "date": "YYYY-MM-DD",
    "description": "What the attack did",
    "indicators": ["files or patterns to search for"],
    "source": "advisory URL",
    "severity": "critical|high|medium"
  }]
}

Adding a New Entry

  1. Add the entry to ${CLAUDE_SKILL_DIR}/known-bad-versions.json
  2. Add version exclusions (!=x.y.z) to affected pyproject.toml files
  3. Document in docs/dependency-audit.md under Supply Chain Incidents
  4. Run make supply-chain-scan to verify detection works

Quick Scan Commands

Check all lockfiles on machine for known-bad versions

# Scan uv.lock files for a specific compromised version
grep -r "package_name.*version" --include="uv.lock" /path/to/projects

# Search for malicious artifacts
find /path/to/projects -name "suspicious_file.pth" 2>/dev/null

# Check installed versions in virtualenvs
find /path/to/projects -path "*/.venv/lib/*/PACKAGE*/METADATA" \
  -exec grep "^Version:" {} +

Verify lockfile hash integrity

uv.lock includes SHA256 hashes for every package. If a package is re-published with different content under the same version, uv sync will fail with a hash mismatch. This is your strongest automatic defense.

Defense Layers

LayerToolCatches
Lockfile hashesuv.lock SHA256Tampered re-published versions
Version exclusionspyproject.toml !=Known-bad versions on fresh resolve
SessionStart hooksanctum hookPer-session warning for compromised deps
CI scanningOSV, SafetyCVE database, and advisory matching
Artifact scanningmake supply-chain-scanMalicious files (.pth, scripts)

Limitations

  • Zero-day supply chain attacks have no prior advisory: lockfile hashes are the only automatic defense during the attack window
  • Safety/CVE databases lag behind real-world compromises
  • OSV provides broader coverage but is still reactive

Exit Criteria

  • ${CLAUDE_SKILL_DIR}/known-bad-versions.json checked against all lockfiles in scope; any match reported with package name, bad version, severity, and advisory URL
  • When a new known-bad entry is added: version exclusion (!=x.y.z) added to the affected pyproject.toml, entry documented in docs/dependency-audit.md, and make supply-chain-scan run to confirm detection works
  • uv.lock SHA256 hash integrity verified; uv sync failure on hash mismatch surfaces as an explicit supply-chain warning rather than a generic install error
  • Artifact scan checks for malicious file patterns (.pth files, unexpected scripts) in virtualenv paths before the session proceeds

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.

The English summary is being prepared. Showing the original description.

athola/claude-night-market342Updated Oct 17, 2026

Inverts burden of proof for code additions. Use when reviewing PRs, planning refactors, or running unbloat to challenge every addition's necessity.

The English summary is being prepared. Showing the original description.

athola/claude-night-market342Updated Oct 17, 2026

Tracks per-agent token usage and flags waste in parallel dispatch. Use when evaluating parallel agent efficiency or after a multi-agent run.

The English summary is being prepared. Showing the original description.

athola/claude-night-market342Updated Oct 17, 2026

Coordinates Claude agent teams via filesystem protocol. Use when orchestrating parallel agents with task dependencies. Do not use for single-agent tasks.

The English summary is being prepared. Showing the original description.

athola/claude-night-market342Updated Oct 17, 2026

Evaluates API surface design, consistency, and exemplar alignment. Use when reviewing public API changes or before releasing a new API surface.

The English summary is being prepared. Showing the original description.

athola/claude-night-market342Updated Oct 17, 2026

Selects architecture paradigm via research before scaffolding. Use when architecture is undecided and the choice needs justification and documentation.

The English summary is being prepared. Showing the original description.

athola/claude-night-market342Updated Oct 17, 2026

See all skills by athola

Report a problem with this skill