dependency-audit-stinger
Audit dependencies for the target repository's ecosystem: lockfiles, vulnerability triage, SBOM and provenance. Use for supply-chain or publish safety; Hivemind is a worked npm example.
SKILL.mdplugins/wasp-nest-core/skills/dependency-audit-stinger/SKILL.md
GitHubdependency-audit Stinger
Procedural arsenal for dependency-audit-wasp-drone. Start with the target repository's real ecosystem, package manager, lockfiles, dependency graph and publish boundary. The retained @deeplake/hivemind material is a worked npm case; its tree-sitter scripts, npm lockfile and OpenClaw publish guards are not requirements for other repositories.
First action when this stinger is loaded: Read Target repository audit. Inventory current source and authorized scope before selecting ecosystem-specific methods. Then consult the retained guides only where their case facts match the target and verify any vendor/version claim against current primary documentation.
Preserved Hivemind case facts (not target ground truth)
@deeplake/hivemind is an ESM, TypeScript ^6, Node >=22 npm package. The supply-chain facts that matter:
- Lockfile:
package-lock.json(npm - NOT pnpm or yarn). CI installs withnpm ci. - Runtime deps:
deeplake,@modelcontextprotocol/sdk,@anthropic-ai/sdk,zod,js-yaml,just-bash,yargs-parser. - optionalDependencies + native ABI risk:
@huggingface/transformersplus the full tree-sitter grammar set (c/cpp/go/java/javascript/python/ruby/rust/typescript). Three grammars are version-pinned inoverrides(tree-sitter-c,tree-sitter-python,tree-sitter-rust). Thepostinstallhook runsscripts/ensure-tree-sitter.mjs, which heals native ABI / arm64 build failures. This native-dependency surface is the single biggest supply-chain risk on this package - a compromised or broken grammar build runs install-time code on every consumer's machine. - Publish guards:
prepackbuilds; thefilesallowlist controls what ships;scripts/pack-check.mjs(npm run pack:check) blocks publishing secrets;scripts/audit-openclaw-bundle.mjs(npm run audit:openclaw) replicates ClawHub's static scan of the OpenClaw bundle. - CI:
.github/workflows/-ci.yamlruns a cross-node install;codeql.yamlscansjavascript-typescript. CodeRabbit profile ischill.
When this stinger applies
Load this stinger when dependency-audit-wasp-drone is invoked. Typical triggers:
- "Set up Renovate for Hivemind / Renovate vs Dependabot for this repo"
- "Our dependency-update PRs are noisy"
- "npm audit returns findings - help me triage"
- "npm audit shows clean but I don't trust it"
- "The tree-sitter postinstall is failing / is it safe?"
- "We need an SBOM for the published package"
- "Generate an SBOM and attest it in CI"
- "Set up socket.dev to catch malicious packages"
- "Should we publish with --provenance?"
- "Is our npm publish safe? / what guards the published bundle?"
- "package-lock.json keeps changing unexpectedly"
- "Explain package.json and lockfiles to me"
- "Which dependencies are direct or indirect?"
- "Tie our SBOM to the exact release artifact"
- "Upgrade this major dependency without hiding breaking changes"
Do NOT load it for:
- Application-code CVEs requiring code changes ->
security-wasp-drone - Container image scanning ->
ci-release-wasp-drone - License compatibility legal opinions -> legal counsel
- CI/CD pipeline architecture beyond the dependency scanning step ->
ci-release-wasp-drone
Critical directives
These are the non-negotiables. The full rationale lives in each guide.
- Never recommend ignoring a CVE without requiring an expiry date and a tracking issue link. See
guides/01-vulnerability-triage.md. - Always differentiate direct vs transitive exposure before recommending an upgrade. Most
npm auditfindings on this package are transitive and unreachable. Seeguides/01-vulnerability-triage.md. - Identify the target's actual install-time execution risks. In the Hivemind case, tree-sitter/optionalDependencies and
scripts/ensure-tree-sitter.mjswere relevant; preserve those controls only if the inspected target actually has them. Seeguides/01-vulnerability-triage.mdandguides/03-lockfile-discipline.md. - Choose an update tool from the target's requirements. The retained Hivemind case preferred Renovate; grouping alone does not rule out Dependabot, which also supports grouped updates. See
guides/00-scanner-decision-matrix.md. - Validate the target's actual lockfile and frozen-install procedure after a dependency change. Use
package-lock.json/npm cionly for an npm target; do not replace pnpm, Yarn, uv, Cargo or Go tooling with this example. Seeguides/03-lockfile-discipline.md. - Do not gate CI on
low/moderatenpm auditfindings. Gate only onhighandcritical. Seeguides/01-vulnerability-triage.md. - Preserve and check the target's existing publish guards. The
filesallowlist,pack-check.mjs, andaudit:openclawbelong to the retained Hivemind case; do not invent those scripts in another target. Seeguides/04-provenance-verification.md. - Defer to
security-wasp-dronefor any CVE that requires patching application code, not just upgrading a package.
Retained npm case toolchain (recheck current vendor behavior)
| Tool | Role for this package | Limit |
|---|---|---|
| npm audit | CVE compliance baseline, zero-config, built into the npm ci toolchain |
Does not catch supply-chain attacks without a CVE (axios-style account hijack, tree-sitter build tampering) |
| Renovate | Grouped update PRs + minimumReleaseAge delay; right fit for this single-package npm repo |
More config than Dependabot; needs a renovate.json |
| Dependabot | GitHub-native update PRs with configurable groups | Compare the target's ecosystem, update-delay and grouping requirements against current documentation |
| socket.dev | Behavioral threat intel for npm: typosquatting, malicious install scripts, account takeover - the control for the tree-sitter postinstall risk | Not a CVE scanner; complements npm audit, does not replace it |
| Snyk (optional) | Richer CVE DB + reachability + IDE integration for npm | Paid tiers for some features; npm audit + socket.dev cover the baseline |
| Syft + CycloneDX | SBOM for the published npm package in CycloneDX 1.6 JSON; CI-ready with Sigstore attestation | Does not scan vulnerabilities; pairs with Grype for that |
npm --provenance |
Sigstore-backed provenance on publish; verifiable with npm audit signatures |
Transport guarantee only - does not vouch for source-code trust |
Key 2026 insight:
npm auditis a CVE compliance tool, not a supply-chain security tool. The March 2026 axios maintainer account hijack published a backdoor in 40 minutes with no CVE at time of attack -npm auditshowed clean throughout. For this package the equivalent nightmare is a tampered tree-sitter grammar running install-time code viapostinstall. socket.dev behavioral analysis and RenovateminimumReleaseAgeare the controls that address this class. Seeresearch/external/04-npm-provenance-sigstore-2026.md(source-repository research, not shipped with the plugin).
Guide map
Read the guide matching your task:
| Task | Guide |
|---|---|
| Identify target ecosystem, lockfiles, checks and permission boundaries | guides/05-target-repository-audit.md |
| Explain actual manifests and lockfiles to a beginner | guides/06-explain-manifest-and-lockfile.md |
| Pick tooling for a target that matches the retained npm case | guides/00-scanner-decision-matrix.md |
Triage an npm audit finding (noise vs real, native-dep risk) |
guides/01-vulnerability-triage.md |
| Qualify exact release artifact inventory and SBOM binding | guides/07-bind-sbom-to-release-artifact.md |
| Prepare a bounded major upgrade with baseline/candidate contracts | guides/08-upgrade-major-dependency-safely.md |
| Retained published-package SBOM case | guides/02-sbom-workflow.md |
Harden package-lock.json + tree-sitter discipline |
guides/03-lockfile-discipline.md |
| Verify npm provenance + the publish-time guards | guides/04-provenance-verification.md |
Template map
| Template | Use case |
|---|---|
templates/renovate-base-config.json |
Drop-in Renovate config for this npm repo: grouping, minimumReleaseAge, automerge for devDependencies, and a guarded rule for the pinned tree-sitter grammars |
templates/github-actions-sbom-workflow.yml |
SBOM generation + Sigstore attestation for the published @deeplake/hivemind tarball on tag push |
templates/release-artifact-evidence.md |
Artifact/graph coverage, schema, subject, signature and identity evidence |
templates/major-upgrade-evidence.md |
Exact versions, consumer contracts, canary and rollback proof |
templates/manifest-reading-ledger.md |
Preserve declarations, recorded graph edges and unproved runtime/security facts; see worked fixture |
templates/dependency-triage-report.md |
Markdown template for recording an npm audit triage pass on this package |
Folder layout
dependency-audit-stinger/
+- SKILL.md (this file)
+- README.md (one-page human overview)
+- guides/
| +- 00-scanner-decision-matrix.md (Renovate vs Dependabot + npm audit + socket.dev for this package)
| +- 01-vulnerability-triage.md (npm audit noise vs real, direct vs transitive, tree-sitter native-dep risk)
| +- 02-sbom-workflow.md (Syft + CycloneDX 1.6 + Sigstore for the published tarball)
| +- 03-lockfile-discipline.md (npm ci + package-lock.json + minimumReleaseAge + optionalDependencies pins)
| +- 04-provenance-verification.md (npm --provenance + audit signatures + files allowlist / pack-check / audit-openclaw / CodeQL)
+- examples/
| +- happy-path-node-scanner-setup.md (Renovate + npm audit + socket.dev for @deeplake/hivemind)
| +- edge-case-critical-cve-triage.md (triaging a transitive CVE pulled through a Hivemind dependency)
+- templates/
| +- renovate-base-config.json (ready-to-use Renovate config for this repo)
| +- github-actions-sbom-workflow.yml (SBOM + attestation workflow)
| +- dependency-triage-report.md (npm audit triage report template)
+- reports/
| +- README.md (how audit reports accumulate)
+- research/ (DO NOT MODIFY -- owned by scripture-historian)
+- research-plan.md
+- research-summary.md
+- index.md
+- internal/01-command-brief.md
+- external/ (5 source files)
Pairing
| Role | Artifact |
|---|---|
| This stinger | . |
| Paired Drone | ../../agents/dependency-audit-wasp-drone.md |
Forged by stinger-forge, retargeted to the @deeplake/hivemind npm package. Part of The Wasp Nest, curated by Mario Aldayuz a.k.a @thenotoriousllama.