agents/skills/injectable/l1/dependency-audit-nodeclient/SKILL.md
L1 supplement - audits Go modules and Rust crates for known vulnerabilities, outdated versions, supply chain risks, and replace/patch directives.
npx skillsauth add plamentsv/plamen dependency-audit-nodeclientInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
L1 trigger:
L1_PATTERN=true— always runs Inject Into: Recon + any breadth agent Finding prefix:[DEP-N]Status: v0.1 draft, Round 4 exemplars pending
Always active in L1 mode. Extends Plamen's existing dependency-audit skill with Go/Rust-specific checks relevant to node clients.
go.mod — identify every require linegovulncheck ./... (ships with Go 1.18+)replace directives in go.mod can redirect a dep to a fork or local pathreplace is a trust statement: the audit must identify what's being replaced with what, and whether the replacement is authenticreplace pointing to the parent client (e.g., replace github.com/ethereum/go-ethereum => github.com/ethereum-optimism/op-geth v1.x.y)replace with an explicit note in the findingTag: [GO-REPLACE:{original}:{replacement}:{trust-note}]
vendor/, check if vendored code matches upstream. Modified vendored deps are a red flag.go mod verify if possible to check checksumsTag: [GO-VENDOR-DIFF:{module}]
// indirect line, ask: is the intermediate dep actually used?cargo audit (requires the cargo-audit tool; install with cargo install cargo-audit)Cargo.lock against the RustSec advisory database (https://rustsec.org/)cargo deny for richer policy (denylist, license, trust)[patch.crates-io] and [patch."https://..."] blocks in Cargo.toml and workspace rootreplace: patches redirect depsTag: [RS-PATCH:{original}:{replacement}:{trust-note}]
{ git = "https://..." } in Cargo.toml bypasses crates.io reviewrev = "...") not branch; branches moveTag: [RS-GIT-DEP:{crate}:{rev-pinned}]
workspace.members lists cratescargo audit at the workspace root, not per-cratePatterns that warrant deeper review across both ecosystems:
tokio-util vs tokio-utils)1.0.0 published 2 weeks ago is suspiciousevent-stream / ua-parser-js / xz-utils class of eventsTag: [SUPPLY-CHAIN:{dep}:{concern}]
These deps are security-critical for L1 clients and deserve extra scrutiny:
github.com/ethereum/go-ethereum (if fork)github.com/cosmos/cosmos-sdkgithub.com/cometbft/cometbftgithub.com/libp2p/*github.com/holiman/uint256github.com/syndtr/goleveldbgolang.org/x/crypto, github.com/consensys/gnark-cryptoreth-* crates (if fork)alloy-* (Ethereum types)revm (EVM impl)libp2pblst / bls12_381secp256k1tokio (async runtime)rocksdb (storage)arkworks-* (crypto)For each of these in the target, report: version, whether it's current, any recent advisories.
1.2.3) vs ranges (^1.2, ~1.2): ranges allow drift on rebuildCargo.lock in version control: required for reproducibility (applications always commit; libraries traditionally don't)go.sum in version control: required for reproducibilityTag: [VERSION-DRIFT:{dep}:{pin-status}]
[TOOL-PASS] (govulncheck / cargo-audit output) > [CODE-TRACE]BNB Chain bridge $100M+ loss (October 2022) — root cause: unmaintained IAVL Merkle proof library consumed by the BNB bridge. Dragonberry-class verification flaw in the shared library. Single unmaintained dependency, catastrophic impact. Halborn writeup. Skill catch point: Section 3 — unmaintained cryptographic library flag. Last commit >2 years ago on a security-critical dep = automatic finding.
Moonbeam / Astar / Acala shared paritytech/frontier bug (~$200M at risk, 2022-2023) — single shared dependency blew up across 3 projects. The Immunefi $1M bugfix review covers the initial Moonbeam discovery; Zellic re-discovered the same class in Astar 18 months later after the library was patched. Immunefi Moonbeam/Astar/Acala review; Zellic Astar. Skill catch point: Section 4 — produce a reverse-dependency graph of the core crypto/VM libraries. Any library that, if compromised, would affect ≥2 L1/L2 networks is a critical-review target.
Avalanche RFC6979 Decred library reuse (disputed, 2022) — ava-labs/avalanchego used a Decred library for deterministic signing; cross-project library reuse where an upstream bug can leak into downstream consensus. coingeek report. Skill catch point: Section 4 — every upstream Go module with network/crypto/consensus relevance needs CVE-history and maintainer-response-time check.
go.mod and go.sum manuallyCargo.toml and Cargo.lock manuallygh api to check GitHub security advisories for each repodependency-audit skilldevelopment
Prepare Solidity projects for a security audit — test coverage, test quality, NatSpec docs, code hygiene, dependency health, best-practice enforcement, deployment readiness, and project documentation checks. Generates a scored Audit Readiness Report and optionally runs static analysis. Trigger on: "prepare for audit", "audit readiness", "pre-audit check", "audit prep", "NatSpec check", or any request to review a Solidity codebase before a security review.
development
Launch the Plamen deterministic Web3 security audit pipeline
development
Run the Plamen smart-contract audit wizard in Codex
testing
Launch the Plamen deterministic L1 infrastructure audit pipeline