T08 · Insecure Dependencies
- Location
SKILL.md:107- Finding
Unpinned npx Execution Creates a Dependency Supply-Chain Risk
- Content
View full analysis
' ``` Additional occurrences: ```bash npx tsx src/index.ts ingest status --agent-id poly --status online --activity-message "Reading list delivered" ``` ```bash npx tsx src/index.ts query reading-lists --dateFrom --dateTo --agentId poly --format json ``` ```bash npx tsx src/index.ts ingest task --agentId poly --title "Daily Reading Weekly Archive" --description "Archived last week's reading lists" --status completed --category maintenance ``` ### Technical Analysis The skill repeatedly invokes `npx tsx` without requiring a locally installed, lockfile-pinned, and audited version of `tsx`. If the package is unavailable in the target project, `npx` can retrieve a package from the configured npm registry and execute it. This makes the code ultimately executed by the skill dependent on mutable external package-resolution state rather than solely on the reviewed project. Relevant threats include: - A compromised upstream package or npm account. - An unexpected or malicious package version selected because no version is pinned. - Registry or package-source substitution in the local npm configuration. - Installation-script or runtime behavior introduced by a future dependency release. The downloaded package executes with the same operating-system privileges as the agent. The skill has access to the user's Obsidian vault, OpenClaw workspaces, reading-status data, and Mission Control directory, making supply-chain compromise consequential. ### Attack Path 1. The Mission Control project does not have an audited local `tsx` binary available, or package resolution otherwise falls back to the registry. 2. The skill runs one of the ...[truncated 907 chars]- Remediation
View remediation
