← All Checks high LLM03

Supply Chain Risks

AI coding agents install packages without verifying them. They autocomplete package names (sometimes getting them wrong), add unpinned dependencies, and generate curl | bash install scripts. One wrong package can compromise your entire machine.

What it catches

  • Typosquatted packages (e.g., axois instead of axios, lodashe instead of lodash)
  • curl | bash install patterns — executes remote code sight-unseen
  • Missing lockfiles (package-lock.json, yarn.lock)
  • Unpinned dependencies ("*" or "latest")
  • Known malicious packages from npm/PyPI advisory databases
  • pip install without pinned versions

Why vibe coders should care

When you ask your AI agent to “add a package for X,” it picks a name and installs it. If the name is slightly wrong (typosquatted), the fake package runs malicious code during install — it can read your .env, steal SSH keys, or install backdoors.

Real impact:

  • A typosquatted npm package once stole cryptocurrency wallets from 400+ developers
  • event-stream was a popular package that got compromised — 3M weekly downloads, injected crypto-stealing code
  • Unpinned dependencies mean a compromised version auto-installs on your next npm install

Example

{
  "dependencies": {
    "axois": "^1.0.0",     // ❌ Typosquatted — should be "axios"
    "lodash": "*",          // ❌ Unpinned — any version, including compromised ones
    "express": "^4.18.2"   // ✅ Pinned to a specific range
  }
}
# ❌ VibSec flags this — AI agents love this pattern
curl -fsSL https://some-tool.dev/install.sh | bash

# ✅ Download first, inspect, then run
curl -fsSL https://some-tool.dev/install.sh -o install.sh
cat install.sh  # read it first!
bash install.sh

How to fix

  1. Verify package names against the official registry (npmjs.com, pypi.org)
  2. Pin all dependency versions in your lockfile
  3. Never pipe remote scripts directly to bash — download and inspect first
  4. Run vibsec scan --fix to get all findings in a format your AI agent can fix

Related checks: Hardcoded Secrets · Unsafe Code Patterns · All Checks

Feedback