Borrowing it
Nothing to install: this file belongs to thejefflarson/soundcheck. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/thejefflarson/soundcheck/main/.claude/skills/insecure-plugin-design/SKILL.mdgit clone --depth 1 https://github.com/thejefflarson/soundcheckWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thejefflarson/soundcheck/insecure-plugin-design)<a href="https://agentmods.dev/skills/thejefflarson/soundcheck/insecure-plugin-design"><img src="https://agentmods.dev/badge/skills/thejefflarson/soundcheck/insecure-plugin-design.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.00959 |
| Opus 5 | $0.00034 | $0.00479 |
| Sonnet 5 | $0.00014 | $0.00192 |
| Haiku 4.5 | $0.00007 | $0.00096 |
Grade A, and why
insecure-plugin-design scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Insecure Plugin Design (OWASP LLM07:2025)
What this checks
Prevents LLM tools and plugins from being abused via malicious or malformed inputs driven by prompt injection or jailbreaks. Unvalidated tool parameters let an attacker escalate from a chat window to arbitrary file access, command execution, or data exfiltration.
Vulnerable patterns
- Tool handler accepts an unconstrained string parameter (path, URL, query) with no allowlist, regex, or length cap
- Tool schema declares parameters with no
enum,maxLength,pattern, oradditionalProperties: falseconstraints - Authorization decision delegated to the LLM rather than enforced inside the tool handler against the invoking principal
- Single tool multiplexes read, write, and delete behind an
actionparameter instead of separate handlers - Tool invocation produces no audit record naming the principal, tool, and sanitized arguments
Fix immediately
Flag the vulnerable code and explain the risk. Translate the principles below to the audited file's language, tool-definition schema, and authorization framework — use that stack's documented validation and access-control APIs.
For each finding, establish these properties:
- Every tool input is constrained at the tool boundary. JSON Schema keywords
(
maxLength,pattern,enum,additionalProperties: false), a typed enum or sealed class, runtime validation at the top of the handler, or an allowlist lookup — the goal is that a malformed value never reaches the handler body. - Authorization runs inside the handler against the invoking principal — not outsourced to the LLM's judgment, not inferred from the caller, not handled only by an outer framework layer. The LLM is an attacker in the threat model; it cannot be trusted to gate its own actions.
- File and path identifiers are canonicalized and verified against an explicit root. Resolve the path, then check that the resolved target falls inside the allowed directory. Path traversal, symlink escape, and absolute-path injection all fail this check.
- Tools expose the narrowest capability that satisfies their purpose. Read,
write, and delete live in separate handlers, not multiplexed behind an
actionparameter. Narrow tools are easier to audit and harder to weaponize. - Every invocation produces an audit record containing the principal, the tool name, and sanitized parameters — written before the side-effecting operation returns.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 69 lines · 69 tokens per session scan A 12c5b7ece660
insecure-plugin-design is a skill published in the GitHub repository thejefflarson/soundcheck (20 stars, last pushed 1mo ago), licensed MIT. It adds 69 tokens to every session and 959 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
make-skill
Use this skill when sedimenting a session into a reusable workspace skill. Triggers when the user wants to turn the current conversation, workflow, or troubleshooting path into a SKILL.md. Phrases like 'turn this into a skill', 'remember how I did X', 'save this workflow', 'make a skill from this', and any /make-skill…
make-skill
A guide for turning the current conversation or workflow into a reusable QwenPaw skill, stored as a SKILL.md file. It requires proposing a plan and waiting for approval before creating the skill.
terraform-skill
Use when working with Terraform or OpenTofu - creating modules, writing tests (native test framework, Terratest), setting up CI/CD pipelines, reviewing configurations, choosing between testing approaches, debugging state issues, implementing security scanning (trivy, checkov), or making infrastructure-as-code…
docx
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of "Word doc", "word document", ".docx", or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when…
docx
A guide for working with Microsoft Word documents in the .docx format. It covers reading, creating, editing, converting, exporting, and handling tracked changes.
multi_agent_collaboration
Use this skill when another agent's expertise or context is needed, or when the user explicitly asks to involve another agent. First list agents, then use qwenpaw agents chat for two-way communication with replies.