api-mitmproxy
Interactive HTTPS proxy for API security testing with traffic interception, modification, and replay capabilities. Supports…
Fast web fuzzer for DAST testing with directory enumeration, parameter fuzzing, and virtual host discovery. Written in Go for high-performance HTTP fuzzing with extensive filtering capabilities. Supports multiple fuzzing modes (clusterbomb, pitchfork, sniper) and recursive
Claude Code
$ npx -y skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf --agent claude-code
Codex
$ npx skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf -a codex -y
Cursor
$ npx skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf -a cursor -y
Gemini CLI
$ npx skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf -a gemini-cli -y
GitHub Copilot
$ npx skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf -a github-copilot -y
OpenCode
$ npx skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf -a opencode -y
Windsurf
$ npx skills add AgentSecOps/SecOpsAgentKit --skill dast-ffuf -a windsurf -y
name: dast-ffuf description: > Fast web fuzzer for DAST testing with directory enumeration, parameter fuzzing, and virtual host discovery. Written in Go for high-performance HTTP fuzzing with extensive filtering capabilities. Supports multiple fuzzing modes (clusterbomb, pitchfork, sniper) and recursive scanning. Use when: (1) Discovering hidden directories, files, and endpoints on web applications, (2) Fuzzing GET and POST parameters to identify injection vulnerabilities, (3) Enumerating virtual hosts and subdomains, (4) Testing authentication endpoints with credential fuzzing, (5) Finding backup files and sensitive data exposures, (6) Performing comprehensive web application reconnaissance. version: 0.1.0 maintainer: SirAppSec category: appsec tags: [dast, fuzzing, web-fuzzer, directory-enumeration, parameter-fuzzing, vhost-discovery, ffuf, reconnaissance] frameworks: [OWASP] dependencies: tools: [ffuf] references: - https://github.com/ffuf/ffuf
ffuf is a fast web fuzzer written in Go designed for discovering hidden resources, testing parameters, and performing comprehensive web application reconnaissance. It uses the FUZZ keyword as a placeholder for wordlist entries and supports advanced filtering, multiple fuzzing modes, and recursive scanning for thorough security assessments.
# Using Go go install github.com/ffuf/ffuf/v2@latest # Using package managers # Debian/Ubuntu apt install ffuf # macOS brew install ffuf # Or download pre-compiled binary from GitHub releases
Basic directory fuzzing:
# Directory discovery ffuf -u https://example.com/FUZZ -w /usr/share/wordlists/dirb/common.txt # File discovery with extension ffuf -u https://example.com/FUZZ -w wordlist.txt -e .php,.html,.txt # Virtual host discovery ffuf -u https://example.com -H "Host: FUZZ.example.com" -w subdomains.txt
For discovering hidden resources on web applications:
1. Start with common directory wordlist:
ffuf -u https://target.com/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/common.txt \
-mc 200,204,301,302,307,401,403 \
-o results.json2. Review discovered directories (focus on 200, 403 status codes) 3. Enumerate files in discovered directories:
ffuf -u https://target.com/admin/FUZZ \
-w /usr/share/seclists/Discovery/Web-Content/raft-small-files.txt \
-e .php,.bak,.txt,.zip \
-mc all -fc 4044. Use recursive mode for deep enumeration:
ffuf -u https://target.com/FUZZ \
-w wordlist.txt \
-recursion -recursion-depth 2 \
-e .php,.html \
-v5. Document findings and test discovered endpoints
Progress: [ ] 1. Identify target endpoint for parameter testing [ ] 2. Fuzz GET parameter names to discover hidden parameters [ ] 3. Fuzz parameter values for injection vulnerabilities [ ] 4. Test POST parameters with JSON/form data [ ] 5. Apply appropriate filters to reduce false positives [ ] 6. Analyze responses for anomalies and vulnerabilities [ ] 7. Validate findings manually [ ] 8. Document vulnerable parameters and payloads
Work through each step systematically. Check off completed items.
**GET Parameter Name Fuzzing:**
ffuf -u https://target.com/api?FUZZ=test \ -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \ -fs 0 # Filter out empty responses
**GET Parameter Value Fuzzing:**
ffuf -u https://target.com/api?id=FUZZ \ -w payloads.txt \ -mc all
**POST Data Fuzzing:**
# Form data
ffuf -u https://target.com/login \
-X POST \
-d "username=admin&password=FUZZ" \
-w passwords.txt \
-H "Content-Type: application/x-www-form-urlencoded"
# JSON data
ffuf -u https://target.com/api/login \
-X POST \
-d '{"username":"admin","password":"FUZZ"}' \
-w passwords.txt \
-H "Content-Type: application/json"For identifying virtual hosts and subdomains:
1. Prepare subdomain wordlist (or use SecLists) 2. Run vhost fuzzing:
ffuf -u https://target.com \
-H "Host: FUZZ.target.com" \
-w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
-fs 0 # Filter by response size to identify valid vhosts3. Filter results by comparing response sizes/words 4. Verify discovered vhosts manually 5. Enumerate directories on each vhost 6. Document vhost configurations and exposed services
For testing login forms and authentication mechanisms:
1. Identify authentication endpoint 2. Fuzz usernames:
ffuf -u https://target.com/login \
-X POST \
-d "username=FUZZ&password=test123" \
-w usernames.txt \
-H "Content-Type: application/x-www-form-urlencoded" \
-mr "Invalid password|Incorrect password" # Match responses indicating valid user3. For identified users, fuzz passwords:
ffuf -u https://target.com/login \
-X POST \
-d "username=admin&password=FUZZ" \
-w /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-1000.txt \
-H "Content-Type: application/x-www-form-urlencoded" \
-fc 401,403 # Filter failed attempts4. Use clusterbomb mode for combined username/password fuzzing:
ffuf -u https://target.com/login \
-X POST \
-d "username=FUZZ1&password=FUZZ2" \
-w usernames.txt:FUZZ1 \
-w passwords.txt:FUZZ2 \
-mode clusterbombFor finding exposed backup files and sensitive data:
1. Create wordlist of common backup patterns 2. Fuzz for backup files:
ffuf -u https://target.com/FUZZ \
-w backup-files.txt \
-e .bak,.backup,.old,.zip,.tar.gzAn assortment of security operations skills for AI coding agents. A collaborative approach to shift-left security using Claude Code skills.
Interactive HTTPS proxy for API security testing with traffic interception, modification, and replay capabilities. Supports…
API specification linting and security validation using Stoplight's Spectral with support for OpenAPI, AsyncAPI, and Arazzo…
Fast, template-based vulnerability scanning using ProjectDiscovery's Nuclei with extensive community templates covering CVEs,…
Dynamic application security testing (DAST) using OWASP ZAP (Zed Attack Proxy) with passive and active scanning, API testing, and…
Python security vulnerability detection using Bandit SAST with CWE and OWASP mapping. Use when: (1) Scanning Python code for…
Static application security testing (SAST) using Semgrep for vulnerability detection, security code review, and secure coding…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…