Skip to main content

Open-source WAF Security Testing Platform — 7,200+ attack payloads, 98 WAF/CDN fingerprints, AI-powered bypass engine, recon pipeline, beautiful CLI output

Project description

Fray

Vibe security — just point and scan.

One command. Full pipeline. Zero config.

pip install fray && fray go target.com

PyPI Downloads Payloads License

Docs · Discussions · dalisec.io

🌐 English | 日本語


FOR AUTHORIZED SECURITY TESTING ONLY — Only test systems you own or have explicit written permission to test.

fray go — full security audit in one command


Before Fray vs. With Fray

Traditional With Fray
Install 5+ tools (nmap, wafw00f, sqlmap, nikto, nuclei) pip install fray
Learn each tool's flags and config formats fray go target.com
Manually correlate findings across tools Automatic: recon → test → report
Write scripts to chain tools together 42 checks · 12 deep scan modules · 7,800+ payloads
Security expertise required Built for anyone who ships web apps

What's New — v3.5.6

  • fray analyze — per-pattern WAF bypass table. Confirms which payload patterns are blocked, then finds what gets through — with injection mechanics explaining why each bypass works
  • 42 recon checks — CVE probes for Next.js, Log4Shell, Spring4Shell, WordPress, Drupal fire automatically based on detected tech stack. No manual configuration
  • 18 vendor feeds — Unit 42, F5 Labs, Cloudflare, Imperva, PortSwigger, MSRC Patch Tuesday + 12 more. fray feed --auto-add pulls, validates PoC accuracy, and stages payloads
  • fray vendor-intel — latest CVEs and posts from all 18 feeds in one terminal view
  • Wappalyzer — 3,920 tech patterns from npm. Detects Shopify, EC-CUBE, Vercel, Datadog, Auth0, Kong, 4,200+ technologies from response headers, cookies, and scripts
  • Report — security grade A–F with specific improvement steps, RDAP domain age, origin cloud provider (GCP/AWS/Azure), VPN CVEs in Known Vulnerabilities

Full changelog


Core Commands

fray go <url>              # ★ Full pipeline: recon → test → report (start here)
fray recon <url>           # 42-check reconnaissance — WAF, TLS, CVEs, secrets, subdomains
fray test <url> --smart    # Smart payload selection from recon findings
fray analyze <url>         # Per-pattern WAF bypass analysis with bypass table
fray detect <url>          # WAF/CDN fingerprint (98 vendors)
fray harden <url>          # OWASP hardening audit (A–F grade)
fray vendor-intel          # Latest CVEs from 18 security vendor feeds
fray feed --auto-add       # Pull CVEs → validate PoC → update payload DB
fray smoke --local         # Test detection accuracy against localhost Docker lab
fray dashboard             # Web UI — timeline, diff, live reload
fray mcp                   # MCP server for Claude / ChatGPT / Cursor

fray <url> is a shortcut for fray go <url>.


Who It's For

  • Developers — run fray go before launch. Done.
  • Bug bounty hunters — 7,800+ payloads, WAF bypass intelligence, adaptive cache learns across scans.
  • Pentesters — 12 deep scan modules, stealth mode, auth support, per-pattern bypass analysis.
  • DevSecOps — GitHub Action, SARIF output, --json for pipelines.
  • Security teams — MCP server for AI agents, VS Code extension, 18 live threat intel feeds.

Payload Coverage

7,800+ payloads across 43 categories:

Category Count Category Count
XSS 1,329 AI/LLM Prompt Injection 410
Web Shells 994 Path Traversal 293
WordPress 964 SQL Injection 258
LLM Testing 740 Command Injection 233
Other / Generic 368 SSTI 220
CSP Bypass 177 XXE 178
Modern Bypasses 137 API Security 130
SSRF Cloud Metadata 123 Prototype Pollution 110
CRLF Injection 94 Open Redirect 91
LDAP Injection 90 XPath Injection 89
JWT Attack 32 Supply Chain 46
Auth Bypass 20 GraphQL Attacks 24
Cache Poisoning 20 Deserialization 16
Mass Assignment 25 Race Condition 16
RAG Security 16 HTTP Smuggling 17
Host Header Injection 15 CORS 15

Full payload database →


MCP — AI Agent Integration

18 tools via MCP for Claude, ChatGPT, Cursor, and any MCP client.

pip install 'fray[mcp]'
{ "mcpServers": { "fray": { "command": "python", "args": ["-m", "fray.mcp_server"] } } }

Ask "What XSS payloads bypass Cloudflare?"suggest_payloads_for_waf, generate_bypass_strategy, analyze_response, hardening_check, and 14 more tools run directly.

Claude Code guide → · ChatGPT guide →


CI/CD — GitHub Action

# .github/workflows/waf.yml
- uses: dalisecurity/fray@v1
  with:
    target: https://staging.example.com
    categories: xss,sqli

Exits non-zero on bypass findings. Integrates with GitHub Security tab via SARIF. CI/CD guide →


Auth & Stealth

fray test https://target.com --cookie "session=abc123"
fray test https://target.com --bearer eyJhbG...
fray test https://target.com --stealth -d 0.5      # randomized UA + jitter
fray recon https://target.com --scope scope.txt    # in-scope enforcement

Auth guide →


Community


MIT License · Only test systems you own or have explicit authorization to test · Security issues: soc@dalisec.io

dalisec.io · Built by hunters. For defenders.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fray-3.5.52.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fray-3.5.52-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file fray-3.5.52.tar.gz.

File metadata

  • Download URL: fray-3.5.52.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fray-3.5.52.tar.gz
Algorithm Hash digest
SHA256 e0dd42e2c858c39ca3318b9d89fda81e8869414fe999a8c45d494673051088b3
MD5 ff40e712f0de6c93c5e7a3000a0b0534
BLAKE2b-256 b2928e787e942b0318475a3e493754511852279da7941e480b6b77c4d8162329

See more details on using hashes here.

Provenance

The following attestation bundles were made for fray-3.5.52.tar.gz:

Publisher: publish.yml on dalisecurity/Fray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fray-3.5.52-py3-none-any.whl.

File metadata

  • Download URL: fray-3.5.52-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fray-3.5.52-py3-none-any.whl
Algorithm Hash digest
SHA256 43732ceb4572f9e49610441cc01419e3ee9d8d87ef7a0317294cd240bd999e59
MD5 6c7f82f58e48fd0c0e1a064d9004ea98
BLAKE2b-256 25fdc68605ca823e704d8dff2595eee2c93c91ccc5b34af1ccdc5f17b13f0905

See more details on using hashes here.

Provenance

The following attestation bundles were made for fray-3.5.52-py3-none-any.whl:

Publisher: publish.yml on dalisecurity/Fray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page