Install any skill in seconds. Free to start, no credit card required.
Get Started Free →elementalsouls/hunt-csrf
Hunting skill for csrf vulnerabilities. Built from 15 public bug bounty reports including modern variants — SameSite=Lax sibling-subdomain bypass (Argo CD CVE-2024-22424), GraphQL mutations-via-GET (GitLab $3,370), framework-wide CSRF middleware disabled (Stripe Dashboard $5,000), path-traversal CSRF-token bypass (GitHub Enterprise CVE-2022-23732 $10k), Origin-omission bypass (TikTok $2,500), OAuth-state null-byte (Streamlabs), WebSocket CSRF / CSWSH (Coda), default-SameSite email-change → ATO (
Passed 16 of 22 test cases with the skill, and 15 of 22 without it.
and 3 more in the full report
4 fixed12 passed either way3 still failing3 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am performing a security assessment on an ASP.NET Core Single Page Application that uses a Backend-for-Frontend pattern for authentication. I need a security review checklist detailing how to evaluate header-based antiforgery controls, check for WebSocket/SignalR bypasses, test subdomain cookie isolation, and format a clear proof-of-concept report.
| Checked | Without skill | With skill |
|---|---|---|
| Identifies the static X-CSRF: 1 header used in BFF architectures. | Missed | Passed |
| Identifies antiforgery exemptions on SignalR or WebSocket paths. | Missed | Passed |
| Recommends testing role-partitioned endpoints with X-CSRF: 1 to check for missing user identity binding. | Missed | Passed |
The instructions your model reads when the skill loads.
A raw HTTP client (curl, Burp Repeater, any scripting client) is not a browser: it will send
whatever Origin/Referer header VALUE you set, from any path, on the same connection as your
authenticated cookie. Many apps that claim to defend against CSRF only do a naive string check
on the incoming Origin/Referer header (does it contain/equal some expected value?) rather than
real same-origin enforcement — you can satisfy that check directly by setting the header, with no
actual cross-site delivery (hosting an HTML page, a headless browser) required. This is faster and
more reliable than building a real attacker page for this exact pattern:
POST /profile HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Origin: https://a-domain-the-app-treats-as-trusted-or-attacker-controlled.example
Cookie: <authenticated session>
username=csrf_poc
If some text names a SPECIFIC origin/domain as the "expected" attacker page, that literal value is
often exactly what the server's check is looking for — try it verbatim in Origin (fall back to
Referer if Origin alone doesn't flip it). Only build a real cross-origin page (actual browser
delivery) when the target does genuine SameSite/fetch-based origin enforcement that a spoofed header
can't satisfy.
CSRF only matters on state-changing actions that a browser could be tricked into making cross-site.
Testing flow:
csrf_token, authenticity_token, _token, csrfmiddlewaretoken fields).application/x-www-form-urlencoded, multipart/form-data, OR text/plain are the three CORS "simple" content-types a cross-origin form can send with no preflight. A JSON endpoint is CSRF-resistant only if the server rejects those — if it also accepts a text/plain body (common), craft a text/plain payload that parses as valid JSON (see the JSON-CSRF-via-text/plain section). Don't skip a JSON endpoint on the assumption that application/json alone is protective.High-value targets (in order of impact):
Token bypass techniques when a token IS present:
test cases passed, vs 15 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.