Back to skill

Security audit

Dependency Health Check

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent dependency-audit checklist, but it tells agents to download/install and run unpinned third-party audit tools during use.

Install only if you are comfortable with agents running package-manager audit commands in your projects. Prefer using pinned, preinstalled audit tools in a disposable virtual environment or container, and require approval before any `npx`, `pip install`, or automatic fix command changes your environment or dependencies.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Error
Location
SKILL.md:81
Finding

Unpinned Third-Party Packages Are Downloaded and Executed

Content
View full analysis
/dev/null | jq '{unused: .dependencies, devUnused: .devDependencies, missing: .missing}' # SKILL.md:87-88 pip install pipreqs 2>/dev/null pipreqs . --print 2>/dev/null > /tmp/actual-imports.txt # SKILL.md:103 npx license-checker --json 2>/dev/null | jq 'to_entries[] | {pkg: .key, license: .value.licenses}' | head -40 ``` ### Technical Analysis The Skill instructs the agent to download, install, and execute third-party packages without pinning reviewed versions, validating integrity hashes, using a project lockfile, or obtaining explicit approval. By default, `npx depcheck` and `npx license-checker` may retrieve the current package version and immediately execute its command. Similarly, `pip install pipreqs` resolves mutable package versions and may execute package build or installation hooks before the subsequently installed `pipreqs` command is run. Consequently, the effective code executed by this Skill can change after the Skill itself has been reviewed. Exploitation would require compromise of a referenced package, one of its transitive dependencies, or the relevant package-distribution channel. There is no evidence in the audited file that these packages are currently malicious; the vulnerability is the unsafe, unpinned execution model. ### Attack Path 1. An attacker compromises a referenced npm or Python package, a transitive dependency, a maintainer account, or the associated distribution channel. 2. The attacker publishes a malicious version that is eligible for default package-manager resolution. 3. An agent follows the dependency-audit workflow in `SKILL.md`. 4. `npx` downloads and immediately executes the malicious npm package, or `pip install` installs a malicious Python distribution and executes applicable bu ...[truncated 1068 chars]
Remediation
View remediation
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Using npx depcheck without a pinned version allows retrieval and execution of whatever package version is current at runtime, creating a supply-chain execution path during a security audit. In this skill context, the command is especially risky because users may run it against sensitive repositories on trusted developer machines, so a compromised or typosquatted package could execute arbitrary code.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs pip install pipreqs during what is described as an audit workflow, introducing an environment-modifying network install step into an ostensibly read-only task. This is dangerous because it expands the trust boundary, can alter the analyst's Python environment, and creates a package supply-chain risk if the dependency or its transitive packages are compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Using npx license-checker without version pinning has the same supply-chain risk: it downloads and executes an unpinned package at audit time. Because this skill is meant for dependency inspection, users may treat it as safe/read-only, which lowers operator suspicion and increases the chance of arbitrary code execution via a compromised upstream package.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description limits the supported ecosystems to npm, pip, cargo, go, and composer. In Step 1, the skill additionally detects Gemfile and Gemfile.lock, implying Ruby ecosystem support beyond the declared scope.

Content

No source excerpt is available for this finding.