noorqureshi/security-skills/code-review-dotnet

Claude Code and agent skill by noorqureshi/security-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Security review of .NET / C# code — dangerous sinks and ASP.NET pitfalls. Load when reviewing a C#/.NET codebase/PR, on .cs source in scope, or "review this .NET app". Signals: .csproj/.sln, ASP.NET (Core/MVC/WebForms), BinaryFormatter, SqlCommand, Razor Html.Raw, XmlDocument.

Install

npx vskill@latest install noorqureshi/security-skills/code-review-dotnet

SKILL.md

.NET / C# source review

When it applies

Reviewing C#/.NET source (ASP.NET Core, MVC, or legacy WebForms). The headline risks are unsafe deserialization, string-built SQL, XXE, and Razor's raw-output escape hatch.

Why it works

.NET ships powerful-but-dangerous serializers (BinaryFormatter, Json.NET with TypeNameHandling, LosFormatter/ViewState) that instantiate arbitrary types, and several XML APIs resolve DTDs by default on older frameworks. Reviews find where these meet untrusted input.

Sinks & patterns (grep, then trace to user input)

  • Deserialization: BinaryFormatter, LosFormatter, SoapFormatter, NetDataContractSerializer,

JsonConvert with TypeNameHandling != None, Js.NET/fastJSON polymorphic types → RCE gadgets.

  • SQLi: string-concatenated SqlCommand/ExecuteReader/FromSqlRaw(EF Core) vs parameters.
  • Command exec: Process.Start with concatenated arguments / UseShellExecute.
  • XXE: XmlDocument/XmlReader/XmlTextReader without DtdProcessing=Prohibit (legacy default

resolves entities); XmlSerializer with a user-controlled type.

  • XSS: Razor @Html.Raw(...), MvcHtmlString, WebForms <%= %> with unencoded input;

Response.Write.

  • Other: path traversal via Path.Combine(root, input), LdapConnection filter injection,

reflection (Type.GetType/Activator.CreateInstance) on input, insecure ViewState (no MAC).

Framework specifics

  • ASP.NET Core: model binding over-posting/mass assignment (bind whole entity), [AllowAnonymous]

on sensitive actions, disabled antiforgery on POST APIs, exposed dev endpoints, open redirect via Redirect(returnUrl) without Url.IsLocalUrl.

  • WebForms: ViewState deserialization (machineKey), event-validation off.

Method

  1. Run security-code-scan/CodeQL; treat as leads.
  2. rg 'BinaryFormatter|TypeNameHandling|FromSqlRaw|Html\.Raw|XmlDocument|Process\.Start' → trace to input.
  3. Check controller [Authorize]/antiforgery coverage and model-binding scope.
  4. Confirm with web-deserialization, web-sqli, web-xxe, web-command-injection.

Gotchas

  • Json.NET is safe by default — the bug is an explicit TypeNameHandling.All/Auto.
  • EF Core parameterises LINQ; FromSqlRaw/ExecuteSqlRaw with interpolation is where SQLi returns.
  • ViewState RCE needs the machineKey (leaked/weak) — note the precondition.

References

OWASP .NET security cheat sheet; ysoserial.net gadget research; Microsoft secure-coding guidance.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
24
Repository forks
7
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/noorqureshi/security-skills/code-review-dotnet/badge)](https://verified-skill.com/skills/noorqureshi/security-skills/code-review-dotnet)

Something wrong with this skill or its page? Tell us.