PAGES
← all tools
◆ Web Application Security

xsrfprobe

v3.0.0 open-source

The Prime Cross Site Request Forgery (CSRFCSRFCross-site request forgery, an attack that makes a signed-in browser send an unwanted request to a site. The site may accept the request using the victim's existing session.) Audit and Exploitation Toolkit.

Summary

xsrfprobe is an open-source, GPLv3-licensed command-line toolkit that audits web applications for CSRF vulnerabilities and generates working proof-of-concept exploits for what it finds. It runs a bounded crawler with configurable URL, depth, and timeout limits, then puts each endpoint through a battery of named checks covering token tampering, method and Content-Type overrides, Origin/Referer bypasses, and SameSite cookie weaknesses, backed by a response-diffing engine meant to cut false positives; optional headless Firefox integration validates the generated PoCs automatically, and results can be exported as JSON for pipeline use. It is built for penetration testers and application security auditors rather than developers patching their own code, and sits in the web-app vulnerability scanning space alongside other CSRF-specific audit tools rather than general-purpose scanners. First committed in 2018 and still active, with 8 contributors and a release cut 40 days ago.

The Prime Cross Site Request Forgery (CSRF) Audit and Exploitation Toolkit.

How xsrfprobe helps

Which forms are relying on Origin or Referer checks that can be quietly bypassed?

replays each protected request with header removal, regex-evasion tricks, subdomain variations, and a null Origin, and reports which of the app's own validation logic accepts them

Does the SameSite cookie setting on this app actually stop cross-site requests in practice?

drives a headless browser through redirect-gadget and sibling-subdomain scenarios for Strict cookies, and cookie-refresh/OAuth flows for Lax cookies, to see whether the browser still sends the cookie along

Can I hand a developer or a client something that proves this CSRF hole is real, not theoretical?

builds a working proof-of-concept exploit page for each finding and, when the browser integration is enabled, loads it automatically to confirm it fires before it's reported

How exploitable is each finding, and which ones are worth fixing first?

tags every result in the report with a unique check ID, a severity rating, and an exploitability note, exportable as JSON for a pipeline or a write-up

Are there sibling subdomains that could be used to defeat this app's SameSite protections?

optionally enumerates related subdomains via crt.sh and tests them as launch points for the sibling-subdomain SameSite bypass checks

all 9 features, with the evidence for each →

Languages

Not documented

Features

9 capabilities · 3 backed by code, an API document or a real run

Built from xsrfprobe's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • xsrfprobe covers 1 of the 8 vulnerability assessment methods capabilities we track.

What xsrfprobe offers you

  • Command-line interface3
  • JSON data export2
  • CI/CD pipeline integration1
Web vulnerability scanning 7 features Vulnerability assessment methods since 2018
CSRF check library shipped Runs a structured battery of CSRF checks against a target endpoint, covering token tampering, method overrides, header bypasses, and cookie analysis, each tagged with a severity and exploitability note. 5 releases · 1 other source · first seen Jul 2026

Shared capability: Web vulnerability scanning

release

  • New token-tampering checks (T2–T8) actively probe GET↔POST method switching, token omission, empty values, cross-session replay, double-submit cookies, and custom-header token forgery. v3.0.0 · Jul 2026 · source · release history
  • New Origin/Referer bypass checks (R0–R2c, O1–O3) test header removal, regex tricks, subdomain tricks, and Origin: null against real-world validation implementations. v3.0.0 · Jul 2026 · source · release history
  • New SameSite bypass checks (S2–S4) probe SameSite=Strict via client-side redirect gadgets and sibling-subdomain XSS, and SameSite=Lax via cookie-refresh/OAuth flows. v3.0.0 · Jul 2026 · source · release history
  • Adds a full battery of 25 named checks (D1–A1) covering token tampering, method/Content-Type overrides, Origin/Referer bypasses, SameSite cookie analysis, and token strength — each with a unique ID, severity rating, and exploitability notes. v3.0.0 · Jul 2026 · source · release history
  • New suite of CSRF checks covering token tampering, HTTP method/Content-Type overrides, Origin/Referer bypasses, and SameSite cookie analysis — each with a unique ID, severity rating, and exploitability notes. v3.0.0 · Jul 2026 · source · release history

docs

  • Audits and exploits Cross-Site Request Forgery (CSRF) vulnerabilities by crawling web apps, testing token bypasses, and generating proof-of-concept exploits.
Exploit proof-of-concept generation shipped Generates a self-contained HTML proof-of-concept page for each confirmed CSRF finding, allowing immediate demonstration of exploitability. 4 releases · 2 other sources · first seen Dec 2018

Shared capability: Web vulnerability scanning

release

  • Auto-generates tailored, auto-validating proof-of-concept exploits for confirmed findings. v3.0.0 · Jul 2026 · source · release history
  • Generates tailored, auto-validated exploitable CSRF proof-of-concept pages per finding. v3.0.0 · Jul 2026 · source · release history
  • Adds the --display switch to show both request and response headers during scanning v2.2.0 · Dec 2019 · source · release history
  • xprobe is now an exploitation toolkit capable of generating Proof-of-Concept (PoC) payloads for identified CSRF vulnerabilities v2.0.0 · Dec 2018 · source · release history

example

  • Auto-validate generated PoCs in headless Firefox and point to a non-PATH geckodriver binary for a custom test environment. xsrfprobe --url https://target.example.com --browser --auto-validate-poc --geckodriver-path /opt/geckodriver/geckodriver v3.0.0 · Jul 2026 · source
  • Inspect raw HTTP traffic for CSRF analysis without SSL verification issues. xsrfprobe -u https://target.com --no-verify --display v2.2.0 · Dec 2019 · source
Browser-based SameSite bypass testing shipped Uses a headless Firefox browser to perform SameSite bypass checks that require real browser cookie handling rather than plain HTTP requests. 2 releases · 1 other source · first seen Jul 2026

Shared capability: Web vulnerability scanning

Also counts toward: CI/CD pipeline integration, Command-line interface, JSON data export

release

  • Adds optional headless Firefox (Selenium) integration via --browser for browser-dependent SameSite bypass tests and auto-validation of generated PoCs. v3.0.0 · Jul 2026 · source · release history
  • Headless-browser support enables SameSite bypass testing that requires JavaScript execution. v3.0.0 · Jul 2026 · source · release history

example

  • Run the full CSRF audit including browser-dependent SameSite bypass tests and get a machine-readable JSON report for pipeline consumption. xsrfprobe --url https://target.example.com --browser --json v3.0.0 · Jul 2026 · source
Response diffing false-positive reduction shipped Compares baseline and test responses before flagging an endpoint as vulnerable, reducing the likelihood of false-positive findings. 2 releases · first seen Dec 2019

Shared capability: Web vulnerability scanning

release

  • Adds response diffing/benchmark engine to reduce false positives before declaring an endpoint vulnerable. v3.0.0 · Jul 2026 · source · release history
  • Adds the --no-verify switch to connect to web applications using self-signed CAs v2.2.0 · Dec 2019 · source · release history
Insecure TLS handling support shipped Disables SSL certificate verification to allow scanning targets using self-signed CAs. 2 releases · first seen Oct 2019

Shared capability: Web vulnerability scanning

Also counts toward: Command-line interface

release

  • Adds the --no-verify switch to connect to web applications using self-signed CAs v2.2.0 · Dec 2019 · source · release history
  • Added full support of cookies while making requests. v2.1.0 · Oct 2019 · source · release history
Passive-only scanning mode verified Runs the scanner in a read-only mode that detects CSRF tokens passively without submitting any forms or sending active exploit requests. 1 other source · first seen Jul 2026

Shared capability: Web vulnerability scanning

command line

  • --no-form-submit — Do not submit forms during scanning. Only perform passive token detection. v3.0.0 · Jul 2026 · command-line history
Subdomain enumeration for sibling-domain bypass testing shipped Discovers sibling subdomains via certificate transparency logs so that related-domain CSRF bypass scenarios can be tested realistically. 1 release · first seen Jul 2026

Shared capability: Web vulnerability scanning

release

  • Supports optional subdomain enumeration via crt.sh for sibling-domain SameSite bypass testing. v3.0.0 · Jul 2026 · source · release history
Other / not yet classified 2 features Features we have not matched to a capability yet. A suggested match is marked.
Machine-readable JSON reporting verified Writes scan results to a JSON file with each finding's test ID, severity, and exploitability note, suitable for ingestion by external tools or reporting workflows. 3 releases · 2 other sources · first seen Oct 2019

Also counts toward: Command-line interface, JSON data export

release

  • JSON report output for machine-readable results and pipeline integration. v3.0.0 · Jul 2026 · source · release history
  • Adds --json flag for machine-readable JSON reports; each finding includes test_id, severity, and an exploitability note. v3.0.0 · Jul 2026 · source · release history
  • pip install xsrfprobe allows installing XSRFProbe as a standard Python package. v2.1.0 · Oct 2019 · source · release history

command line

example

  • Install the tool directly via pip to use it as a library or CLI. pip install xsrfprobe v2.1.0 · Oct 2019 · source
Bounded web crawler verified Crawls a target site to discover forms and endpoints, with configurable caps on the number of URLs, link depth, and total crawl duration. 1 release · 3 other sources · first seen Jul 2026

release

  • New bounded crawler with configurable --max-urls, --max-depth, and --crawl-timeout flags to control scan scope. v3.0.0 · Jul 2026 · source · release history

command line

  • --max-urls — Maximum number of URLs to crawl (with --crawl). 0 means unlimited. Default: 200. v3.0.0 · Jul 2026 · command-line history
  • --max-depth — Maximum link depth to crawl from the seed URL (with --crawl). 0 means unlimited. Default: 5. v3.0.0 · Jul 2026 · command-line history

example

  • Limit crawler scope to a shallow pass on a large site so CI finishes quickly — cap URLs, depth, and wall-clock time. xsrfprobe --url https://target.example.com --max-urls 50 --max-depth 2 --crawl-timeout 120 --json v3.0.0 · Jul 2026 · source

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for xsrfprobe, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail xsrfprobe puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

6 entries

  1. July 20263
  2. December 20191
  3. October 20191
  4. December 20181

    6 entries

    Project health

    Issue, contributor and maintainer activity in 0xInfection/XSRFProbe, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 2 +1 vs prior 12 months
    2. Maintainers 1 +1 joined · −1 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close 2.5 years first maintainer reply 261 days
    6. Open backlog 0 of 35 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 0
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 1,304
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →