We reviewed 289 popular agent skills. 72 ask for broad access.
Key findings
- 72 of 289 (25%) ask for broad access: they pre-approve shell commands, load instructions from a server at run time, upload your data by default, use your browser session or push code without asking.
- Only 39 (14%) came out with no issues. Most skills (62%) do something worth knowing before you install them, usually calling an outside CLI, the network or a package manager.
- Skills that ship scripts are 1.9× as likely to need broad access: 40% of repositories with scripts versus 21% of instruction-only ones.
- Popular is not safer. Among the 50 most installed skills, 20% ask for broad access, against 26% for the rest.
- A raw pattern scanner said "do not install" for 68% of the skills. Reading the files, we put 25% in the broad-access group, and 5 of the scanner's "do not install" cases turned out clean.
- 22 of 201 repositories (11%) changed their skill files within days of our review. A review is a snapshot; pin the version you checked.
Are Claude skills safe?
Mostly yes, if you read what you install. A Claude skill is a folder with a SKILL.md file and, often, scripts and reference documents. The agent follows those instructions with your permissions, so a skill can run shell commands, call APIs with your keys and edit files outside the project. None of the skills we kept in the catalog looked malicious; we left 5 repositories out of it after review, for reasons from offensive-security tooling to anti-bot evasion. But a quarter of the skills people actually install reach further than their description suggests, and in 13% of the skills we recommend, broad access is part of how they work. Safe use comes down to knowing which group a skill is in before you give it your shell.
The threat model: what a skill can do
Agent skills sit between the model and your machine, so their attack surface is everything the agent can touch. The risks that security researchers describe, and that we counted, fall into five groups:
- Prompt injection. Text in a
SKILL.md, a reference file or content fetched at run time steers the agent. Prompt injection attacks are easiest when a skill loads instructions from a server; 24 skills in our sample do that. - Data exfiltration and credential exfiltration. A skill can read environment variables and API keys and send them somewhere. We recorded 12 skills that upload your data by default and 4 that send keys or tokens to a third-party service.
- Remote code execution through installers.
curl … | shand unpinned packages download and execute code you never read (44 and 110 skills respectively), which is how a skill could execute arbitrary code after an upstream change. - Supply chain attacks. Malicious skills published to open registries, look-alike names and compromised maintainers. This is the software supply chain problem the agent skills ecosystem inherited from npm and PyPI; Snyk confirmed 76 malicious payloads in one marketplace scan.
- Over-privileged execution. Pre-approved shell commands, hooks and disabled permission prompts turn one approval into standing access (36 skills pre-approve shell commands).
Skills are not the same layer as the Model Context Protocol. An MCP server exposes tools; a skill changes what the agent decides to do with them, which is why OWASP treats skill security as its own list rather than part of MCP or large language models in general.
How we reviewed the skills
The sample is the agent skills people use most, not a random draw from a marketplace: 201 repositories and 88 individual skills picked by installs on skills.sh, GitHub stars and search demand, with archived repositories and ones with inflated install counts left out. That makes this a study of the skills ecosystem as developers meet it, which is different from the marketplace-wide scans listed in the comparison below.
For every page we downloaded the skill folders, the plugin manifest and the hooks, read the source code of every script we had, and recorded facts, not impressions. Each fact names the file and line it comes from: where the skill sends data, which credentials or browser data it touches, what it pre-approves, what it installs, whether it loads instructions from a server, and what we could not read. A fixed rule then turns facts into one of three statuses:
- No issues found: we had every file in scope, read every script, and recorded nothing beyond running the skill's own local scripts.
- Check first: something worth knowing, such as network calls, an API key for the skill's own service, telemetry with an opt-out, a
curl | shinstaller, code outside the repository, or a partial review of a large pack. - Broad access: at least one of the ten broad flags listed in the chart below.
The reviews are written by AI reviewers working from the files under a fixed rubric; the status is computed by code from the recorded facts, so the same facts always give the same status. Every skill was also scanned with NVIDIA SkillSpector in static mode, and its hits were used as leads rather than verdicts. The full rules are on the methodology page and the security page.
Limitations. 47 of 289 reviews (16%) cover every file; the rest are partial, mostly because a repository is too large to download in full or because the skill depends on a package or CLI outside it. Each review page says what was not covered. Static review does not observe a skill running, so behaviour that only appears at run time can be missed.
What the 289 skills reach on your machine
The biggest group is not dangerous, just connected. 74% of the skills rely on an outside CLI or package we could not review, 64% make network requests, and 49% install packages. 66% of the skills can send something off your machine in some form, from an API call with your key to telemetry.
Inside the broad-access group the picture is narrower. Pre-approved shell commands lead: the skill's frontmatter or settings let the agent run broad commands without asking each time. Next come skills that load instructions from a server at run time, so what the agent does can change after you install it. Fewer skills upload data by default, turn off permission prompts, use the browser session or push to git on their own.
Skills with scripts carry more risk
Of 124 repositories that ship executable scripts, 49 (40%) need broad access. Of 77 instruction-only repositories, 16 (21%) do. That is a 1.9× difference, close to the 2.12× odds ratio that Liu et al. found across 31,132 marketplace skills. Instruction-only skills are not risk-free: a SKILL.md can still tell the agent to download and execute code or to fetch remote instructions. But scripts are where code execution, credential handling and installers live, so they deserve the first look.
Popular skills are not safer
Install counts measure attention, not safety. The 50 most installed skills in the sample (median 1,216,385 installs) ask for broad access in 20% of cases, close to the 26% of the rest, and 26% of them have no issues. Large vendor packs often depend on their own CLIs and cloud APIs, which is reasonable, but it means "everyone uses it" tells you nothing about what it does on your machine.
Mapped to the OWASP Agentic Skills Top 10
The OWASP Agentic Skills Top 10 (AST10, version 1.0-2026) is the first comprehensive security framework written for agent skills. Our recorded facts map onto five of its risks:
| OWASP risk | What we counted | Skills |
|---|---|---|
| AST02 Supply Chain Compromise | curl | sh installers, unpinned remote code, installed packages, outside CLIs, binaries, obfuscation | 233 · 81% |
| AST03 Over-Privileged Skills | pre-approved shell, keys sent to third parties, browser session, git pushes, disabled prompts, hooks, edits outside the project | 106 · 37% |
| AST05 Untrusted External Instructions | instructions loaded from a server at run time | 24 · 8% |
| AST07 Update Drift | repositories whose skill files changed after our review | 22 · 11% |
| AST08 Poor Scanning | raw scanner "do not install" verdicts that file review did not confirm as broad access | 131 of 195 |
AST02 is near-universal because skills are glue: they wrap CLIs, SDKs and package managers. That is a supply chain question more than a malware question. Pin versions and know which packages a skill pulls in. AST03 is the one to act on, because over-privileged skills turn a single approval into standing permission.
Real examples from the files
These are the most installed skills in the broad-access group, with the file and line behind the finding. In each case the behaviour is documented and part of what the skill does; it is a design choice you should know about, not malware.
- HyperFrames · 15,667,343 installs Uploads your data by default
skills/hyperframes-cli/references/feedback.md:3 - Azure Skills Plugin · 14,328,417 installs Pre-approves broad shell commands
.github/plugins/azure-skills/skills/microsoft-foundry/project/create/create-foundry-project.md:7 - Caveman · 4,383,323 installs Sends your keys or tokens to a third-party service
skills/caveman-setup/SKILL.md:70 - Vercel Agent Skills · 3,041,096 installs Loads instructions from a server at run time
skills/web-design-guidelines/SKILL.md:26 - Impeccable · 1,470,412 installs Loads instructions from a server at run time
.claude/skills/impeccable/reference/new-work.md:52 - hyperframes-cli · 1,306,005 installs Uploads your data by default
skills/hyperframes-cli/references/feedback.md:3
Why a scanner verdict is not enough
SkillSpector's own recommendation was "do not install" for 195 of 288 skills (68%). Pattern matching flags any skill whose instructions mention git push, rm -rf or an environment variable, including skills that tell the agent not to do those things. When we read the files, 64 of those 195 ended up as broad access, 126 as check first and 5 as clean. Scanners are good at finding leads and bad at telling malicious behavior from a warning about it. Use them to decide what to read, not whether to install.
Skills change after you check them
Our monitor compares each repository's skill files with the version we reviewed every day. 22 of 201 repositories (11%) changed skill folders, plugin manifests or hooks within days of the review. Most changes are ordinary updates, but an update is exactly how a trusted skill can start doing something new, which OWASP calls update drift. Our pages say when files changed after the review, and the review is redone once the changes settle.
How this compares with other studies
| Study | Sample | Method | Headline |
|---|---|---|---|
| Snyk ToxicSkills, Feb 2026 | 3,984 skills from ClawHub and skills.sh | automated detectors | 36.8% with any issue, 13.4% critical, 76 confirmed malicious payloads |
| Liu et al., arXiv 2601.10338, Jan 2026 | 31,132 skills from two marketplaces | static analysis + LLM classification | 26.1% with at least one vulnerability, 5.2% high-severity; scripts 2.12× riskier |
| SkillCritic (this report), Oct 2026 | 289 most used skills | file review with recorded facts and a fixed rule | 25% broad access, 14% no issues; scripts 1.9× |
The headline numbers measure different things, so compare them with care. Marketplace scans count everything uploaded, including abandoned and malicious entries; we looked only at skills people install most and counted documented access rather than vulnerabilities. The shared finding is the same: executable code and remote content are where the risk is, and supply chain security matters more than hunting for malicious code in instructions.
How to check a skill before you install it
For developers and security teams alike, eight checks catch most of the security risks above:
- Read the frontmatter. Look for pre-approved tools (
allowed-toolswith broadBash), hooks and anything that changes your agent's settings. - Open the scripts folder. Note what each script runs, what it downloads and whether it sends anything over the network.
- Search for installers.
curl … | sh,npx -yand unpinnedpip installrun code you have not seen. - Find remote instructions. A skill that fetches a URL and follows what it says can change after you check it.
- Check where your keys go. An API key for the skill's own service is normal; sending keys or tokens to a third party is not.
- Pin what you reviewed to a commit or tag, and look again after updates.
- Run broad-access skills in a sandbox first: a container or a separate project without production credentials.
- Treat scanner verdicts as leads. Use our review page or the file itself to confirm.
Get the data
The full dataset has one row per reviewed skill: security status, review coverage, files in scope, recorded flags, our verdict, depth, installs, stars, the raw scanner recommendation and the date of the check. It is published under CC BY 4.0; please link to this page when you use it.
Cite as: SkillCritic, "We reviewed 289 popular agent skills. 72 ask for broad access", Oct 29, 2026, https://skillcritic.com/research/skills-security-2026/
Questions
Are Claude Code skills safe to use?
Most popular ones are, if you know what they do. 75% of the skills we reviewed stay within what they describe or need only a known dependency; 25% need broad access by design. Read the review or the files first.
Can a Claude skill steal my API keys?
A skill runs with your agent's permissions, so it can read environment variables and files the agent can read. We recorded 4 popular skills that send keys or tokens to a third-party service; more need a key for their own service, which is expected.
Do skills run code on my machine?
Many do. Skills can include scripts and can ask the agent to run commands; 52% of the skills we reviewed run their own local scripts.
Is a skill from a big vendor automatically safe?
No. Vendor packs are usually well maintained, but they often install CLIs, call cloud APIs and sometimes pre-approve shell commands. Popularity did not lower the share of broad-access skills in our data.