Skip to content
Development
Skill

/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.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill supply-chain-advisory --agent claude-code

SKILL.md

supply-chain-advisory.SKILL.md
name: supply-chain-advisory
description: Audits dependency supply chains for bad versions, lockfile drift, and artifact integrity. Use when adding deps, handling incidents, or releasing a plugin.
alwaysApply: false
category: infrastructure
tags:
- security
- supply-chain
- dependencies
- vulnerability
- pypi
dependencies:
- error-patterns
provides:
  infrastructure:
  - supply-chain-scanning
  - dependency-auditing
  - incident-response
  patterns:
  - known-bad-detection
  - lockfile-audit
  - artifact-scanning
usage_patterns:
- dependency-security-check
- incident-response
- supply-chain-audit
complexity: intermediate
estimated_tokens: 500
progressive_loading: true
modules:
- modules/scanning-patterns.md
- modules/incident-response.md
role: hook-target

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

| Layer | Tool | Catches | |-------|------|---------| | **Lockfile hashes** | uv.lock SHA256 | Tampered re-published versions | | **Version exclusions** | pyproject.toml `!=` | Known-bad versions on fresh resolve | | **SessionStart hook** | sanctum hook | Per-session warning for compromised deps | | **CI scanning** | OSV, Safety | CVE database, and advisory matching | | **Artifact scanning** | make supply-chain-scan | Malicious 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

Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about supply-chain-advisory.

Which coding agents can use supply-chain-advisory?
supply-chain-advisory installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.