supply-chain-risk-analysis
Skill0 starsChanged 5 months agoMITView on GitHub
Analyzes risk from third-party dependencies, build pipelines, and external code that runs with your privileges. Use when adding a dependency, auditing the dependency tree, hardening CI/CD, or assessing exposure to compromised packages and transitive risk.
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Every dependency is code you didn't write running with your privileges, maintained by people you don't know, pulled through infrastructure …
- Distinctive: line 25
Dependency confusion test: do internal package names resolve to a public registry if an attacker registers them?
- Distinctive: line 28
Blast radius of one bad package: if the most-trusted build-time dependency were backdoored today, what would it exfiltrate or inject, and …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Supply Chain Risk Analysis
Every dependency is code you didn't write running with your privileges, maintained by people you don't know, pulled through infrastructure you don't control. The trust you extend is transitive and usually invisible.
Map the real dependency graph
- Transitive, not direct: your 20 direct dependencies pull hundreds of transitive ones. The risk lives in the deep, unfamiliar, single-maintainer packages you've never heard of.
- Execution context: which dependencies run at build time (highest risk — full pipeline access), at runtime in the server (privileged), or in the client (different exposure)? A compromised build-time package owns everything.
- Trust concentration: identify single-maintainer, unmaintained, or recently-transferred packages. A popular package handed to a new owner is a classic injection vector.
The attack vectors
- Malicious package: typosquatting, dependency confusion (internal name resolved to public registry), or a maintainer account takeover pushing a backdoored version.
- Compromised update: a previously-good package ships a malicious version (the "your dependency updated overnight" risk). Unpinned versions auto-pull it.
- Build pipeline compromise: CI tokens, cached artifacts, and build scripts run untrusted code (especially install hooks/postinstall scripts) with production credentials.
- Transitive vulnerability: a CVE three levels deep that your direct deps drag in.
Adversarial validation
- Dependency confusion test: do internal package names resolve to a public registry if an attacker registers them? This is a one-command takeover for many orgs.
- The postinstall question: which dependencies run scripts at install time? Those execute arbitrary code on every developer machine and CI run — on install, before any review.
- Pin and verify: are versions pinned with integrity hashes (lockfile), or floating (
^,latest) so a compromised release auto-deploys? Is the lockfile actually enforced in CI? - Blast radius of one bad package: if the most-trusted build-time dependency were backdoored today, what would it exfiltrate or inject, and would you detect it?
- Provenance: can you verify the artifact you run was built from the source you reviewed (signed builds / SLSA), or are you trusting the registry blindly?
Non-obvious risks
- "Number of GitHub stars" is not a security signal; popular packages are higher-value targets, not safer.
- Removing a dependency you wrote yourself in 20 lines often beats adding one with its own dependency tree — the smallest dependency has the largest hidden graph.
- Vulnerability scanners report known CVEs (lagging) and miss novel malicious packages and intentional backdoors entirely.
Output structure
Deliver: the dependency graph by execution context (build/server/client), the high-risk packages (single-maintainer, unmaintained, install-hooks), the dependency-confusion and pinning/integrity check, the blast radius of a compromised build-time dependency, the provenance/signing gap, and a prioritized hardening list (pin, scope CI tokens, vendor or remove risky deps).
In this repository29 other files it gives its agents.
- adversarial-code-reviewSkill
- api-contract-designSkill
- attack-surface-mappingSkill
- authn-authz-design-reviewSkill
- benchmark-designSkill
- capacity-scalability-planningSkill
- concurrency-race-analysisSkill
- data-consistency-modelingSkill
- data-exfiltration-analysisSkill
- distributed-consensus-designSkill
- error-handling-architectureSkill
- event-driven-architectureSkill
- experiment-designSkill
- hypothesis-falsificationSkill
- incident-rca-postmortemSkill
- legacy-refactoring-strategySkill
- literature-synthesisSkill
- metrics-designSkill
- multi-layer-caching-strategySkill
- mvp-scope-cuttingSkill
- performance-profilingSkill
- rate-limiting-designSkill
- requirements-disambiguationSkill
- secrets-management-auditSkill
- statistical-validity-analysisSkill
- system-decomposition-synthesisSkill
- threat-modelingSkill
- tradeoff-decision-frameworkSkill
- user-failure-mode-mappingSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

