@waftester/cli 2.9.5 → 2.9.7

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.
package/README.md CHANGED
@@ -5,14 +5,14 @@
5
5
  [![license](https://img.shields.io/npm/l/@waftester/cli)](https://github.com/waftester/waftester/blob/main/LICENSE)
6
6
  [![platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-blue)](https://npmjs.com/package/@waftester/cli)
7
7
 
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).
8
+ The most comprehensive WAF testing CLI & MCP server. Detect, fingerprint, and bypass Web Application Firewalls with **2,800+ payloads**, **90+ tamper scripts**, and quantitative security metrics (FPR, F1, MCC).
9
9
 
10
10
  ## Why WAFtester?
11
11
 
12
12
  | Traditional Approach | WAFtester |
13
13
  |---------------------|-----------|
14
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 |
15
+ | Manually select tampers per WAF vendor | Auto-selects from 90+ tampers based on detected WAF |
16
16
  | Binary pass/fail results | Statistical metrics: FPR, Precision, F1 Score, MCC |
17
17
  | HTTP only | Native GraphQL, gRPC, SOAP, WebSocket support |
18
18
  | Manual result correlation | Unified JSON, SARIF, HTML, JUnit, CycloneDX output |
@@ -21,11 +21,11 @@ The most comprehensive WAF testing CLI & MCP server. Detect, fingerprint, and by
21
21
 
22
22
  ```bash
23
23
  # Run without installing — downloads correct binary for your platform
24
- npx -y @waftester/cli scan --target https://example.com
24
+ npx -y @waftester/cli scan -u https://example.com
25
25
 
26
26
  # Or install globally
27
27
  npm install -g @waftester/cli
28
- waf-tester scan --target https://example.com
28
+ waf-tester scan -u https://example.com
29
29
  ```
30
30
 
31
31
  ## What You Can Do
@@ -71,6 +71,16 @@ Top Bypass Chains:
71
71
 
72
72
  The mutation engine combines 49 mutator functions with base payloads for comprehensive encoding, evasion, and injection variation coverage.
73
73
 
74
+ Automate bypass chain discovery by testing tamper combinations against WAF rules:
75
+
76
+ ```bash
77
+ # Automated bypass discovery — tests tamper combinations systematically
78
+ waf-tester bypass -u https://target.com --discover
79
+
80
+ # Write custom tamper scripts in Tengo and load from a directory
81
+ waf-tester scan -u https://target.com --tamper-dir ./my-tampers
82
+ ```
83
+
74
84
  ### Enterprise Assessment with Metrics
75
85
 
76
86
  ```
@@ -101,9 +111,19 @@ waf-tester scan -u grpc://service:50051 -types grpc
101
111
  waf-tester scan -u wss://api.example.com/socket -types websocket
102
112
  ```
103
113
 
114
+ ### Browser & SPA Testing
115
+
116
+ ```bash
117
+ # DOM event crawling — discovers hidden UI states in single-page apps
118
+ waf-tester headless -u https://spa.example.com --event-crawl
119
+
120
+ # Browser-based scanning for JavaScript-rendered targets
121
+ waf-tester headless -u https://app.example.com --smart
122
+ ```
123
+
104
124
  ## MCP Server (AI Integration)
105
125
 
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.
126
+ WAFtester includes a built-in [Model Context Protocol](https://modelcontextprotocol.io/) server with **27 tools**, **7 guided prompts**, and **12 resources** for AI-powered security testing from Claude Desktop, VS Code, Cursor, and other MCP clients.
107
127
 
108
128
  ### Claude Desktop
109
129
 
@@ -150,6 +170,24 @@ Add to Cursor MCP settings:
150
170
  }
151
171
  ```
152
172
 
173
+ ## API Spec Scanning
174
+
175
+ Scan OpenAPI, Swagger, Postman, HAR, AsyncAPI, gRPC, and GraphQL endpoints with one command:
176
+
177
+ ```bash
178
+ # OpenAPI / Swagger spec (auto-detected)
179
+ waf-tester scan --spec openapi.yaml -u https://api.example.com
180
+
181
+ # Postman Collection with environment variables
182
+ waf-tester scan --spec collection.postman_collection.json --env staging.postman_environment.json
183
+
184
+ # HAR recording from browser DevTools
185
+ waf-tester scan --spec recording.har -u https://api.example.com
186
+
187
+ # Preview endpoints without scanning
188
+ waf-tester scan --spec openapi.yaml -u https://api.example.com --dry-run
189
+ ```
190
+
153
191
  ## Output Formats
154
192
 
155
193
  | Format | Use Case | Flag |
@@ -191,26 +229,37 @@ Use the official [WAFtester Action](https://github.com/marketplace/actions/wafte
191
229
 
192
230
  Also integrates with SonarQube, GitLab SAST, DefectDojo, Elasticsearch, Slack, Teams, PagerDuty, Jira, Azure DevOps, and OpenTelemetry.
193
231
 
194
- ## All 33 Commands
232
+ ## All 36 Commands
195
233
 
196
234
  | Command | Description |
197
235
  |---------|-------------|
198
236
  | `auto` | Full automated assessment (discovery → detection → testing → report) |
199
237
  | `scan` | Targeted vulnerability scanning across 50+ categories |
200
238
  | `vendor` | WAF vendor detection and fingerprinting (197 signatures) |
239
+ | `probe` | WAF detection + protocol info in one pass |
201
240
  | `bypass` | Bypass discovery with tamper chain optimization |
202
241
  | `assess` | Enterprise assessment with statistical metrics |
203
242
  | `tampers` | List and rank tamper scripts by WAF vendor effectiveness |
204
- | `run` | Execute specific payload categories against target |
243
+ | `discover` | Full discovery (crawl + JS + sitemap + Wayback + event crawl) |
205
244
  | `fuzz` | Smart fuzzing with parameter-aware mutation |
206
- | `crawl` | Spider target for endpoint and parameter discovery |
245
+ | `mutate` | Mutation matrix testing (49 mutator functions) |
246
+ | `headless` | Browser-based testing for JS-rendered targets |
247
+ | `template` | Run Nuclei-compatible YAML templates (HTTP, DNS, TCP, UDP) |
248
+ | `openapi` | Scan OpenAPI/Swagger spec endpoints |
249
+ | `grpc` | Test gRPC services via reflection |
250
+ | `soap` | Test SOAP/WSDL endpoints |
207
251
  | `mcp` | Start MCP server for AI-powered testing |
208
- | `nuclei` | Run Nuclei templates with WAF-aware configuration |
252
+ | `cicd` | Generate CI/CD pipeline configs |
253
+ | `crawl` | Spider target for endpoint and parameter discovery |
254
+ | `analyze` | JavaScript analysis for endpoints and secrets |
255
+ | `cloud` | Cloud resource discovery |
256
+ | `report` | Generate reports from saved results |
257
+ | `run` | Execute specific payload categories against target |
209
258
  | `benchmark` | Performance benchmarking and rate limit detection |
210
259
  | `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 |
260
+ | `race` | Race condition testing |
261
+ | `smuggle` | HTTP request smuggling tests |
262
+ | ... | 10 more specialized commands |
214
263
 
215
264
  ## Platform Support
216
265
 
@@ -241,8 +290,12 @@ Community payloads are licensed under [MIT](https://github.com/waftester/waftest
241
290
 
242
291
  ## Links
243
292
 
293
+ - [Website](https://waftester.com)
294
+ - [Documentation](https://waftester.com/docs)
295
+ - [Command Reference](https://waftester.com/commands)
296
+ - [Cheat Sheet](https://waftester.com/cheat-sheet)
244
297
  - [GitHub](https://github.com/waftester/waftester)
245
- - [Documentation](https://github.com/waftester/waftester/blob/main/docs/EXAMPLES.md)
298
+ - [Examples](https://github.com/waftester/waftester/blob/main/docs/EXAMPLES.md)
246
299
  - [Installation Guide](https://github.com/waftester/waftester/blob/main/docs/INSTALLATION.md)
247
300
  - [Changelog](https://github.com/waftester/waftester/blob/main/CHANGELOG.md)
248
301
  - [Issues](https://github.com/waftester/waftester/issues)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waftester/cli",
3
- "version": "2.9.5",
3
+ "version": "2.9.7",
4
4
  "description": "WAFtester — the most comprehensive WAF testing CLI & MCP server",
5
5
  "license": "BUSL-1.1",
6
6
  "repository": {
@@ -43,11 +43,11 @@
43
43
  "node": ">=16"
44
44
  },
45
45
  "optionalDependencies": {
46
- "@waftester/darwin-x64": "2.9.5",
47
- "@waftester/darwin-arm64": "2.9.5",
48
- "@waftester/linux-x64": "2.9.5",
49
- "@waftester/linux-arm64": "2.9.5",
50
- "@waftester/win32-x64": "2.9.5",
51
- "@waftester/win32-arm64": "2.9.5"
46
+ "@waftester/darwin-x64": "2.9.7",
47
+ "@waftester/darwin-arm64": "2.9.7",
48
+ "@waftester/linux-x64": "2.9.7",
49
+ "@waftester/linux-arm64": "2.9.7",
50
+ "@waftester/win32-x64": "2.9.7",
51
+ "@waftester/win32-arm64": "2.9.7"
52
52
  }
53
53
  }
@@ -0,0 +1,20 @@
1
+ // Package templates embeds all bundled template files for distribution.
2
+ //
3
+ // This ensures templates are available regardless of installation method
4
+ // (Homebrew, Scoop, npm, Docker, or manual download). The CLI falls back
5
+ // to these embedded templates when no on-disk templates directory exists.
6
+ //
7
+ // Usage:
8
+ //
9
+ // fs := templates.FS
10
+ // data, _ := fs.ReadFile("policies/strict.yaml")
11
+ package templates
12
+
13
+ import "embed"
14
+
15
+ // FS contains all bundled template files (nuclei, workflows, policies,
16
+ // overrides, output formats, and report configs). Subdirectory structure
17
+ // matches the on-disk templates/ layout minus this Go file and README.md.
18
+ //
19
+ //go:embed nuclei/**/* workflows/*.yaml policies/*.yaml overrides/*.yaml output/*.tmpl report-configs/*.yaml
20
+ var FS embed.FS