Back to skills
SKILL.md
Orbit Sec Supply Chain
ASecuritySupply-chain security audit — Composer + npm dependency CVE check, license compatibility (GPL-compatible only), abandoned package detection, typosquatting risk, lockfile integrity, post-install / preinstall scripts that smell like supply-chain attacks. Use when the user says "supply chain audit", "dependency CVE", "composer audit", "npm audit", "vendor security".
- 2 stars
- 0 votes
- 0 copies
- 2 views
- Added September 9, 2026
Works with
Security analysis
96/100- Installs packages at runtime which could introduce malicious dependencies
npx -y skills add adityaarsharma/orbit --skill orbit-sec-supply-chain --agent claude-codeAre you the author of Orbit Sec Supply Chain?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/adityaarsharma-orbit-sec-supply-chain)---
name: orbit-sec-supply-chain
description: Supply-chain security audit — Composer + npm dependency CVE check, license compatibility (GPL-compatible only), abandoned package detection, typosquatting risk, lockfile integrity, post-install / preinstall scripts that smell like supply-chain attacks. Use when the user says "supply chain audit", "dependency CVE", "composer audit", "npm audit", "vendor security".
---
# 🪐 orbit-sec-supply-chain — Dependency supply-chain audit
A plugin is only as secure as its weakest dependency. This skill audits everything in `vendor/` and `node_modules/`.
---
## Quick start
```bash
# Composer side
cd ~/plugins/my-plugin && composer audit
# npm side
cd ~/plugins/my-plugin && npm audit
# Plus Orbit's deeper analysis
bash ~/Claude/orbit/scripts/supply-chain-audit.sh ~/plugins/my-plugin
```
---
## What this skill checks
### 1. Known CVEs in dependencies
```bash
composer audit --format=json | jq '.advisories'
npm audit --json | jq '.vulnerabilities'
```
Cross-referenced with:
- [GitHub Security Advisory DB](https://github.com/advisories)
- [Snyk DB](https://snyk.io/vuln)
- [PHP Security Advisories](https://github.com/FriendsOfPHP/security-advisories)
### 2. License compatibility (GPL-only for WP plugins)
**Whitepaper intent:** WP.org requires GPL-compatible. AGPL, BUSL, proprietary licenses break that. Auditor flags any non-compatible.
Compatible: GPL-2.0+, MIT, Apache-2.0 (permissive), BSD, LGPL.
Incompatible: AGPL, BUSL, proprietary, CC-NC, "must contact author."
### 3. Abandoned packages
```
A package is "abandoned" if:
- last commit > 2 years ago
- repository archived / 404
- composer.json has "abandoned: true"
- npm registry shows "deprecated"
```
Abandoned = no security patches → ticking time bomb.
### 4. Typosquatting risk
A dependency named `lodaash` (with double-a) is suspicious. Auditor checks Levenshtein distance from popular packages.
### 5. Post-install / preinstall scripts (npm)
```json
{
"scripts": {
"postinstall": "node ./postinstall.js" ← red flag — review the script
}
}
```
A malicious `postinstall.js` can exfiltrate secrets. Audit forces review.
### 6. Lockfile integrity
- `composer.lock` matches `composer.json`?
- `package-lock.json` matches `package.json`?
- All hashes verified?
```bash
composer install --dry-run
npm ci # fails if lockfile-package mismatch
```
### 7. Direct GitHub dependencies (no version pinning)
```json
"dependencies": {
"some-pkg": "github:user/repo" ← no version, no integrity hash
}
```
→ Pin to a specific commit hash + verify hash on every install.
---
## Output
```markdown
# Supply Chain Audit — my-plugin
## Composer (15 packages)
- ✓ All GPL-compatible
- ❌ guzzlehttp/guzzle 6.5.5 — CVE-2024-XXXX (HIGH) — upgrade to 7.x
- ⚠ symfony/polyfill-iconv — abandoned (last release 18 months ago)
## npm (1,247 packages incl. transitive)
- ⚠ 14 vulnerabilities (3 HIGH, 11 LOW)
`npm audit fix` resolves 9
- ❌ Package "lodahs" (note typo) found — looks like lodash typosquat. Investigate.
- ⚠ postinstall script in `node-pre-gyp` — common but read it
- ❌ Package `xyz-utils` — repo 404 (deleted from GitHub)
## Lockfile
- ✓ composer.lock matches composer.json
- ❌ package-lock.json out of sync with package.json — npm ci will fail
## Recommendation
1. `composer require guzzlehttp/guzzle:^7.0` — fixes critical
2. Investigate "lodahs" typo (likely safe but verify)
3. Remove `xyz-utils` (its repo is deleted)
4. `npm install` to refresh lockfile
```
---
## Pair with
- `/orbit-zip-hygiene` — vendor/ in release zip
- `/orbit-sec-secrets-leak` — secrets in lockfiles
- `/orbit-cve-check` — Orbit's own CVE feed
---
## Sources & Evergreen References
### Canonical docs
- [GitHub Advisory Database](https://github.com/advisories) — root vuln DB
- [composer audit](https://getcomposer.org/doc/03-cli.md#audit) — built-in
- [npm audit](https://docs.npmjs.com/cli/v10/commands/npm-audit) — built-in
- [Snyk Vulnerability DB](https://snyk.io/vuln) — alt source
- [Socket.dev](https://socket.dev/) — supply-chain risk scoring
- [PHP FIG Security Advisories](https://github.com/FriendsOfPHP/security-advisories)
### Rule lineage
- composer audit (built-in) — Composer 2.4+ (2022)
- Supply-chain attacks (xz-utils, event-stream) — broad awareness since 2021
### Last reviewed
- 2026-04-29 — supply-chain landscape evolves daily
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.