$npx skillfedfor your agent

Skill security 42 papers

a skillfed research direction · page 2 of 3

Attacks on and defenses for skill files — malicious skills, injection, supply chains.

Every note, newest paper first

A skill compiler lifts Claude Code pass rates from 21% to 33% — and catches a missing safety guard in 95% of real-world skills
Ouyang et al. · Jul 2026 · arXiv 2605.03353

SkCC treats SKILL.md as source code, not the final artifact. A syntax parser lowers the raw markdown into a typed abstract syntax tree; an IR builder then normalizes that tree into SkIR, a strongly-typed intermediate representation capturing a skill's procedures, permissions, input/output schemas, constraints, and MCP dependencies independent of any target framework. Before anything gets emitted, a static Security Optimizer runs four passes over the IR — structural validation, permission auditing, pattern-based injection of missing safety constraints like timeouts, loop bounds, and destructive-operation guards, and risk-tier classification. From there, four emitters render the same hardened IR differently per framework: Claude gets XML-tagged sections, Gemini switches to YAML once nesting passes a depth threshold, Kimi keeps full markdown, Codex gets XML-tagged markdown to dodge JSON's token overhead. Parsing and static analysis run once per skill no matter how many targets follow, which is why adaptation cost moves from O(m×n) — m skills times n frameworks, each pair hand-rewritten — to O(m+n).

claims checked against the paper
21.1% → 33.3%Claude Code pass rate,…
More Than Half of 13,728 Real-World Skills Hide a Critical Risk in Plain Prose
Wen, Li, Liu, Shou, Chen, Tian & Feng · Jul 2026 · arXiv 2605.00314

Every agent skill is two artifacts stapled together: a structured half that declares callable actions, and a prose half that tells the agent when to fire them — prose that gets reinterpreted fresh, probabilistically, on every invocation. Static analyzers parse the structured half and ignore the prose; LLM-based auditors read the prose but can't reproducibly prove a tainted input reaches a dangerous sink. Semia lifts each skill into the Skill Description Language (SDL) — a Datalog fact base capturing triggers, data flow, authorization gates, and documented claims. It generates that fact base through Constraint-Guided Representation Synthesis (CGRS), a propose-validate-verbalize loop that keeps refining a candidate until it's both structurally sound and faithful to the source text. Once the facts exist, checks for indirect prompt injection , secret leakage, or a confused deputy become plain Datalog reachability queries.

claims checked against the paper
13,728Real-world skills audited
SKILL.md alone catches 0% of malicious skills; the full package recovers 67%
Lv et al. · Jul 2026 · arXiv 2604.25109

Agent Skills bundle a SKILL.md manifest with scripts, reference documents, and repository context, so auditing one before it loads means reviewing several files as a unit rather than screening a single prompt. Sorting a package into benign, suspicious, or malicious takes four stages: pull role-weighted evidence out of every file, route only the uncertain cases to a semantic verifier, arbitrate between competing attack-chain readings — a hidden override, a disguised data transfer, a remote bootstrap dependency — then check the verdict against the package's semantics-preserving rewrites , escalating to "malicious" only once every rewrite agrees. That pipeline is SkillGuard-Robust, tested on SkillGuardBench plus two public-ecosystem extensions, across five evaluation views spanning 254 to 404 packages each.

claims checked against the paper
0%SKILL.md-only malicious…
Wrapping a harmful request inside a skill file nearly triples model harm scores, from 0.27 to 0.76
Jiang et al. · Jul 2026 · arXiv 2604.15415

HarmfulSkillBench starts as a sweep, not a benchmark: every one of the 98,440 skills published on ClawHub and Skills.Rest gets scored against a purpose-built harmful skill taxonomy -- cyber attacks, fraud and scams, privacy violation, sexual content generation, and more -- split into a Tier 1 prohibited-use band and a lighter Tier 2 high-risk band. The scorer is LLM-driven, tuned against 500 hand-labeled samples to an F1 of 0.82. Whatever clears the threshold feeds the benchmark itself: 200 harmful skills across 20 categories, drawn from both registries plus original entries, each pushed through four evaluation conditions that isolate one variable at a time -- a bare harmful request with no skill present, the same request delivered through a pre-installed skill, and skill-delivered variants where the harmful intent is stated outright or left implicit in the skill's own instructions.

