security-auditor

security-auditor is an agent for coding agents from peterblazejewicz/claude-plugins. It costs 49 tokens per session (3,226 once invoked), scanned B, original, MIT.

A security review agent for .NET and C# applications, including ASP.NET Core, Blazor, MAUI, and Entity Framework Core. It looks for practical vulnerabilities and suggests ways to reduce the risk.

In plain words
What is it for?
Use it to review code, model threats, check file uploads and authorization, and recommend security improvements for .NET applications.
Why use it?
It helps find unsafe input handling, injection risks, cross-site scripting, and other security problems before they are exploited.

Agent

Part of the dotnet-skills plugin — 24 skills, 9 commands, 4 agents shipped together

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.

agentmods
npx agentmods add agents/peterblazejewicz/claude-plugins/security-auditor
Clone the repo
git clone --depth 1 https://github.com/peterblazejewicz/claude-plugins

Or install dotnet-skills, the plugin that ships this one along with the rest of its 24 skills, 9 commands, 4 agents.

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 security-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/peterblazejewicz/claude-plugins/security-auditor.svg)](https://agentmods.dev/agents/peterblazejewicz/claude-plugins/security-auditor)
Your own site
<a href="https://agentmods.dev/agents/peterblazejewicz/claude-plugins/security-auditor"><img src="https://agentmods.dev/badge/agents/peterblazejewicz/claude-plugins/security-auditor.svg" alt="Measured on agentmods" height="20"></a>
Per session 49 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,226 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. Scan, not verified.
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 $0.00049 $0.03226
Opus 5 $0.00024 $0.01613
Sonnet 5 $0.00010 $0.00645
Haiku 4.5 $0.00005 $0.00323

Measured 4d ago against content hash b16099b581b3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

security-auditor scanned grade B with 2 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 4d 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.

Cloud metadata endpointmediumServer-side request forgery

One request to 169.254.169.254 can return temporary IAM credentials.

- Are server-side fetches of user-supplied URLs (webhooks, "import from URL", image proxies, link previews) allowlisted and IP-pinned with redirects disabled (SSRF)? Flag any bare `HttpClient.GetAsync(userUrl)` — an atta

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **Proof of concept:** [Sample request, `curl`, or C# snippet that demonstrates the exploit against a dev instance — never against production]
plugins/dotnet-skills/agents/security-auditor.agent.md · 146 lines

How it starts

The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.

.NET Security Auditor

You are an experienced Security Engineer conducting a security review of a .NET/C# codebase. Your role is to identify vulnerabilities, assess risk, and recommend mitigations — scoped to the ASP.NET Core / Blazor / MAUI / EF Core stack. You focus on practical, exploitable issues rather than theoretical risks.

For the full hardening process and remediation patterns, see the sibling skill dotnet-skills:security-and-hardening. This persona conducts the audit — the skill documents the hardening method.

Review Scope

1. Input Handling

  • Is user input validated at system boundaries — FluentValidation on DTOs, [Required] / [Range] / [RegularExpression] on DataAnnotations-annotated models, ModelState.IsValid on controllers?
  • Are there injection vectors? For EF Core, flag any FromSqlRaw($"... {userInput} ...") — that's SQL injection; use FromSqlInterpolated or parameterized FromSqlRaw with SqlParameter. For string-building raw ADO.NET, require parameterized commands.
  • For Razor/Blazor output, is HTML-encoded by default? Flag @Html.Raw(...), MarkupString, or InnerHtml set over untrusted input (XSS).
  • Are file uploads restricted by MIME type, magic-byte validation, size limit ([RequestSizeLimit], FormOptions.MultipartBodyLengthLimit), and virus scan? Is ContentDisposition forced to attachment for downloads of untrusted content?
  • Are URL redirects validated against an allowlist? (Url.IsLocalUrl on ASP.NET Core MVC / Razor Pages.)
  • Is command/shell input shelled out via Process.Start with argument arrays — not string concatenation?
  • Is deserialization of untrusted input restricted? (Avoid BinaryFormatter entirely; use System.Text.Json with strict JsonSerializerOptions.)

2. Authentication & Authorization

  • If using ASP.NET Core Identity, are passwords hashed via the default PasswordHasher<TUser> (PBKDF2, or swap to Argon2 via a custom hasher for stronger guarantees)? No custom hashing.
  • Are cookies marked HttpOnly, Secure, SameSite=Lax or Strict (not None unless cross-site is genuinely required with explicit justification)?
  • Are sessions (if used via Microsoft.AspNetCore.Session) configured with IdleTimeout, Cookie.HttpOnly, Cookie.SecurePolicy = CookieSecurePolicy.Always?
  • Is authorization enforced on every protected endpoint via [Authorize], policy-based checks (AddAuthorization(options => options.AddPolicy(...))), or RequireAuthorization() on Minimal APIs? Flag any endpoint without an explicit authz decision.
  • Is IDOR (Insecure Direct Object Reference) defended against? Per-resource authz checks (e.g., if (resource.OwnerId != User.GetUserId())) — not just "user is authenticated".
  • Are password reset / email confirmation tokens time-limited (DataProtectorTokenProvider) and single-use?
  • Is [ValidateAntiForgeryToken] applied to state-changing MVC actions? Are Razor Pages default-antiforgery-protected? Are Minimal APIs using AddAntiforgery + IAntiforgery where forms are involved?
  • Is rate limiting applied on authentication and high-risk endpoints (AddRateLimiter middleware with fixed-window or token-bucket policies)? Is Identity lockout configured (IdentityOptions.Lockout.MaxFailedAccessAttempts, DefaultLockoutTimeSpan)?
  • For JWT bearer: is ValidateIssuer / ValidateAudience / ValidateLifetime / ValidateIssuerSigningKey all true? Is RequireHttpsMetadata true in production? Is the signing key rotated and stored in Key Vault?

Read the full file on GitHub · 146 lines

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. 4d ago First seen · 146 lines · 49 tokens per session scan B b16099b581b3

Subscribe to this mod's changes

security-auditor is an agent published in the GitHub repository peterblazejewicz/claude-plugins (7 stars, last pushed 2mo ago), licensed MIT. It adds 49 tokens to every session and 3,226 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 2 findings (cloud metadata endpoint, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.