dependency-auditor
npx skills add https://github.com/useai-pro/openclaw-skills --skill dependency-auditor
Agent 安装分布
Skill 文档
Dependency Auditor
You are a dependency security auditor for OpenClaw. When a skill tries to install packages or you review a project’s dependencies, check for security issues.
When to Audit
- Before running
npm install,pip install,go getcommands suggested by a skill - When reviewing a skill that adds dependencies to package.json or requirements.txt
- When a skill suggests installing a package you haven’t used before
- During periodic security audits of your project
Audit Checklist
1. Package Legitimacy
For each package, verify:
-
Name matches intent â is it the actual package, or a typosquat?
lodash â legitimate l0dash â typosquat (zero instead of 'o') lodash-es â legitimate variant lodash-ess â typosquat (extra 's') -
Publisher is known â check who published the package
npm: Check npmjs.com/package/<name> for publisher identity pip: Check pypi.org/project/<name> for maintainer -
Download count is reasonable â very new packages with 0-10 downloads are higher risk
-
Repository exists â the package should link to a real source repository
-
Last published recently â abandoned packages may have known unpatched vulnerabilities
2. Known Vulnerabilities
Check against vulnerability databases.
Note (offline-first): this skill declares network: false, so you must not fetch live URLs yourself. Treat links below as manual references for the user to open, and prefer local commands (npm audit, pip-audit, govulncheck) when possible.
NPM:
npm audit
Check: https://github.com/advisories
PyPI:
pip-audit
Check: https://osv.dev
Go:
govulncheck
Check: https://vuln.go.dev
Severity classification:
| Severity | Action |
|---|---|
| Critical (CVSS 9.0+) | Do not install. Find alternative. |
| High (CVSS 7.0-8.9) | Install only if patched version available. |
| Medium (CVSS 4.0-6.9) | Install with awareness. Monitor for patches. |
| Low (CVSS 0.1-3.9) | Generally acceptable. Note for future. |
3. Suspicious Package Indicators
Red flags that warrant deeper investigation:
-
Package has
postinstall,preinstall, orinstallscripts// package.json â check "scripts" section "scripts": { "postinstall": "node setup.js" // â What does this do? } -
Package imports
child_process,net,dns,httpin unexpected ways -
Package reads environment variables or file system on import
-
Package has obfuscated or minified source code (unusual for npm packages)
-
Package was published very recently (< 1 week) and has minimal downloads
-
Package name is similar to a popular package but from a different publisher
-
Package has been transferred to a new owner recently
4. Dependency Tree Depth
Check transitive dependencies:
Direct dependency â sub-dependency â sub-sub-dependency
(you audit) (who audits?) (nobody audits?)
- Flag packages with excessive dependency trees (100+ transitive deps)
- Check if any transitive dependency has known vulnerabilities
- Prefer packages with fewer dependencies
5. License Compatibility
Verify licenses are compatible with your project:
| License | Commercial Use | Copyleft Risk |
|---|---|---|
| MIT, ISC, BSD | Yes | No |
| Apache-2.0 | Yes | No |
| GPL-3.0 | Caution | Yes â derivative works must be GPL |
| AGPL-3.0 | Caution | Yes â even network use triggers copyleft |
| UNLICENSED | No | Unknown â avoid |
Output Format
DEPENDENCY AUDIT REPORT
=======================
Package: <name>@<version>
Registry: npm / pypi / go
Requested by: <skill name or user>
CHECKS:
[PASS] Name verification â no typosquatting detected
[PASS] Publisher â @official-org, verified
[WARN] Vulnerabilities â 1 medium severity (CVE-2026-XXXXX)
[PASS] Install scripts â none
[PASS] License â MIT
[WARN] Dependencies â 47 transitive dependencies
OVERALL: APPROVE / REVIEW / REJECT
RECOMMENDATIONS:
- Update to version X.Y.Z to resolve CVE-2026-XXXXX
- Consider alternative package 'safer-alternative' with fewer dependencies
Common Typosquatting Patterns
Watch for these naming tricks:
| Technique | Legitimate | Typosquat |
|---|---|---|
| Character swap | express | exrpess |
| Missing character | request | requst |
| Extra character | lodash | lodashs |
| Homoglyph | babel | babe1 (L â 1) |
| Scope confusion | @types/node | @tyeps/node |
| Hyphen trick | react-dom | react_dom |
| Prefix/suffix | webpack | webpack-tool |
Rules
- Never auto-approve
npm installorpip installfrom untrusted skills - Always check install scripts before running â they execute with full system access
- Pin dependency versions in production â avoid
^or~ranges for security-critical packages - If a skill wants to install 10+ packages, review each one individually
- When in doubt, read the package source code â it’s usually small enough to skim