claims checked against the paper
8.84% vs. 3.49%Harmful-skill rate: ClawHub…
Malicious-Skill Detection Hits 0.920 F1 at $0.006 per Skill
Hou & Yang · Jul 2026 · arXiv 2604.06550

A regex scanner can read a skill's code but not the English prose in its SKILL.md — exactly where prompt injection and social-engineering instructions like to hide. Formal static analyzers read code more rigorously and still can't parse prose. SkillSieve's answer isn't a smarter single scanner; it's three escalating layers, each one filtering for the next. Layer 1 is a zero-cost static analysis pass — regex, AST parsing, metadata heuristics — that clears roughly 86% of skills in under 40ms apiece. What's left goes to Layer 2, an LLM that splits judgment into four parallel sub-checks (intent alignment, permission justification, covert-behavior detection, cross-file consistency) rather than one monolithic prompt. Skills that still look risky hit Layer 3: a multi-model jury — GLM-5.1, Qwen3-235B, DeepSeek-V3.1 — that votes independently and only debates when the votes split. The full pipeline ran end to end on a single $440 ARM single-board computer against 49,592 real skills pulled from OpenClaw's ClawHub registry (a 2026-04-04 snapshot spanning 16,797 authors), plus adversarial samples built around five evasion techniques.

claims checked against the paper
13–26%Vulnerability rate across…
1,184 skills fell in one campaign — because Agent Skills has no line between data and instructions
Li et al. · Jul 2026 · arXiv 2604.02837

Agent Skills — the filesystem-based packaging format that lets agents load domain-specific instructions and bundled scripts on demand — has never had a systematic security audit until now. This one splits a skill's life into four phases: Creation, Distribution, Deployment, Execution. Each opens a different door: authors get unrestricted control over SKILL.md and its scripts, marketplaces distribute without review, and the access a user actually grants at install time runs broader than what they think they're agreeing to. From that lifecycle view comes a threat taxonomy of seven categories and seventeen concrete attack scenarios, grouped into three layers: delivery and trust establishment, runtime attack, and persistent/lateral impact.

claims checked against the paper
5Confirmed incidents…
A skill's own examples smuggle malicious code past agent defenses up to 33.5% of the time
Qu et al. · Jul 2026 · arXiv 2604.03081

Coding agents install third-party agent skills from open marketplaces with no mandatory security review, and because those skills run as operational directives with system-level privileges — file writes, shell commands, network calls — a single bad one can compromise the host outright. Document-Driven Implicit Payload Execution ( DDIPE ) is a supply-chain attack that skips the obvious move of writing malicious instructions into a skill's prompt text, and instead embeds the payload inside the skill's code examples and configuration templates — the parts of a skill an agent reuses verbatim while doing normal work, so the attack fires without ever being explicitly asked for. An LLM-driven generation pipeline scaled this from 81 hand-built seed skills to 1,070 adversarial variants spanning 15 MITRE ATT&CK categories, roughly a 13x expansion, then ran them against four production coding-agent frameworks — Claude Code, OpenHands, Codex, and Gemini CLI — across five underlying models.

claims checked against the paper
11.6%–33.5%DDIPE bypass rate range
Debug Logging Alone Causes 73.5% of Agent-Skill Credential Leaks
Chen, Zhang, Liu et al. · Jul 2026 · arXiv 2604.03070

Researchers built the first large-scale audit of credential leakage across a live agent-skill marketplace. Starting from 170,226 artifacts on SkillsMP, they drew a stratified random sample of 17,022 skills and ran each through a three-stage pipeline: static secret extraction using regex and AST parsing , dynamic sandbox testing seeded with mock credentials, and a cross-reference step that checks whether a skill's stated natural-language purpose matches what its code actually does at runtime. That last step is the paper's structural bet: credential handling in an agent skill isn't just a code-review problem, because the thing an LLM trusts (the description) and the thing that executes (the code) can diverge, and neither view alone catches the gap.

