Depcheck
Checks projects and packages for CVEs using Socket.dev CLI and native audit commands. Use when installing or auditing dependencies for vulnerabilities, evaluating a package before install, or scanning a project's dependency tree.From its SKILL.md
npx -y skills add usrrname/agent-skills --skill depcheckAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.4 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Dependency Analysis with Socket
Uses the Socket CLI (@socketsecurity/cli) to check for CVEs in direct and transitive dependencies. Also covers native audit commands for npm, yarn, pnpm, and bun.
Prerequisites
npm install -g @socketsecurity/cli
socket login # or: export SOCKET_SECURITY_API_TOKEN=<token>
Check a single package for CVEs
socket package score npm <package> --markdown # deep (includes transitives)
socket package shallow npm <package> # shallow (package only)
socket package shallow npm react lodash eslint # multiple packages
Check a project for CVEs
socket scan create <dir> --report # full scan
socket ci # CI gate (non-zero on failure)
socket scan create . --json | jq '.alerts[] | select(.severity == "critical")'
Native audit commands (no Socket required)
npm
npm audit --audit-level=high
npm audit --json | jq '.vulnerabilities | to_entries[] | select(.value.severity == "high" or .value.severity == "critical")'
yarn v1
yarn audit --level high
yarn v4+ (berry)
yarn npm audit --all --severity high
pnpm
pnpm audit --audit-level=high
pnpm audit --audit-level=medium # include medium-severity CVEs
pnpm audit --fix # write overrides to pnpm-workspace.yaml
bun
bun audit --audit-level high
ad-hoc (no lockfile)
npx audit-ci --high
Secure install wrapper
socket npm install # drop-in npm replacement with scanning
socket npx <package> # scans before executing
socket wrapper --on/--off # toggle globally
Pin dependency versions
All dependencies in package.json MUST be pinned to exact versions. No semver ranges (^, ~, *, >, <, >=, <=). Applies to dependencies, devDependencies, peerDependencies, and optionalDependencies.
Why
- Prevents unexpected breaking changes from transitive updates.
- Ensures reproducible builds across environments and CI.
- Mitigates supply-chain attacks via malicious package updates.
Good
{
"dependencies": {
"astro": "6.4.2",
"tailwindcss": "4.3.0"
},
"devDependencies": {
"wrangler": "4.95.0"
}
}
Bad
{
"dependencies": {
"astro": "^6.4.2",
"tailwindcss": "~4.3.0"
}
}
Adding or updating
- When installing a new dependency, pin it to the exact installed version.
- To bump a pinned dependency:
- Run
pnpm up <package>to fetch the latest version. - Manually update
package.jsonto the new exact version. - Run
pnpm installto update the lockfile.
- Run
Pin GitHub Actions to commit SHAs
All GitHub Actions MUST be referenced by their full commit SHA, NOT by version tags or branch names. Applies to every uses: directive in workflows.
Why
- Tags can be moved or deleted; SHAs are immutable.
- Prevents supply-chain attacks via compromised action tags.
- Ensures CI runs the exact same code every time.
Good
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: pnpm/action-setup@a7487c7e895a8d0e9b3b8e8f3b8b8b8b8b8b8b8b # v4.0.0
Bad
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/checkout@main
Finding SHAs
Use git ls-remote https://github.com/<owner>/<repo> refs/tags/<version>, or open the action's releases page on GitHub, click the tag, and copy the 40-character commit SHA. Keep the version tag as a trailing comment for readability.
Set minimum release cooldown period
Set minimumReleaseAge of 7 days in workspace or lockfiles.
References
- Socket CLI docs — full command reference, score interpretation, alert severity levels
- Socket package scores — scoring dimensions and methodology
- Alert types — CVE, supply chain, quality, maintenance, license alerts
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.