T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unverified Repository and Dependency Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14-20
Vulnerability Type: Unverified external repository and unsafe dependency installation
Risk Level: HighVulnerable Code
markdown 2. Clone repository: - `git clone <TEAM_PILOT_REPO_URL> team-pilot` - `cd team-pilot` 3. Install dependencies: - `npm install` 4. Start service: - `npm run up`Technical Analysis
The Skill directs the user to clone a repository from an unconstrained placeholder URL and immediately run repository-controlled npm commands. It does not identify a trusted repository host, pin an immutable commit, require signature or checksum verification, or instruct the user to inspect the repository before execution.
Running
npm installmay execute npm lifecycle scripts defined by the cloned repository or its dependencies, includingpreinstall,install, andpostinstall. Runningnpm run upsubsequently executes a command defined by the repository'spackage.json. A malicious repository or compromised dependency can therefore cause arbitrary code to run with the invoking user's privileges.This is a supply-chain risk rather than evidence that the Skill itself contains an embedded malicious payload. The audited package contains only
SKILL.md; no local scripts or concrete malicious dependencies were present for further verification.Attack Path
- An attacker supplies, substitutes, or compromises the repository referenced by
<TEAM_PILOT_REPO_URL>. - The user follows the Skill and clones the attacker-controlled repository.
- The user runs
npm install. - A malicious package or repository-defined lifecycle script executes arbitrary commands.
- The user runs
npm run up, providing another execution path through a repository-defined script. - The malicious code operates with the user's current OS privileges and can access resources available to that account.
Impa
...[truncated 676 chars]
- An attacker supplies, substitutes, or compromises the repository referenced by
- Remediation
View remediation
Remediation Suggestions
- Replace the repository placeholder with the official HTTPS repository URL on a trusted host.
- Pin installation instructions to a reviewed, immutable commit hash or cryptographically signed release tag.
- Require verification of release signatures or published checksums before running repository content.
- Require and review a committed npm lockfile, then use
npm cirather than an unconstrainednpm install. - Initially install with
npm ci --ignore-scriptswhere operationally feasible. - Review the root package's lifecycle and npm scripts, as well as dependency lifecycle scripts, before enabling script execution.
- Run dependency auditing and provenance checks, including
npm audit, while recognizing that automated auditing does not replace source review. - Execute the application in an isolated, least-privileged container or disposable environment without production credentials, sensitive mounts, or unnecessary network access.
- Document the expected
npm run upcommand and behavior so users can compare it against the reviewed implementation before execution.