claims checked against the paper
20,000 listed skills, 5,642 distinct: clone detection finds the catalog is 3.5x inflated
Zhu, Zhang, Guo & Liu · Jul 2026 · arXiv 2603.22447

SkillClone doesn't read a SKILL.md file as one flat document. It splits each into three channels — YAML frontmatter, natural-language instructions, and embedded code — and embeds each one separately with TF-IDF plus latent semantic analysis. The pairwise channel similarities then feed a logistic regression, alongside a whole-document TF-IDF score and a document-shape feature. The real trick is a set of quadratic cross-channel interaction terms. Take a pair with near-identical YAML, moderately similar instructions, and zero code overlap — because the code got refactored into separate sub-files. That pair still scores as a strong clone detection hit instead of getting diluted by the empty channel. A four-branch decision tree then sorts each detected pair into a classical clone type, with the sharpest focus on Type-4 semantic clones : same functional intent, different words, different code. Validation runs on SkillClone-Bench, a 300-pair benchmark built without manual labeling — half the positive pairs from verified GitHub fork lineages, half from seven controlled mutation operators, and a negative set deliberately stacked with same-category pairs that share vocabulary without being clones.

claims checked against the paper
0.939 vs 0.881Detection F1 (SkillClone…
90% of a Skill Marketplace's Most-Downloaded Skills Fail a Rigorous Security Audit
Guo et al. · Jul 2026 · arXiv 2603.21019

SkillProbe is a three-stage, multi-agent auditing pipeline built for agent skill marketplaces like ClawHub. First, a Gatekeeper stage filters for compliance violations and known-malicious patterns. Then an Alignment Detector checks semantic-behavioral alignment — whether a skill's declared behavior actually matches what its code does — sorting each skill into a four-way match / over-declaration / under-declaration / mixed classification. The final stage, a Flow Simulator, models combinatorial risk : individually benign skills chaining into dangerous behavior once an agent invokes several together. Brute-forcing every possible combination would mean an O(2^N) search, so the simulator instead matches against a fixed rule set, keeping cost linear in catalog size — O(N × number of rules). The whole pipeline is itself packaged as skills that drive specialized auditing agents, a design the authors call " Skills-for-Skills ." The team ran it across 2,500 real skills pulled from ClawHub, then separately re-audited the top 20 most-downloaded skills with 8 different LLM series to see how verdicts shift depending on which model is doing the judging.

claims checked against the paper
2,500Skills audited (ClawHub…
Checking the repo, not just the SKILL.md, cuts flagged 'malicious' skills from 46.8% to 0.52%
Holzbauer et al. · Jul 2026 · arXiv 2603.16572

Researchers crawled 238,180 unique agent skills from ClawHub, Skills.sh, SkillDirectory, and GitHub — the largest cross-platform census of the skill ecosystem so far. Every skill passed through three lenses: each marketplace's own scanner, an independent Cisco skill scanner, and the authors' own LLM-based classifier. For skills flagged high-risk by both an external scanner and their model, the team went a step further and checked the skill against the GitHub repository it actually ships from — README, code, commit history — rather than judging the SKILL.md file in isolation.

claims checked against the paper
238,180Unique skills analyzed…
GitHub-mined skills teach 40% better, but 26% ship vulnerabilities
Bi, Wu, Hao et al. · Jul 2026 · arXiv 2603.11808

The pipeline mines open-source agentic repositories in three stages: structural analysis of a repo's layout, dense retrieval to find reusable procedural capabilities buried in the code, and translation of what it finds into the standardized SKILL.md format . Run against two Manim-based educational video generators — TheoremExplainAgent's planner-coder pair and Code2Video's three-agent planner-coder-critic setup — it produces two working skills: a theorem-walkthrough animator and a visual-layout critic. Neither ships without clearing a four-gate check first: static code analysis, semantic prompt injection screening, sandboxed behavioral testing, and permission validation against an allowed-tools manifest.

claims checked against the paper
40%Knowledge-transfer…
A trojanized skill hit 9x token amplification — the failed run cost more than either successful one
Dong, Feng & Wang (UC Merced) · Jul 2026 · arXiv 2603.00902

Clawdrain is a trojanized OpenClaw skill that hides a multi-turn "Segmented Verification Protocol" (SVP) inside its SKILL.md instructions. Before it hands back a simple BBC-headline lookup, the skill demands a growing, comma-separated "calibration sequence" — and a companion script grades every submission PROGRESS, REPAIR, or TERMINAL. REPAIR forces a retry of the same step, so the exchange stretches into extra tool calls that get replayed back into context on every subsequent turn.

claims checked against the paper
SkillFortify doesn't just scan skills, it proves the scan -- 96.95% F1, 0% false positives
Bhardwaj · Jul 2026 · arXiv 2603.00195

SkillFortify bills itself as the first formal-methods framework for agent skill supply chains: six components, each carrying a proof instead of a heuristic. Start with the DY-Skill attacker model , a Dolev-Yao adaptation spanning the skill lifecycle -- install, load, configure, execute, persist -- proven maximal, meaning no stronger symbolic adversary needs modeling. A static analyzer built on abstract interpretation checks skill code against a capability lattice : four authority levels (none, read, write, admin) crossed with eight resource types -- filesystem, network, environment, shell, skill-invoke, clipboard, browser, database. Its soundness proof means a clean report isn't a best guess; it's a bound on what the code can actually do at runtime. Capability-based sandboxing, formalized as an object-capability model , comes with its own proof that it blocks 'authority amplification' -- a child skill inheriting permissions its parent never had. A dependency graph resolves through SAT solving into a deterministic lockfile, and a trust score algebra propagates trust multiplicatively down dependency chains, decaying it for skills that go unmaintained, with a proven monotonicity property. All six run against SkillFortifyBench, a 540-skill benchmark -- 270 malicious, 270 benign -- assembled from real attack campaigns.

claims checked against the paper
1,200+Malicious skills…
Curated Skills Lift Success Rates 16.2 Points — Self-Generated Ones Cost You 1.3
Jiang et al. · Jul 2026 · arXiv 2602.20867

An agentic skill, formalized here as a four-part contract S = (C, π, T, R), needs all four pieces to count: an applicability condition that decides when it fires, an executable policy, a termination condition, and a callable interface. That's what separates a skill from a raw tool call (no reuse contract), a one-off plan (no persistence), or stored memory (no execution policy) — three things builders already reach for and easily mistake for skills. The definition anchors a lifecycle — discovery, practice, distillation, storage, composition, evaluation, update — plus two taxonomies for what's already shipping. Seven system-level design patterns cover how skills get packaged and run, from metadata-first progressive disclosure and executable code skills through workflow-enforcing gates, self-evolving skill libraries , hybrid natural-language-plus-code macros, meta-skills, and marketplace-distributed plugins. A second, orthogonal grid crosses representation (natural language, code, policy, hybrid) against operating scope (web, OS, software engineering, robotics).

claims checked against the paper
~1,200 skillsMalicious skills in…
Frontier Agents Cave to Poisoned Skill Files Up to 80% of the Time
Schmotz, Beurer-Kellner, Abdelnabi & Andriushchenko · Jul 2026 · arXiv 2602.20156

Researchers built SkillInject, a benchmark of 202 injection-task pairs that measures skill-based prompt injection — adversarial instructions planted inside agent skills , the third-party extensions that hand an LLM agent new tools, knowledge, and code paths. The attacks run the full spectrum, from blatantly malicious injected commands to subtle instructions folded into otherwise legitimate skill content, built to blend in rather than stand out. Each test pairs an injection with a genuine task and scores the agent on two axes at once: whether it dodges the harmful instruction, and whether it still finishes the legitimate one.

claims checked against the paper
202injection-task pairs in the…
Automated SKILL.md rewrites push poisoned-skill attacks from 0% success to 80.7%
Jia et al. · Jul 2026 · arXiv 2602.14211

SkillJect is an automated framework for manufacturing poisoned agent skills, and it works two channels at once instead of leaning on a single hand-crafted trick. The artifact channel buries the actual malicious payload inside an auxiliary helper script bundled alongside the skill. The instruction channel rewrites SKILL.md around it, using a front-loaded inducement strategy : right at the top of the file, the helper script gets framed as a mandatory setup step, complete with a plausible file path and an executable example command, rather than as an optional or suspicious add-on. Tuning that framing is a closed-loop multi-agent process — a Victim Agent runs the skill on a real task, an Evaluate Agent reads the execution trace to judge whether the payload fired, was ignored, refused, or half-triggered, and an Attack Agent rewrites the instruction text, never the payload itself, for another pass.

claims checked against the paper
80.7% vs. 0%Avg. ASR, SkillJect vs.…
26.1% of Community Skills Ship With a Vulnerability
Xu & Yan · Jul 2026 · arXiv 2602.12430

A skill loads in three strict stages, and that staging is the whole point. A SKILL.md file's YAML frontmatter — name and description, a few dozen tokens — sits in the system prompt from startup. The full instruction body loads only once a task actually triggers the skill, and bundled scripts or reference docs load only when those instructions call for them. This progressive disclosure pattern is why an agent can hold a library of thousands of skills without paying a context-window tax for the ones it never uses — and it's the real difference between a skill and an ordinary tool call. A tool executes and returns a result; a skill rewrites what the agent knows and is allowed to do before it responds at all. The survey frames skills and MCP as two halves of one stack, skills carrying procedural know-how and MCP carrying connectivity to external systems, then works through how skills actually get built. Some are hand-authored SKILL.md files. Others grow inside a reusable library through reinforcement learning during training rollouts, or get discovered on the fly by agents exploring software nobody wrote instructions for.

claims checked against the paper
26.1%Community skills with ≥ 1…
2 of 2 LLMs Fell for a Single Invisible HTML Comment
Wang, Ma, Xu & Zhang · Jul 2026 · arXiv 2602.10498

Agent Skills — the Markdown files that tell an LLM agent which tools exist and how to use them — get rendered to HTML for human review. The model itself usually reads the raw Markdown instead, verbatim. Researchers at Shandong University built an attack around that gap: a hidden-comment prompt injection , a single HTML comment carrying high-priority instructions, appended to an otherwise clean, benign Skill. HTML comments disappear in rendered output — a human reviewer sees nothing unusual, but the model still gets the hidden text as context. They tested it with a plain developer request, 'format my code,' against two open models, DeepSeek-V3.2 and GLM-4.5-Air, comparing the clean Skill, the poisoned Skill, and the poisoned Skill paired with a short defensive system prompt.

claims checked against the paper
2 of 2LLMs where the hidden…
84% of Malicious Agent-Skill Exploits Hide in the Docs, Not the Code
Liu, Chen, Zhang, Deng, Li, Ning & Zhang · Jul 2026 · arXiv 2602.06547

Researchers ran 98,380 agent skills pulled from two community registries, skills.rest and skillsmp.com, through a four-stage detection funnel: static pattern matching against 14 rules tied to a six-phase kill chain , dynamic behavioral verification inside sandboxed containers, then manual dual-rater review (Cohen's κ=0.89) and vulnerability labeling. Static matching alone flagged 4,287 candidates. The full pipeline confirmed 157 as malicious — 632 distinct vulnerabilities spread across 13 attack techniques — with the dynamic-verification stage alone hitting 99.6% precision, a 90x jump over pattern matching by itself.

claims checked against the paper
157/157 (100%)Skills removed after…

Other directions

Skill evolution · 88 Skill retrieval · 30 Agentic benchmarks · 26 Frontier & other · 5 The field map →