Rug Pulls: When a Vetted Skill Turns Malicious Later

Guide · skillsmith.ch

You scanned a skill, it came back clean, you installed it. Three weeks later it exfiltrates credentials. Nothing about your review was wrong — the skill simply changed after you looked at it. That is a rug pull, and it is the most underrated attack against agent ecosystems.

Why vetting once is not enough

What a defense looks like

  1. Pin, don't float: reference the exact commit hash, not a branch. A branch pointer follows every change; a hash cannot lie.
  2. Baseline the content you vetted: record the SHA-256 of the exact text you approved. This is what skillsmith's watch does: POST /api/watch {url} stores the baseline hash of a GitHub-hosted skill.
  3. Re-check on your schedule: a watch check re-fetches the URL and compares hashes — unchanged / changed / unreachable. With an optional Discord or Slack webhook you get pushed an alert automatically, no manual polling.
  4. Treat "changed" as hostile until proven otherwise: a changed hash means everything you read during review is void. Re-run the full checklist, not just a diff skim — and consider that the change may be timed for a moment you are distracted.

Detection limits, honestly stated

The full loop

Scan (skillsmith.ch) → behavioral sandbox (analysis) → watch with webhook → alert on change → re-audit. Related reading: anatomy of a malicious skill, threat modeling.