drupal-security-review

drupal-security-review is a skill for Claude Code from siva01c/claude-plugins. It costs 35 tokens per session (294 once invoked), scanned A, original, MIT.

A checklist for reviewing custom Drupal 11 modules and themes for common web security problems, such as unsafe input, cross-site scripting, SQL injection, and missing permissions.

In plain words
What is it for?
Use it to review pull requests, audit custom Drupal code, and check whether routes, content operations, forms, database access, and configuration are protected.
Why use it?
It helps find vulnerabilities before code is merged or released, including unvalidated request data, unescaped output, unsafe database queries, exposed secrets, and leftover debugging code.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the drupal-dev-tools plugin — 2 skills, 1 command shipped together

Good fit Use it to review pull requests, audit custom Drupal code, and check whether routes, content operations, forms, database access, and configuration are protected.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/siva01c/claude-plugins/drupal-security-review
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add siva01c/claude-plugins --skill drupal-security-review
Clone the repo
git clone --depth 1 https://github.com/siva01c/claude-plugins

Made for: Claude Code.

Or install drupal-dev-tools, the plugin that ships this one along with the rest of its 2 skills, 1 command.

Wrote 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.

agentmods badge for drupal-security-review

README.md
[![agentmods](https://agentmods.dev/badge/skills/siva01c/claude-plugins/drupal-security-review/github.svg)](https://agentmods.dev/skills/siva01c/claude-plugins/drupal-security-review)
Your own site
<a href="https://agentmods.dev/skills/siva01c/claude-plugins/drupal-security-review"><img src="https://agentmods.dev/badge/skills/siva01c/claude-plugins/drupal-security-review/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for drupal-security-review

Your own site · 80×15
<a href="https://agentmods.dev/skills/siva01c/claude-plugins/drupal-security-review"><img src="https://agentmods.dev/badge/skills/siva01c/claude-plugins/drupal-security-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 294 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00035 $0.00294
Opus 5.5 $0.00014 $0.00118
Sonnet 5.5 $0.00007 $0.00059
Haiku 4.5 $0.00003 $0.00029

Measured 1mo ago against content hash 44f06090084a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

drupal-security-review 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 1mo 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.

drupal-dev-tools/skills/drupal-security-review/SKILL.md · 34 lines

What it actually says

Drupal Security Review Skill

Purpose

Use this skill to perform focused security reviews for Drupal 11 custom modules and themes.

When to apply

  • Reviewing pull requests before merge.
  • Auditing custom code for common web vulnerabilities.
  • Preparing release readiness checks.

Review checklist

  1. Input handling: Validate and sanitize all external input.
  2. Output escaping: Escape output in Twig and PHP render logic.
  3. Database safety: Use query builder or placeholders in all SQL operations.
  4. Access control: Confirm route, entity, and operation permissions are enforced.
  5. Secrets and config: Ensure credentials are never committed and sensitive config is protected.

Common anti-patterns to flag

  • Direct SQL string concatenation with user data.
  • Unescaped raw markup in render arrays.
  • Trusting $_GET, $_POST, or request payloads without validation.
  • Debug leftovers (var_dump, kint, dpm) in production paths.

Useful validation commands

rg "(var_dump|dpm\(|kint\()" web/modules/custom web/themes/custom
rg "\$_(GET|POST|REQUEST)" web/modules/custom web/themes/custom
Changes

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.

  1. 1mo ago First seen · 34 lines · 35 tokens per session scan A 44f06090084a

Subscribe to this mod's changes

drupal-security-review is a skill published in the GitHub repository siva01c/claude-plugins (16 stars, last pushed 29d ago), licensed MIT. It adds 35 tokens to every session and 294 once invoked, about $0.0001 per session on Opus 5.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.

Related

Other skills, from other repositories

rubber-duck

Invoke a Rubber Duck Reviewer subagent to independently critique plans and implementations before proceeding. Use when the agent is about to implement a non-trivial plan (multi-file changes, architectural decisions, security-sensitive logic, database schema changes), after completing a self-contained unit of work…

jim60105/copilot-prompt · 118 tokens

resolve-pr-comments

Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using the rationale recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address…

tobihagemann/turbo · 96 tokens

assess-technical-debt

Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, architecture rot, and low-value tests. Ranks findings by impact and refactor effort into a report at .turbo/technical-debt.md. Use when the user asks to "assess technical debt", "find technical debt"…

tobihagemann/turbo · 125 tokens

review-code

Review code for bugs, security vulnerabilities, API misuse, consistency issues, simplicity problems, or test coverage gaps and low-value tests by running internal reviews and a peer review in parallel and returning combined findings. Single-concern with a type argument, or full review with no argument. Use when the…

tobihagemann/turbo · 153 tokens

peer-review

Run an independent peer review via Codex. Use when the user asks to "peer review", "peer review my code", "peer review my plan", "get a second opinion", or "independent review".

tobihagemann/turbo · 46 tokens

reply-to-pr-threads

Draft, confirm, and post replies to GitHub PR review threads. Handles per-category reply formatting, re-fetches thread resolution state so auto-resolved threads are skipped, posts via GraphQL, resolves threads whose entry carries a resolution reason, and dismisses the code-scanning alert behind a thread whose entry…

tobihagemann/turbo · 97 tokens