CLAUDE SKILLS SECURITY
Are Claude Skills Safe? The 2026 Evidence
Short answer: as safe as their least trustworthy file — which is dependency-risk, not bookmark-risk. The format is Markdown; the agent that reads it runs shell commands with your permissions. Snyk's audit of 3,984 public skills found 13.4% with critical issues and 36% carrying prompt injection. Here is what the 2026 audits actually found, the attack patterns, and the six-step checklist that separates a fine install from a bad one.
Why the question is even a question
A skill cannot execute anything by itself. It has no runtime, no process, no network stack. You could print a malicious skill on paper and it would be exactly as dangerous as the paper. The catch is what reads the text: an agent that can run shell commands, edit files, and make network requests — and that follows installed instructions with high trust, because following them is the entire point of the feature.
Whatever your Claude session is allowed to do, an installed skill can direct. If your session can read
files, a skill can direct what gets read. If curl runs without a permission prompt because you
allowlisted it three weeks ago, a skill can direct where requests go. The security question was never "what
can this Markdown file do" — it is "what can my agent do, and who is steering it." That is
also why skill security and MCP security are different problems.
The installing feels like bookmarking: one command, no build output, no lockfile entry, no diff anybody reviews. What you have actually done is hand instructions to a process that edits your files and runs commands with your permissions. People treat it like a blog post; it should be treated like installing software.
What the 2026 audits found
| Audit / campaign | When | Finding |
|---|---|---|
| Snyk ToxicSkills | Feb 2026 (3,984 skills: ClawHub + skills.sh) | 13.4% critical-level issues; 36% of ClawHub skills with detectable prompt injection; 1,467 distinct malicious payloads; 91% of confirmed malware paired NL jailbreaks with shell payloads. |
| Koi Security — ClawHavoc | Jan–Feb 2026 (all 2,857 ClawHub skills) | 341 malicious entries, 335 from one coordinated campaign: typosquatting ("polymarket", "phantom" clones), cross-file logic splitting, credential exfil via webhooks. Atomic Stealer payloads hit crypto tools. |
| Antiy CERT attribution | 2026 | 1,184 malicious skills attributed across ClawHub (Trojan/OpenClaw.PolySkill); variant names remained discoverable for months after disclosure. |
| Air Security — Circus of Skills | Jun 2026 (142,836 live skills) | 17,822 skills (~12.4%, 6.7M installs) rest on at least one untrusted external resource — sketchy domains, zero-reputation repos, unpinned dependencies that can turn malicious without the skill changing. |
| Air Security — SkillJacking | Jul 2026 | 925 skills serving ~134K agents sit on instantly hijackable sources (deleted GitHub accounts, expired domains). Researchers took over the most popular video-gen skill on skills.sh (11,483 installs) by re-registering its deleted owner account — stars and trust carried over. |
| Trail of Bits | Jun 2026 | Public skill marketplaces run a "ship-first, secure-later" model — one-click install, no meaningful vetting, and the backstop scanners were all bypassed in under an hour. |
| Anthropic source leak (context) | Mar 2026 | The leaked bashSecurity.ts module contains 23 numbered security checks — each likely a real incident — including defenses against documented 50+ subcommand pipelines that bypass deny rules. |
The four attack patterns, concretely
1 · Prompt injection in the body
The most common pattern. A benign-looking skill ("format my JSON") carries hidden text — often mid-file or in HTML comments — instructing the agent to read ~/.ssh/id_rsa and post it somewhere, "ignore previous instructions," or include secrets in output that leaves the machine. A skill's instructions carry full trust: the agent treats them as yours, not as untrusted web content.
2 · Shell payloads via bundled scripts
The skill looks innocent; its example invocations chain bash: curl … | base64 -d | sh, or 50+ subcommand pipelines engineered to slip past Bash() deny rules. The Anthropic source leak confirmed this is the technique the bashSecurity module actively defends against — 23 numbered checks, each likely a real incident.
3 · Typosquatting
Identical to a popular skill except for an added payload — Bitdefender documented handle "aslaep123" mimicking legitimate user "asleep123". Koi's ClawHavoc audit found clones mimicking "polymarket" and "phantom". Homoglyph name-only attacks evade purely content-focused scanning.
4 · Hijackable & phone-home installs
Skills quietly sending file contents or env vars to attacker endpoints; installs on deleted GitHub accounts, unregistered packages, expired domains (925 skills, ~134K agents, SkillJacking); and dependency confusion where a nested requirements.txt pulls the typosquatted real payload while the surface skill looks clean.
The dull failure is the most common one: not an attack but a confidently outdated skill — written against an API that changed a year ago, supplying wrong instructions with total assurance. Budget an hour for undoing that one. It is also the reason install count is a quality signal, not just a safety one.
The 6-step pre-install checklist (≈10 minutes)
- Read SKILL.md top to bottom (3 min). Not a skim — every line, including HTML comments and anything past the fold. You are checking one thing: does every instruction serve the stated purpose? A code-style skill has no business mentioning .env, credentials, network requests, or what to omit from summaries.
- List every other file in the folder. SKILL.md is the part people read;
scripts/is the part that runs. An unlisted binary or a second-stage fetcher lives there. - Read any bundled script before running anything. A skill that pipes a remote script into bash, or fetches from a domain unrelated to its purpose, is a hard no.
- Check the allowed-tools field. Scoped forms beat blanket grants:
Bash(git status *)is a tool;Bash(*)is a weapon. Read-only skills should request Read/Grep/Glob — a "review" skill asking for Edit and Write is doing more than reviewing. - Check the trigger description. Will this activate on prompts you never intended? For destructive or costly procedures (deploys, cleanup, mass edits), require
disable-model-invocation: trueso only a deliberate /command fires it — auto-invocation plus a broad description is how a casual sentence runs a dangerous runbook. - Pin the source and test sandboxed. First-party orgs > established authors > random repos; install project-level in a throwaway repo before promoting user-level; re-check pinned owners (SkillJacking is real — deleted accounts get re-registered with the listing's stars intact).
In Claude Code specifically, three settings layers back the checklist: the workspace trust dialog gates
project skills before allowed-tools and dynamic injection take effect;
disableSkillShellExecution turns off load-time shell injection entirely; and permission rules
can deny the Skill tool wholesale or target specific skills — so an organization can allow-list exactly the
skills it has vetted. The least-privilege habit: scope everything as narrowly as the job requires.
Which registries actually scan — and which just scrape
| Registry | Safety posture | Still verify yourself? |
|---|---|---|
| anthropics/skills (first-party) | Maintained and tested by Anthropic; deliberately small; the canonical well-formed skills | Rarely needed |
| ClawHub (OpenClaw) | Security analysis checks declared requirements vs actual behavior; signed manifests, moderated releases — was still the ClawHavoc target in Jan 2026 | Yes |
| skillsdirectory.com | Publishes its security-scanning methodology; source-attributed listings over a 294K+ index | Yes |
| skills.sh (Vercel) | Leaderboard + CLI over public GitHub; install count as trust signal; no code review | Yes — always |
| SkillsMP / LobeHub / agentskill.sh | Automated scrapers with quality filters — indexing, not review | Absolutely |
| VibeFuse marketplace | Paid listings with creator identity and payouts (80% share) — economic accountability plus demonstrable widgets buyers watch run | Yes — standard audit |
The registry-by-registry comparison — scale claims, install commands, and who pays — lives in the agent skills directory guide. The honest summary: moderation quality correlates with nothing you can outsource. The top-downloaded skill on ClawHub is "Self Improving Agent" at 240K installs — a skill that rewrites its own instructions — which tells you exactly why reading before running is still the load-bearing defense.
Are Claude skills safe? — FAQ
Are Claude skills safe to install?
Mostly yes, in the same sense npm packages are mostly safe: the format is benign, the ecosystem around it is young and barely audited, and the difference between a fine install and a bad one is usually whether anyone read the file first. A SKILL.md cannot execute anything by itself — it is Markdown. The risk runs entirely through the agent that reads it: whatever your Claude session is allowed to do (read files, run shell, make network requests), an installed skill can instruct it to do. The honest framing is dependency-risk, not bookmark-risk: installing one hands a set of instructions to a process with your permissions.
What did the Snyk ToxicSkills audit find?
Snyk's February 2026 audit was the first large-scale security review of the public skills ecosystem, scanning 3,984 skills from ClawHub and skills.sh. Findings: 13.4% contained critical-level issues, 36% of ClawHub skills carried detectable prompt injection, 1,467 distinct malicious payloads were identified, and 91% of confirmed malware combined natural-language jailbreaks with executable shell payloads. The three dominant patterns: prompt injection hidden in skill descriptions, shell payloads chained through bash tools (curl | base64 -d | sh, or 50+ subcommand chains designed to slip past deny rules), and typosquatted names cloning popular skills.
What is the ClawHavoc campaign?
A coordinated supply-chain attack running January–February 2026: Koi Security's audit of all 2,857 then-listed ClawHub skills found 341 malicious entries — 335 traced to a single coordinated campaign — using typosquatting (names mimicking popular skills like "polymarket" and "phantom"), cross-file logic splitting to hide payloads, and credential exfiltration through external webhooks. The payload in the associated Atomic Stealer wave targeted crypto wallets and session tokens. Antiy CERT attributed 1,184 malicious skills to the campaign family overall, and variant package names remained discoverable for months. Independent audits put the malicious share between 13% and 26% of the registry at its worst.
How do I audit a skill before installing it?
Six steps, about ten minutes. (1) Read SKILL.md end to end — every line, including HTML comments — checking that every instruction serves the stated purpose; a code-style skill has no business mentioning .env, credentials, or network calls. (2) List every other file in the folder; SKILL.md is the part people read, scripts are the part that runs. (3) Read any bundled script before running anything. (4) Check the allowed-tools field — a reading skill requesting Bash, Edit, and Write is doing more than reading; scope beats blanket grants. (5) Check the trigger description — would it fire on prompts you don't intend? (6) Look at the source: first-party org > established author > random repo, and test project-level in a throwaway repo before promoting it user-level.
What is skill prompt injection?
A skill is prompt content — that is the whole point — and its instructions carry full trust: the agent treats them as configuration from you, not as untrusted input like a web page. Skill prompt injection hides hostile directives inside an otherwise legitimate skill body: a buried line in a long "react-conventions" skill instructing the agent to read the project .env and include its contents in a code comment, weaken a security setting, or soften what a review reports. Unlike a hostile web page the agent happens to read, this is injection you installed — and it loads whenever the description matches. Model refusals catch some of it ("frequently" is doing heavy lifting there); the first layer of defense is that the file never gets installed.
Which Claude skill marketplaces are safe?
Ranked by review rigor: the first-party anthropics/skills repo (small, maintained, tested) is the safest catalog; skills.sh (Vercel) is a leaderboard over public GitHub with install counts as trust signal but no code review; ClawHub adds vector search, signed manifests, moderated releases, and security analysis that checks declared requirements against actual behavior; skillsdirectory.com publishes its security-scanning methodology over a 294K+ index. The scraper tier (SkillsMP's 1.3M+ claim, LobeHub, agentskill.sh) is indexing, not review. No registry eliminates the read-it-yourself step — and the top ClawHub skill by downloads is "Self Improving Agent" (240K installs), a skill that rewrites its own instructions.
Can a malicious skill steal my data?
The documented patterns are: instructions to read .env files, SSH keys, or shell history and include the contents in output that leaves the machine (a commit, a PR description, a web request); bundled "setup" scripts that fetch and execute a second-stage payload the moment they run; quiet phone-homes sending file contents or environment variables to attacker endpoints; and dependency confusion where a nested requirements.txt pulls a typosquatted package carrying the real payload. Air Security's June 2026 scan of 142,836 live skills found 17,822 (~12.4%, 6.7M installs) resting on at least one untrusted external resource — an unpinned dependency that can turn malicious without the skill changing. Models often refuse obvious exfiltration, but "often" is probabilistic where your .env file is not.
How does VibeFuse handle skill safety and payment?
VibeFuse loads the portable SKILL.md standard, so the same audit discipline applies — read before you run. What it adds is an economic layer: an open-source marketplace where creators sell widgets, skills, and styling packs at an 80% revenue share via Stripe Connect with creator-set pricing. Paid distribution inside the first ever free widget-based AI harness changes the incentive math that fuels registry malware — creators have a legitimate place to earn, with buyers previewing a widget running before they pay, all with local/offline processing, working in any app.
Skills worth paying for beat skills worth scanning
VibeFuse runs the portable SKILL.md standard inside the first ever free widget-based AI harness — with an open-source marketplace where vetted creators sell widgets, skills, and styling packs at an 80% revenue share, local/offline processing, works in any app.