Back to skill

Security audit

YouTube SkillForge

Security checks for vulnerabilities and agentic risk

Overview

The skill’s documented behavior fits its purpose, but installation depends on an unpinned external executable package that was not included for review.

Review this before installing if you rely on strong supply-chain controls. The documented runtime behavior is coherent, but installation executes code from an external npm package whose exact reviewed version is not fixed here; prefer a pinned version, provenance, or sandboxed install if available.

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

Warning
Location
SKILL.md:9
Finding
Unpinned and Unverifiable Executable npm Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 9–13 **Vulnerability Type**: Supply-chain risk from an unpinned executable dependency **Risk Level**: Medium **Complete Code Snippet**: ```yaml install: - kind: node package: youtube-skillforge bins: [skillforge] label: "Install SkillForge CLI (npm)" ``` ### Technical Analysis The installation metadata instructs the host to install the executable npm package `youtube-skillforge` without specifying an exact version or an integrity hash. Consequently, future installations may resolve to package contents that differ from those reviewed when this Skill was published. The dependency's implementation is not included in the audited project. Its source code, npm lifecycle scripts, transitive dependencies, and runtime behavior therefore could not be verified against the documentation in `SKILL.md`. In particular, claims concerning user consent, filesystem boundaries, credential handling, network behavior, and stdio-only MCP transport cannot be confirmed from the supplied artifact. This creates a supply-chain trust boundary in which the effective executable payload is controlled by the package registry release available at installation time. Exploitation would require compromise or malicious control of the package, its publisher account, registry resolution, or a transitive dependency; the audit does not establish that such compromise has occurred. ### Attack Path 1. An attacker compromises the `youtube-skillforge` publisher, package, release process, registry entry, or a dependency included in a subsequently resolved release. 2. The attacker publishes a modified package version containing a malicious npm lifecycle script or CLI implementation. 3. Because the Skill declares no exact version or integrity constraint, a host installs the attacker-controlled release. 4. A lifecycle script may execute during installation, or the malicious code executes wh ...[truncated 906 chars]
Remediation
## Remediation Suggestions 1. Pin `youtube-skillforge` to a reviewed, exact version rather than allowing unconstrained registry resolution. 2. Record and verify the package's integrity hash through a lockfile or equivalent trusted installation metadata. 3. Include the executable source code and lockfile in the reviewed project, or publish a verifiable link between the Skill version, source commit, and package artifact. 4. Audit npm lifecycle scripts and the complete transitive dependency tree before distribution. 5. Disable npm lifecycle scripts during installation where they are unnecessary, and document any scripts that are strictly required. 6. Verify and document the expected npm registry, package scope, and publisher identity to reduce dependency-confusion and account-takeover risk. 7. Execute installation and the CLI with least privilege, preferably in a sandbox that restricts filesystem, credential, and network access. 8. Use automated dependency monitoring, provenance verification, and repeatable release procedures so changes to the installed payload require renewed review.
Vulnerability Patterns
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Session Persistence

Medium
Category
Rogue Agent
Content
- `proposals/` — Saved scan proposals for deferred builds
- `skills.db` — SQLite full-text search index used by the MCP server and `recall` command

SkillForge does not write outside `~/.skillforge/` unless the user provides an explicit `--output` path.

## MCP Server Behavior
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Static analysis

No suspicious patterns detected.