@waftester/cli 2.8.0 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +142 -15
  2. package/package.json +8 -7
package/README.md CHANGED
@@ -3,13 +3,24 @@
3
3
  [![npm](https://img.shields.io/npm/v/@waftester/cli)](https://npmjs.com/package/@waftester/cli)
4
4
  [![downloads](https://img.shields.io/npm/dw/@waftester/cli)](https://npmjs.com/package/@waftester/cli)
5
5
  [![license](https://img.shields.io/npm/l/@waftester/cli)](https://github.com/waftester/waftester/blob/main/LICENSE)
6
+ [![platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-blue)](https://npmjs.com/package/@waftester/cli)
6
7
 
7
- The most comprehensive WAF testing CLI & MCP server. Detect, fingerprint, and bypass Web Application Firewalls with 2,800+ payloads and quantitative security metrics.
8
+ The most comprehensive WAF testing CLI & MCP server. Detect, fingerprint, and bypass Web Application Firewalls with **2,800+ payloads**, **70+ tamper scripts**, and quantitative security metrics (FPR, F1, MCC).
9
+
10
+ ## Why WAFtester?
11
+
12
+ | Traditional Approach | WAFtester |
13
+ |---------------------|-----------|
14
+ | Chain 5+ tools (wafw00f, sqlmap, nuclei, scripts) | Single `auto` command — end-to-end |
15
+ | Manually select tampers per WAF vendor | Auto-selects from 70+ tampers based on detected WAF |
16
+ | Binary pass/fail results | Statistical metrics: FPR, Precision, F1 Score, MCC |
17
+ | HTTP only | Native GraphQL, gRPC, SOAP, WebSocket support |
18
+ | Manual result correlation | Unified JSON, SARIF, HTML, JUnit, CycloneDX output |
8
19
 
9
20
  ## Quick Start
10
21
 
11
22
  ```bash
12
- # Run without installing
23
+ # Run without installing — downloads correct binary for your platform
13
24
  npx -y @waftester/cli scan --target https://example.com
14
25
 
15
26
  # Or install globally
@@ -17,7 +28,80 @@ npm install -g @waftester/cli
17
28
  waf-tester scan --target https://example.com
18
29
  ```
19
30
 
20
- ## MCP Server Setup
31
+ ## What You Can Do
32
+
33
+ ### Full Automated Assessment
34
+
35
+ ```bash
36
+ waf-tester auto -u https://target.com --smart
37
+ ```
38
+
39
+ Executes the complete lifecycle: endpoint discovery → WAF fingerprinting → optimal tamper selection → 2,800+ payload testing → quantitative report generation.
40
+
41
+ ### WAF Detection & Fingerprinting
42
+
43
+ Identify WAF vendors with 197 vendor signatures:
44
+
45
+ ```
46
+ $ waf-tester vendor -u https://protected.example.com
47
+
48
+ Vendor Cloudflare
49
+ Confidence 98%
50
+ Evidence cf-ray header, __cfduid cookie, 1020 error page
51
+
52
+ Recommended tampers: charunicodeencode, space2morecomment, randomcase
53
+ ```
54
+
55
+ Covers Cloudflare, AWS WAF, Akamai, Imperva, Azure WAF, F5, ModSecurity, Fortinet, Barracuda, Sucuri, Radware, Citrix ADC, Palo Alto, Sophos, Wallarm, and more.
56
+
57
+ ### Bypass Discovery
58
+
59
+ ```
60
+ $ waf-tester bypass -u https://target.com --smart --tamper-auto
61
+
62
+ Payload Variants Tested 2,847
63
+ Blocked by WAF 2,728 (95.8%)
64
+ Bypassed WAF 119 (4.2%)
65
+
66
+ Top Bypass Chains:
67
+ 1. charunicodeencode + space2morecomment (42 bypasses)
68
+ 2. modsecurityversioned + randomcase (31 bypasses)
69
+ 3. between + equaltolike (19 bypasses)
70
+ ```
71
+
72
+ The mutation engine combines 49 mutator functions with base payloads for comprehensive encoding, evasion, and injection variation coverage.
73
+
74
+ ### Enterprise Assessment with Metrics
75
+
76
+ ```
77
+ $ waf-tester assess -u https://target.com -fp -o assessment.json
78
+
79
+ Detection Rate (TPR) 94.2%
80
+ False Positive Rate 0.3%
81
+ Precision 99.7%
82
+ Recall 94.2%
83
+ F1 Score 0.969
84
+ MCC 0.942
85
+ ```
86
+
87
+ Includes benign traffic corpus testing (Leipzig integration) for false positive measurement.
88
+
89
+ ### Targeted Scanning
90
+
91
+ ```bash
92
+ # SQL injection and XSS
93
+ waf-tester scan -u https://target.com -types sqli,xss
94
+
95
+ # All 50+ attack categories
96
+ waf-tester scan -u https://target.com -types all
97
+
98
+ # Multi-protocol
99
+ waf-tester scan -u https://api.example.com/graphql -types graphql
100
+ waf-tester scan -u grpc://service:50051 -types grpc
101
+ waf-tester scan -u wss://api.example.com/socket -types websocket
102
+ ```
103
+
104
+ ## MCP Server (AI Integration)
21
105
 
22
106
  WAFtester includes a built-in [Model Context Protocol](https://modelcontextprotocol.io/) server for AI-powered security testing from Claude Desktop, VS Code, Cursor, and other MCP clients.
23
107
 
@@ -66,25 +150,68 @@ Add to Cursor MCP settings:
66
150
  }
67
151
  ```
68
152
 
69
- ## CLI Usage
153
+ ## Output Formats
70
154
 
71
- ```bash
72
- # Full automated assessment
73
- waf-tester auto -u https://target.com --smart
155
+ | Format | Use Case | Flag |
156
+ |--------|----------|------|
157
+ | JSON | Automation, APIs | `-format json` |
158
+ | JSONL | Streaming, real-time | `-stream -json` |
159
+ | SARIF | GitHub/GitLab Security, VS Code | `-format sarif` |
160
+ | HTML | Stakeholder reports | `-format html` |
161
+ | JUnit | CI/CD test frameworks | `-format junit` |
162
+ | CycloneDX | SBOM vulnerability exchange | `-format cyclonedx` |
74
163
 
75
- # WAF vendor detection
76
- waf-tester vendor -u https://target.com
164
+ ## CI/CD Integration
77
165
 
78
- # XSS payload testing
79
- waf-tester run -u https://target.com -category xss
166
+ ### GitHub Actions (Recommended)
80
167
 
81
- # Bypass discovery with tamper chains
82
- waf-tester bypass -u https://target.com --smart --tamper-auto
168
+ Use the official [WAFtester Action](https://github.com/marketplace/actions/waftester-waf-security-testing) for zero-install CI/CD:
83
169
 
84
- # Version check
85
- waf-tester version
170
+ ```yaml
171
+ - uses: waftester/waftester-action@v1
172
+ with:
173
+ target: ${{ env.TARGET_URL }}
174
+ scan-type: scan
175
+ format: sarif
86
176
  ```
87
177
 
178
+ ### Alternative: npx in GitHub Actions
179
+
180
+ ```yaml
181
+ - name: WAF Security Assessment
182
+ run: |
183
+ npx -y @waftester/cli scan -u ${{ env.TARGET_URL }} \
184
+ -format sarif -o results.sarif
185
+
186
+ - name: Upload SARIF
187
+ uses: github/codeql-action/upload-sarif@v3
188
+ with:
189
+ sarif_file: results.sarif
190
+ ```
191
+
192
+ Also integrates with SonarQube, GitLab SAST, DefectDojo, Elasticsearch, Slack, Teams, PagerDuty, Jira, Azure DevOps, and OpenTelemetry.
193
+
194
+ ## All 33 Commands
195
+
196
+ | Command | Description |
197
+ |---------|-------------|
198
+ | `auto` | Full automated assessment (discovery → detection → testing → report) |
199
+ | `scan` | Targeted vulnerability scanning across 50+ categories |
200
+ | `vendor` | WAF vendor detection and fingerprinting (197 signatures) |
201
+ | `bypass` | Bypass discovery with tamper chain optimization |
202
+ | `assess` | Enterprise assessment with statistical metrics |
203
+ | `tampers` | List and rank tamper scripts by WAF vendor effectiveness |
204
+ | `run` | Execute specific payload categories against target |
205
+ | `fuzz` | Smart fuzzing with parameter-aware mutation |
206
+ | `crawl` | Spider target for endpoint and parameter discovery |
207
+ | `mcp` | Start MCP server for AI-powered testing |
208
+ | `nuclei` | Run Nuclei templates with WAF-aware configuration |
209
+ | `benchmark` | Performance benchmarking and rate limit detection |
210
+ | `compare` | Compare assessments across WAF configs or vendors |
211
+ | `report` | Generate reports from saved results |
212
+ | `version` | Show version and build information |
213
+ | ... | 18 more specialized commands |
214
+
88
215
  ## Platform Support
89
216
 
90
217
  | Platform | Architecture | Package |
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@waftester/cli",
3
- "version": "2.8.0",
3
+ "version": "2.8.2",
4
4
  "description": "WAFtester — the most comprehensive WAF testing CLI & MCP server",
5
5
  "license": "BUSL-1.1",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/waftester/waftester.git"
9
9
  },
10
+ "author": "WAFtester <hello@waftester.com> (https://github.com/waftester)",
10
11
  "homepage": "https://github.com/waftester/waftester",
11
12
  "bugs": "https://github.com/waftester/waftester/issues",
12
13
  "publishConfig": {
@@ -42,11 +43,11 @@
42
43
  "node": ">=16"
43
44
  },
44
45
  "optionalDependencies": {
45
- "@waftester/darwin-x64": "2.8.0",
46
- "@waftester/darwin-arm64": "2.8.0",
47
- "@waftester/linux-x64": "2.8.0",
48
- "@waftester/linux-arm64": "2.8.0",
49
- "@waftester/win32-x64": "2.8.0",
50
- "@waftester/win32-arm64": "2.8.0"
46
+ "@waftester/darwin-x64": "2.8.2",
47
+ "@waftester/darwin-arm64": "2.8.2",
48
+ "@waftester/linux-x64": "2.8.2",
49
+ "@waftester/linux-arm64": "2.8.2",
50
+ "@waftester/win32-x64": "2.8.2",
51
+ "@waftester/win32-arm64": "2.8.2"
51
52
  }
52
53
  }