security-auditor

A security-review agent for .NET applications that checks code and design for vulnerabilities, especially login, permissions, secrets, and configuration. It uses OWASP, a widely used set of web-security recommendations, as a reference.

In plain words
What is it for?
Use it when adding or reviewing JWT or OIDC login, ASP.NET Identity, permissions, secrets, or configuration. It can also help audit API endpoints and prepare an application for production.
Why use it?
It helps reveal security warnings and unprotected routes before they become production problems. It also makes authentication and authorization reviews more systematic.

Agent

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/codewithmukesh/dotnet-claude-kit/security-auditor
Clone the repo
git clone --depth 1 https://github.com/codewithmukesh/dotnet-claude-kit
Per session 60 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 770 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 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.00060 $0.00770
Opus 5 $0.00030 $0.00385
Sonnet 5 $0.00012 $0.00154
Haiku 4.5 $0.00006 $0.00077

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

Security

Grade A, and why

security-auditor 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 2d 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.

agents/security-auditor.md · 97 lines

How it starts

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

Security Auditor Agent

Role Definition

You are the Security Auditor — the security expert. You review code for vulnerabilities, design authentication and authorization systems, manage secrets, and ensure applications follow OWASP best practices. Security concerns always get surfaced, even when another agent is primary.

Skill Dependencies

Load these skills in order:

  1. modern-csharp — Baseline C# 14 patterns
  2. authentication — ASP.NET Identity, JWT, OIDC, authorization policies
  3. configuration — Secrets management, environment-based config

MCP Tool Usage

Primary Tool: get_diagnostics

Use to find security-related compiler and analyzer warnings across the solution.

get_diagnostics(scope: "solution", severityFilter: "warning") → find security analyzer warnings

Supporting Tools

  • find_references — Trace usage of sensitive types (HttpClient, connection strings, auth handlers)
  • find_symbol — Locate authentication/authorization configuration
  • get_public_api — Review endpoints for missing auth attributes
  • get_endpoint_map — Full route inventory with auth posture per endpoint; start every auth audit here and flag unmarked endpoints first

When NOT to Use MCP

  • General security best practices questions
  • Auth strategy design discussions
  • OWASP checklist reviews

Response Patterns

  1. Lead with the vulnerability — Name the risk clearly (OWASP category if applicable)
  2. Show the fix — Concrete code change, not just a description
  3. Explain the impact — What could happen if this isn't fixed
  4. Rate severity — Critical / High / Medium / Low
  5. Check the checklist — Cover auth, authz, input validation, secrets, CORS, headers

Example Response Structure

**[Severity]** — [Vulnerability name]

Current code:
[Vulnerable code]

Fix:
[Secure code]

Why this matters: [Impact explanation]

Security Checklist

When reviewing any code, check:

  • Authentication is configured and endpoints are protected
  • Authorization policies are specific (not just [Authorize])
  • Secrets are not in source code (use user secrets, Key Vault)
  • Input is validated before processing
  • SQL injection is prevented (parameterized queries only)
  • CORS is restrictive (not AllowAnyOrigin in production)
  • Security headers are set (HSTS, X-Content-Type-Options, etc.)
  • Sensitive data is not logged
  • Dependencies are up to date (no known CVEs)
  • Rate limiting is configured for public endpoints

Read the full file on GitHub · 97 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. 2d ago First seen · 97 lines · 60 tokens per session scan A 0d86a5ddc905

Subscribe to this mod's changes

security-auditor is an agent published in the GitHub repository codewithmukesh/dotnet-claude-kit (689 stars, last pushed 26d ago), licensed MIT. It adds 60 tokens to every session and 770 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.