@qball-inc/the-bulwark 1.0.0
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/.claude-plugin/plugin.json +43 -0
- package/agents/bulwark-fix-validator.md +633 -0
- package/agents/bulwark-implementer.md +391 -0
- package/agents/bulwark-issue-analyzer.md +308 -0
- package/agents/bulwark-standards-reviewer.md +221 -0
- package/agents/plan-creation-architect.md +323 -0
- package/agents/plan-creation-eng-lead.md +352 -0
- package/agents/plan-creation-po.md +300 -0
- package/agents/plan-creation-qa-critic.md +334 -0
- package/agents/product-ideation-competitive-analyzer.md +298 -0
- package/agents/product-ideation-idea-validator.md +268 -0
- package/agents/product-ideation-market-researcher.md +292 -0
- package/agents/product-ideation-pattern-documenter.md +308 -0
- package/agents/product-ideation-segment-analyzer.md +303 -0
- package/agents/product-ideation-strategist.md +259 -0
- package/agents/statusline-setup.md +97 -0
- package/hooks/hooks.json +59 -0
- package/package.json +45 -0
- package/scripts/hooks/cleanup-stale.sh +13 -0
- package/scripts/hooks/enforce-quality.sh +166 -0
- package/scripts/hooks/implementer-quality.sh +256 -0
- package/scripts/hooks/inject-protocol.sh +52 -0
- package/scripts/hooks/suggest-pipeline.sh +175 -0
- package/scripts/hooks/track-pipeline-start.sh +37 -0
- package/scripts/hooks/track-pipeline-stop.sh +52 -0
- package/scripts/init-rules.sh +35 -0
- package/scripts/init.sh +151 -0
- package/skills/anthropic-validator/SKILL.md +607 -0
- package/skills/anthropic-validator/references/agents-checklist.md +131 -0
- package/skills/anthropic-validator/references/commands-checklist.md +102 -0
- package/skills/anthropic-validator/references/hooks-checklist.md +151 -0
- package/skills/anthropic-validator/references/mcp-checklist.md +136 -0
- package/skills/anthropic-validator/references/plugins-checklist.md +148 -0
- package/skills/anthropic-validator/references/skills-checklist.md +85 -0
- package/skills/assertion-patterns/SKILL.md +296 -0
- package/skills/bug-magnet-data/SKILL.md +284 -0
- package/skills/bug-magnet-data/context/cli-args.md +91 -0
- package/skills/bug-magnet-data/context/db-query.md +104 -0
- package/skills/bug-magnet-data/context/file-contents.md +103 -0
- package/skills/bug-magnet-data/context/http-body.md +91 -0
- package/skills/bug-magnet-data/context/process-spawn.md +123 -0
- package/skills/bug-magnet-data/data/booleans/boundaries.yaml +143 -0
- package/skills/bug-magnet-data/data/collections/arrays.yaml +114 -0
- package/skills/bug-magnet-data/data/collections/objects.yaml +123 -0
- package/skills/bug-magnet-data/data/concurrency/race-conditions.yaml +118 -0
- package/skills/bug-magnet-data/data/concurrency/state-machines.yaml +115 -0
- package/skills/bug-magnet-data/data/dates/boundaries.yaml +137 -0
- package/skills/bug-magnet-data/data/dates/invalid.yaml +132 -0
- package/skills/bug-magnet-data/data/dates/timezone.yaml +118 -0
- package/skills/bug-magnet-data/data/encoding/charset.yaml +79 -0
- package/skills/bug-magnet-data/data/encoding/normalization.yaml +105 -0
- package/skills/bug-magnet-data/data/formats/email.yaml +154 -0
- package/skills/bug-magnet-data/data/formats/json.yaml +187 -0
- package/skills/bug-magnet-data/data/formats/url.yaml +165 -0
- package/skills/bug-magnet-data/data/language-specific/javascript.yaml +182 -0
- package/skills/bug-magnet-data/data/language-specific/python.yaml +174 -0
- package/skills/bug-magnet-data/data/language-specific/rust.yaml +148 -0
- package/skills/bug-magnet-data/data/numbers/boundaries.yaml +161 -0
- package/skills/bug-magnet-data/data/numbers/precision.yaml +89 -0
- package/skills/bug-magnet-data/data/numbers/special.yaml +69 -0
- package/skills/bug-magnet-data/data/strings/boundaries.yaml +109 -0
- package/skills/bug-magnet-data/data/strings/injection.yaml +208 -0
- package/skills/bug-magnet-data/data/strings/special-chars.yaml +190 -0
- package/skills/bug-magnet-data/data/strings/unicode.yaml +139 -0
- package/skills/bug-magnet-data/references/external-lists.md +115 -0
- package/skills/bulwark-brainstorm/SKILL.md +563 -0
- package/skills/bulwark-brainstorm/references/at-teammate-prompts.md +60 -0
- package/skills/bulwark-brainstorm/references/role-critical-analyst.md +78 -0
- package/skills/bulwark-brainstorm/references/role-development-lead.md +66 -0
- package/skills/bulwark-brainstorm/references/role-product-delivery-lead.md +79 -0
- package/skills/bulwark-brainstorm/references/role-product-manager.md +62 -0
- package/skills/bulwark-brainstorm/references/role-project-sme.md +59 -0
- package/skills/bulwark-brainstorm/references/role-technical-architect.md +66 -0
- package/skills/bulwark-research/SKILL.md +298 -0
- package/skills/bulwark-research/references/viewpoint-contrarian.md +63 -0
- package/skills/bulwark-research/references/viewpoint-direct-investigation.md +62 -0
- package/skills/bulwark-research/references/viewpoint-first-principles.md +65 -0
- package/skills/bulwark-research/references/viewpoint-practitioner.md +62 -0
- package/skills/bulwark-research/references/viewpoint-prior-art.md +66 -0
- package/skills/bulwark-scaffold/SKILL.md +330 -0
- package/skills/bulwark-statusline/SKILL.md +161 -0
- package/skills/bulwark-statusline/scripts/statusline.sh +144 -0
- package/skills/bulwark-verify/SKILL.md +519 -0
- package/skills/code-review/SKILL.md +428 -0
- package/skills/code-review/examples/anti-patterns/linting.ts +181 -0
- package/skills/code-review/examples/anti-patterns/security.ts +91 -0
- package/skills/code-review/examples/anti-patterns/standards.ts +195 -0
- package/skills/code-review/examples/anti-patterns/type-safety.ts +108 -0
- package/skills/code-review/examples/recommended/linting.ts +195 -0
- package/skills/code-review/examples/recommended/security.ts +154 -0
- package/skills/code-review/examples/recommended/standards.ts +231 -0
- package/skills/code-review/examples/recommended/type-safety.ts +181 -0
- package/skills/code-review/frameworks/angular.md +218 -0
- package/skills/code-review/frameworks/django.md +235 -0
- package/skills/code-review/frameworks/express.md +207 -0
- package/skills/code-review/frameworks/flask.md +298 -0
- package/skills/code-review/frameworks/generic.md +146 -0
- package/skills/code-review/frameworks/react.md +152 -0
- package/skills/code-review/frameworks/vue.md +244 -0
- package/skills/code-review/references/linting-patterns.md +221 -0
- package/skills/code-review/references/security-patterns.md +125 -0
- package/skills/code-review/references/standards-patterns.md +246 -0
- package/skills/code-review/references/type-safety-patterns.md +130 -0
- package/skills/component-patterns/SKILL.md +131 -0
- package/skills/component-patterns/references/pattern-cli-command.md +118 -0
- package/skills/component-patterns/references/pattern-database.md +166 -0
- package/skills/component-patterns/references/pattern-external-api.md +139 -0
- package/skills/component-patterns/references/pattern-file-parser.md +168 -0
- package/skills/component-patterns/references/pattern-http-server.md +162 -0
- package/skills/component-patterns/references/pattern-process-spawner.md +133 -0
- package/skills/continuous-feedback/SKILL.md +327 -0
- package/skills/continuous-feedback/references/collect-instructions.md +81 -0
- package/skills/continuous-feedback/references/specialize-code-review.md +82 -0
- package/skills/continuous-feedback/references/specialize-general.md +98 -0
- package/skills/continuous-feedback/references/specialize-test-audit.md +81 -0
- package/skills/create-skill/SKILL.md +359 -0
- package/skills/create-skill/references/agent-conventions.md +194 -0
- package/skills/create-skill/references/agent-template.md +195 -0
- package/skills/create-skill/references/content-guidance.md +291 -0
- package/skills/create-skill/references/decision-framework.md +124 -0
- package/skills/create-skill/references/template-pipeline.md +217 -0
- package/skills/create-skill/references/template-reference-heavy.md +111 -0
- package/skills/create-skill/references/template-research.md +210 -0
- package/skills/create-skill/references/template-script-driven.md +172 -0
- package/skills/create-skill/references/template-simple.md +80 -0
- package/skills/create-subagent/SKILL.md +353 -0
- package/skills/create-subagent/references/agent-conventions.md +268 -0
- package/skills/create-subagent/references/content-guidance.md +232 -0
- package/skills/create-subagent/references/decision-framework.md +134 -0
- package/skills/create-subagent/references/template-single-agent.md +192 -0
- package/skills/fix-bug/SKILL.md +241 -0
- package/skills/governance-protocol/SKILL.md +116 -0
- package/skills/init/SKILL.md +341 -0
- package/skills/issue-debugging/SKILL.md +385 -0
- package/skills/issue-debugging/references/anti-patterns.md +245 -0
- package/skills/issue-debugging/references/debug-report-schema.md +227 -0
- package/skills/mock-detection/SKILL.md +511 -0
- package/skills/mock-detection/references/false-positive-prevention.md +402 -0
- package/skills/mock-detection/references/stub-patterns.md +236 -0
- package/skills/pipeline-templates/SKILL.md +215 -0
- package/skills/pipeline-templates/references/code-change-workflow.md +277 -0
- package/skills/pipeline-templates/references/code-review.md +336 -0
- package/skills/pipeline-templates/references/fix-validation.md +421 -0
- package/skills/pipeline-templates/references/new-feature.md +335 -0
- package/skills/pipeline-templates/references/research-brainstorm.md +161 -0
- package/skills/pipeline-templates/references/research-planning.md +257 -0
- package/skills/pipeline-templates/references/test-audit.md +389 -0
- package/skills/pipeline-templates/references/test-execution-fix.md +238 -0
- package/skills/plan-creation/SKILL.md +497 -0
- package/skills/product-ideation/SKILL.md +372 -0
- package/skills/product-ideation/references/analysis-frameworks.md +161 -0
- package/skills/session-handoff/SKILL.md +139 -0
- package/skills/session-handoff/references/examples.md +223 -0
- package/skills/setup-lsp/SKILL.md +312 -0
- package/skills/setup-lsp/references/server-registry.md +85 -0
- package/skills/setup-lsp/references/troubleshooting.md +135 -0
- package/skills/subagent-output-templating/SKILL.md +415 -0
- package/skills/subagent-output-templating/references/examples.md +440 -0
- package/skills/subagent-prompting/SKILL.md +364 -0
- package/skills/subagent-prompting/references/examples.md +342 -0
- package/skills/test-audit/SKILL.md +531 -0
- package/skills/test-audit/references/known-limitations.md +41 -0
- package/skills/test-audit/references/priority-classification.md +30 -0
- package/skills/test-audit/references/prompts/deep-mode-detection.md +83 -0
- package/skills/test-audit/references/prompts/synthesis.md +57 -0
- package/skills/test-audit/references/rewrite-instructions.md +46 -0
- package/skills/test-audit/references/schemas/audit-output.yaml +100 -0
- package/skills/test-audit/references/schemas/diagnostic-output.yaml +49 -0
- package/skills/test-audit/scripts/data-flow-analyzer.ts +509 -0
- package/skills/test-audit/scripts/integration-mock-detector.ts +462 -0
- package/skills/test-audit/scripts/package.json +20 -0
- package/skills/test-audit/scripts/skip-detector.ts +211 -0
- package/skills/test-audit/scripts/verification-counter.ts +295 -0
- package/skills/test-classification/SKILL.md +310 -0
- package/skills/test-fixture-creation/SKILL.md +295 -0
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
last_updated: "2026-02-01"
|
|
4
|
+
source_urls:
|
|
5
|
+
- "https://owasp.org/www-project-web-security-testing-guide/v42/6-Appendix/C-Fuzz_Vectors"
|
|
6
|
+
|
|
7
|
+
category: strings
|
|
8
|
+
subcategory: injection
|
|
9
|
+
tier: T1
|
|
10
|
+
severity: security
|
|
11
|
+
|
|
12
|
+
bugs_caught:
|
|
13
|
+
- "SQL injection"
|
|
14
|
+
- "Cross-site scripting (XSS)"
|
|
15
|
+
- "Command injection"
|
|
16
|
+
- "Path traversal"
|
|
17
|
+
|
|
18
|
+
values:
|
|
19
|
+
# SQL Injection - Safe for automation
|
|
20
|
+
sql_basic:
|
|
21
|
+
value: "' OR '1'='1"
|
|
22
|
+
bugs_caught:
|
|
23
|
+
- "SQL injection via string concatenation"
|
|
24
|
+
safe_for_automation: true
|
|
25
|
+
context_required: "Raw SQL queries"
|
|
26
|
+
|
|
27
|
+
sql_comment:
|
|
28
|
+
value: "' OR 1=1--"
|
|
29
|
+
bugs_caught:
|
|
30
|
+
- "SQL injection with comment"
|
|
31
|
+
safe_for_automation: true
|
|
32
|
+
context_required: "Raw SQL queries"
|
|
33
|
+
|
|
34
|
+
sql_union:
|
|
35
|
+
value: "' UNION SELECT NULL--"
|
|
36
|
+
bugs_caught:
|
|
37
|
+
- "SQL injection UNION attack"
|
|
38
|
+
safe_for_automation: true
|
|
39
|
+
context_required: "Raw SQL queries"
|
|
40
|
+
|
|
41
|
+
sql_stacked:
|
|
42
|
+
value: "'; SELECT 1--"
|
|
43
|
+
bugs_caught:
|
|
44
|
+
- "Stacked query injection"
|
|
45
|
+
safe_for_automation: true
|
|
46
|
+
context_required: "Raw SQL queries"
|
|
47
|
+
|
|
48
|
+
# SQL Injection - Destructive (manual only)
|
|
49
|
+
sql_drop:
|
|
50
|
+
value: "'; DROP TABLE users--"
|
|
51
|
+
bugs_caught:
|
|
52
|
+
- "SQL injection allowing data destruction"
|
|
53
|
+
safe_for_automation: false
|
|
54
|
+
manual_only: true
|
|
55
|
+
context_required: "Raw SQL queries"
|
|
56
|
+
|
|
57
|
+
sql_truncate:
|
|
58
|
+
value: "'; TRUNCATE TABLE users--"
|
|
59
|
+
bugs_caught:
|
|
60
|
+
- "SQL injection data deletion"
|
|
61
|
+
safe_for_automation: false
|
|
62
|
+
manual_only: true
|
|
63
|
+
context_required: "Raw SQL queries"
|
|
64
|
+
|
|
65
|
+
# XSS - Safe patterns
|
|
66
|
+
xss_script_tag:
|
|
67
|
+
value: "<script>alert('XSS')</script>"
|
|
68
|
+
bugs_caught:
|
|
69
|
+
- "Reflected XSS"
|
|
70
|
+
- "Unescaped output"
|
|
71
|
+
safe_for_automation: true
|
|
72
|
+
context_required: "HTML rendering"
|
|
73
|
+
|
|
74
|
+
xss_img_onerror:
|
|
75
|
+
value: "<img src=x onerror=alert('XSS')>"
|
|
76
|
+
bugs_caught:
|
|
77
|
+
- "Event handler XSS"
|
|
78
|
+
safe_for_automation: true
|
|
79
|
+
context_required: "HTML rendering"
|
|
80
|
+
|
|
81
|
+
xss_svg:
|
|
82
|
+
value: "<svg onload=alert('XSS')>"
|
|
83
|
+
bugs_caught:
|
|
84
|
+
- "SVG-based XSS"
|
|
85
|
+
safe_for_automation: true
|
|
86
|
+
context_required: "HTML rendering"
|
|
87
|
+
|
|
88
|
+
xss_href_javascript:
|
|
89
|
+
value: "javascript:alert('XSS')"
|
|
90
|
+
bugs_caught:
|
|
91
|
+
- "JavaScript protocol XSS"
|
|
92
|
+
safe_for_automation: true
|
|
93
|
+
context_required: "URL handling"
|
|
94
|
+
|
|
95
|
+
xss_data_uri:
|
|
96
|
+
value: "data:text/html,<script>alert('XSS')</script>"
|
|
97
|
+
bugs_caught:
|
|
98
|
+
- "Data URI XSS"
|
|
99
|
+
safe_for_automation: true
|
|
100
|
+
context_required: "URL handling"
|
|
101
|
+
|
|
102
|
+
xss_encoded:
|
|
103
|
+
value: "<script>alert('XSS')</script>"
|
|
104
|
+
bugs_caught:
|
|
105
|
+
- "Double encoding XSS"
|
|
106
|
+
safe_for_automation: true
|
|
107
|
+
context_required: "HTML rendering"
|
|
108
|
+
|
|
109
|
+
# Command Injection - Safe for detection
|
|
110
|
+
cmd_semicolon:
|
|
111
|
+
value: "; echo vulnerable"
|
|
112
|
+
bugs_caught:
|
|
113
|
+
- "Command injection via semicolon"
|
|
114
|
+
safe_for_automation: true
|
|
115
|
+
context_required: "Shell execution"
|
|
116
|
+
|
|
117
|
+
cmd_pipe:
|
|
118
|
+
value: "| echo vulnerable"
|
|
119
|
+
bugs_caught:
|
|
120
|
+
- "Command injection via pipe"
|
|
121
|
+
safe_for_automation: true
|
|
122
|
+
context_required: "Shell execution"
|
|
123
|
+
|
|
124
|
+
cmd_backtick:
|
|
125
|
+
value: "`echo vulnerable`"
|
|
126
|
+
bugs_caught:
|
|
127
|
+
- "Command substitution injection"
|
|
128
|
+
safe_for_automation: true
|
|
129
|
+
context_required: "Shell execution"
|
|
130
|
+
|
|
131
|
+
cmd_dollar:
|
|
132
|
+
value: "$(echo vulnerable)"
|
|
133
|
+
bugs_caught:
|
|
134
|
+
- "Command substitution injection"
|
|
135
|
+
safe_for_automation: true
|
|
136
|
+
context_required: "Shell execution"
|
|
137
|
+
|
|
138
|
+
cmd_newline:
|
|
139
|
+
value: "foo\necho vulnerable"
|
|
140
|
+
bugs_caught:
|
|
141
|
+
- "Newline command injection"
|
|
142
|
+
safe_for_automation: true
|
|
143
|
+
context_required: "Shell execution"
|
|
144
|
+
|
|
145
|
+
# Command Injection - Destructive (manual only)
|
|
146
|
+
cmd_rm:
|
|
147
|
+
value: "; rm -rf /"
|
|
148
|
+
bugs_caught:
|
|
149
|
+
- "Destructive command injection"
|
|
150
|
+
safe_for_automation: false
|
|
151
|
+
manual_only: true
|
|
152
|
+
context_required: "Shell execution"
|
|
153
|
+
|
|
154
|
+
# Path Traversal
|
|
155
|
+
path_traversal_basic:
|
|
156
|
+
value: "../../../etc/passwd"
|
|
157
|
+
bugs_caught:
|
|
158
|
+
- "Path traversal"
|
|
159
|
+
- "Directory escape"
|
|
160
|
+
safe_for_automation: true
|
|
161
|
+
|
|
162
|
+
path_traversal_encoded:
|
|
163
|
+
value: "..%2F..%2F..%2Fetc%2Fpasswd"
|
|
164
|
+
bugs_caught:
|
|
165
|
+
- "URL-encoded path traversal"
|
|
166
|
+
safe_for_automation: true
|
|
167
|
+
|
|
168
|
+
path_traversal_double:
|
|
169
|
+
value: "....//....//etc/passwd"
|
|
170
|
+
bugs_caught:
|
|
171
|
+
- "Double-encoded path traversal"
|
|
172
|
+
safe_for_automation: true
|
|
173
|
+
|
|
174
|
+
path_traversal_null:
|
|
175
|
+
value: "../../../etc/passwd%00.jpg"
|
|
176
|
+
bugs_caught:
|
|
177
|
+
- "Null byte path traversal"
|
|
178
|
+
safe_for_automation: true
|
|
179
|
+
|
|
180
|
+
# LDAP Injection
|
|
181
|
+
ldap_wildcard:
|
|
182
|
+
value: "*"
|
|
183
|
+
bugs_caught:
|
|
184
|
+
- "LDAP wildcard injection"
|
|
185
|
+
safe_for_automation: true
|
|
186
|
+
context_required: "LDAP queries"
|
|
187
|
+
|
|
188
|
+
ldap_escape:
|
|
189
|
+
value: "*)(&"
|
|
190
|
+
bugs_caught:
|
|
191
|
+
- "LDAP filter injection"
|
|
192
|
+
safe_for_automation: true
|
|
193
|
+
context_required: "LDAP queries"
|
|
194
|
+
|
|
195
|
+
# XML/XXE
|
|
196
|
+
xml_entity:
|
|
197
|
+
value: "<!DOCTYPE foo [<!ENTITY xxe SYSTEM \"file:///etc/passwd\">]>"
|
|
198
|
+
bugs_caught:
|
|
199
|
+
- "XML external entity injection"
|
|
200
|
+
safe_for_automation: true
|
|
201
|
+
context_required: "XML parsing"
|
|
202
|
+
|
|
203
|
+
xml_billion_laughs:
|
|
204
|
+
value: "<!DOCTYPE lolz [<!ENTITY lol \"lol\">]>"
|
|
205
|
+
bugs_caught:
|
|
206
|
+
- "XML entity expansion DoS"
|
|
207
|
+
safe_for_automation: true
|
|
208
|
+
context_required: "XML parsing"
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
last_updated: "2026-02-01"
|
|
4
|
+
source_urls: []
|
|
5
|
+
|
|
6
|
+
category: strings
|
|
7
|
+
subcategory: special-chars
|
|
8
|
+
tier: T1
|
|
9
|
+
|
|
10
|
+
bugs_caught:
|
|
11
|
+
- "Escape sequence handling"
|
|
12
|
+
- "Quote nesting failures"
|
|
13
|
+
- "Control character issues"
|
|
14
|
+
- "Delimiter confusion"
|
|
15
|
+
|
|
16
|
+
values:
|
|
17
|
+
single_quote:
|
|
18
|
+
value: "'"
|
|
19
|
+
bugs_caught:
|
|
20
|
+
- "SQL injection setup"
|
|
21
|
+
- "Quote escaping failures"
|
|
22
|
+
safe_for_automation: true
|
|
23
|
+
|
|
24
|
+
double_quote:
|
|
25
|
+
value: "\""
|
|
26
|
+
bugs_caught:
|
|
27
|
+
- "JSON parsing issues"
|
|
28
|
+
- "Quote escaping failures"
|
|
29
|
+
safe_for_automation: true
|
|
30
|
+
|
|
31
|
+
backtick:
|
|
32
|
+
value: "`"
|
|
33
|
+
bugs_caught:
|
|
34
|
+
- "Template literal issues"
|
|
35
|
+
- "Shell command injection"
|
|
36
|
+
safe_for_automation: true
|
|
37
|
+
|
|
38
|
+
backslash:
|
|
39
|
+
value: "\\"
|
|
40
|
+
bugs_caught:
|
|
41
|
+
- "Escape sequence handling"
|
|
42
|
+
- "Path handling on Windows"
|
|
43
|
+
safe_for_automation: true
|
|
44
|
+
|
|
45
|
+
forward_slash:
|
|
46
|
+
value: "/"
|
|
47
|
+
bugs_caught:
|
|
48
|
+
- "Path delimiter handling"
|
|
49
|
+
- "URL parsing"
|
|
50
|
+
safe_for_automation: true
|
|
51
|
+
|
|
52
|
+
newline:
|
|
53
|
+
value: "\n"
|
|
54
|
+
bugs_caught:
|
|
55
|
+
- "Newline handling"
|
|
56
|
+
- "Log injection"
|
|
57
|
+
safe_for_automation: true
|
|
58
|
+
|
|
59
|
+
carriage_return:
|
|
60
|
+
value: "\r"
|
|
61
|
+
bugs_caught:
|
|
62
|
+
- "CR handling"
|
|
63
|
+
- "HTTP response splitting"
|
|
64
|
+
safe_for_automation: true
|
|
65
|
+
|
|
66
|
+
crlf:
|
|
67
|
+
value: "\r\n"
|
|
68
|
+
bugs_caught:
|
|
69
|
+
- "Windows line ending handling"
|
|
70
|
+
- "HTTP header injection"
|
|
71
|
+
safe_for_automation: true
|
|
72
|
+
|
|
73
|
+
tab:
|
|
74
|
+
value: "\t"
|
|
75
|
+
bugs_caught:
|
|
76
|
+
- "Tab character handling"
|
|
77
|
+
- "TSV parsing"
|
|
78
|
+
safe_for_automation: true
|
|
79
|
+
|
|
80
|
+
mixed_quotes:
|
|
81
|
+
value: "He said \"it's fine\""
|
|
82
|
+
bugs_caught:
|
|
83
|
+
- "Nested quote handling"
|
|
84
|
+
- "Escaping in context"
|
|
85
|
+
safe_for_automation: true
|
|
86
|
+
|
|
87
|
+
curly_braces:
|
|
88
|
+
value: "{}"
|
|
89
|
+
bugs_caught:
|
|
90
|
+
- "Template placeholder handling"
|
|
91
|
+
- "JSON structure confusion"
|
|
92
|
+
safe_for_automation: true
|
|
93
|
+
|
|
94
|
+
square_brackets:
|
|
95
|
+
value: "[]"
|
|
96
|
+
bugs_caught:
|
|
97
|
+
- "Array notation confusion"
|
|
98
|
+
- "Regex character class"
|
|
99
|
+
safe_for_automation: true
|
|
100
|
+
|
|
101
|
+
parentheses:
|
|
102
|
+
value: "()"
|
|
103
|
+
bugs_caught:
|
|
104
|
+
- "Function call parsing"
|
|
105
|
+
- "Regex grouping"
|
|
106
|
+
safe_for_automation: true
|
|
107
|
+
|
|
108
|
+
angle_brackets:
|
|
109
|
+
value: "<>"
|
|
110
|
+
bugs_caught:
|
|
111
|
+
- "HTML/XML parsing"
|
|
112
|
+
- "Comparison operator confusion"
|
|
113
|
+
safe_for_automation: true
|
|
114
|
+
|
|
115
|
+
ampersand:
|
|
116
|
+
value: "&"
|
|
117
|
+
bugs_caught:
|
|
118
|
+
- "HTML entity handling"
|
|
119
|
+
- "URL parameter delimiter"
|
|
120
|
+
safe_for_automation: true
|
|
121
|
+
|
|
122
|
+
pipe:
|
|
123
|
+
value: "|"
|
|
124
|
+
bugs_caught:
|
|
125
|
+
- "Command chaining"
|
|
126
|
+
- "Delimiter confusion"
|
|
127
|
+
safe_for_automation: true
|
|
128
|
+
|
|
129
|
+
semicolon:
|
|
130
|
+
value: ";"
|
|
131
|
+
bugs_caught:
|
|
132
|
+
- "Command termination"
|
|
133
|
+
- "CSV parsing"
|
|
134
|
+
safe_for_automation: true
|
|
135
|
+
|
|
136
|
+
dollar_sign:
|
|
137
|
+
value: "$"
|
|
138
|
+
bugs_caught:
|
|
139
|
+
- "Variable expansion"
|
|
140
|
+
- "Currency handling"
|
|
141
|
+
safe_for_automation: true
|
|
142
|
+
|
|
143
|
+
at_sign:
|
|
144
|
+
value: "@"
|
|
145
|
+
bugs_caught:
|
|
146
|
+
- "Email parsing"
|
|
147
|
+
- "Mention handling"
|
|
148
|
+
safe_for_automation: true
|
|
149
|
+
|
|
150
|
+
hash:
|
|
151
|
+
value: "#"
|
|
152
|
+
bugs_caught:
|
|
153
|
+
- "Comment handling"
|
|
154
|
+
- "Anchor/fragment parsing"
|
|
155
|
+
safe_for_automation: true
|
|
156
|
+
|
|
157
|
+
percent:
|
|
158
|
+
value: "%"
|
|
159
|
+
bugs_caught:
|
|
160
|
+
- "URL encoding"
|
|
161
|
+
- "Format string"
|
|
162
|
+
safe_for_automation: true
|
|
163
|
+
|
|
164
|
+
asterisk:
|
|
165
|
+
value: "*"
|
|
166
|
+
bugs_caught:
|
|
167
|
+
- "Wildcard handling"
|
|
168
|
+
- "Regex quantifier"
|
|
169
|
+
safe_for_automation: true
|
|
170
|
+
|
|
171
|
+
control_char_bell:
|
|
172
|
+
value: "\x07"
|
|
173
|
+
bugs_caught:
|
|
174
|
+
- "Bell character handling"
|
|
175
|
+
- "Terminal escape"
|
|
176
|
+
safe_for_automation: true
|
|
177
|
+
|
|
178
|
+
control_char_backspace:
|
|
179
|
+
value: "\x08"
|
|
180
|
+
bugs_caught:
|
|
181
|
+
- "Backspace handling"
|
|
182
|
+
- "Log spoofing"
|
|
183
|
+
safe_for_automation: true
|
|
184
|
+
|
|
185
|
+
control_char_escape:
|
|
186
|
+
value: "\x1B"
|
|
187
|
+
bugs_caught:
|
|
188
|
+
- "ANSI escape sequences"
|
|
189
|
+
- "Terminal injection"
|
|
190
|
+
safe_for_automation: true
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
last_updated: "2026-02-01"
|
|
4
|
+
source_urls:
|
|
5
|
+
- "https://github.com/minimaxir/big-list-of-naughty-strings"
|
|
6
|
+
|
|
7
|
+
category: strings
|
|
8
|
+
subcategory: unicode
|
|
9
|
+
tier: T1
|
|
10
|
+
|
|
11
|
+
bugs_caught:
|
|
12
|
+
- "Multi-byte character handling"
|
|
13
|
+
- "Normalization mismatches"
|
|
14
|
+
- "String length calculation errors"
|
|
15
|
+
- "Display vs storage length mismatch"
|
|
16
|
+
|
|
17
|
+
values:
|
|
18
|
+
null_character:
|
|
19
|
+
value: "hello\x00world"
|
|
20
|
+
bugs_caught:
|
|
21
|
+
- "C-string termination confusion"
|
|
22
|
+
- "Null byte injection"
|
|
23
|
+
safe_for_automation: true
|
|
24
|
+
|
|
25
|
+
zero_width_space:
|
|
26
|
+
value: "hello\u200Bworld"
|
|
27
|
+
bugs_caught:
|
|
28
|
+
- "Invisible character handling"
|
|
29
|
+
- "String comparison failures"
|
|
30
|
+
safe_for_automation: true
|
|
31
|
+
|
|
32
|
+
zero_width_joiner:
|
|
33
|
+
value: "hello\u200Dworld"
|
|
34
|
+
bugs_caught:
|
|
35
|
+
- "Zero-width joiner handling"
|
|
36
|
+
safe_for_automation: true
|
|
37
|
+
|
|
38
|
+
zero_width_non_joiner:
|
|
39
|
+
value: "hello\u200Cworld"
|
|
40
|
+
bugs_caught:
|
|
41
|
+
- "Zero-width non-joiner handling"
|
|
42
|
+
safe_for_automation: true
|
|
43
|
+
|
|
44
|
+
rtl_override:
|
|
45
|
+
value: "hello\u202Eworld"
|
|
46
|
+
bugs_caught:
|
|
47
|
+
- "RTL override injection"
|
|
48
|
+
- "Display spoofing"
|
|
49
|
+
safe_for_automation: true
|
|
50
|
+
|
|
51
|
+
bom_utf8:
|
|
52
|
+
value: "\uFEFFhello"
|
|
53
|
+
bugs_caught:
|
|
54
|
+
- "BOM handling"
|
|
55
|
+
- "Invisible prefix issues"
|
|
56
|
+
safe_for_automation: true
|
|
57
|
+
|
|
58
|
+
emoji_basic:
|
|
59
|
+
value: "hello 😀 world"
|
|
60
|
+
bugs_caught:
|
|
61
|
+
- "Emoji character handling"
|
|
62
|
+
- "Length calculation (1 emoji = multiple bytes)"
|
|
63
|
+
safe_for_automation: true
|
|
64
|
+
|
|
65
|
+
emoji_zwj_sequence:
|
|
66
|
+
value: "👨👩👧👦"
|
|
67
|
+
bugs_caught:
|
|
68
|
+
- "Complex emoji handling"
|
|
69
|
+
- "Grapheme cluster length"
|
|
70
|
+
safe_for_automation: true
|
|
71
|
+
note: "Family emoji - single grapheme, multiple codepoints"
|
|
72
|
+
|
|
73
|
+
emoji_skin_tone:
|
|
74
|
+
value: "👋🏽"
|
|
75
|
+
bugs_caught:
|
|
76
|
+
- "Skin tone modifier handling"
|
|
77
|
+
safe_for_automation: true
|
|
78
|
+
|
|
79
|
+
combining_characters:
|
|
80
|
+
value: "é"
|
|
81
|
+
bugs_caught:
|
|
82
|
+
- "Combining diacritical marks"
|
|
83
|
+
- "Normalization differences (NFC vs NFD)"
|
|
84
|
+
safe_for_automation: true
|
|
85
|
+
note: "e + combining acute accent"
|
|
86
|
+
|
|
87
|
+
lookalike_cyrillic_a:
|
|
88
|
+
value: "pаypal"
|
|
89
|
+
bugs_caught:
|
|
90
|
+
- "Homoglyph attacks"
|
|
91
|
+
- "Visual spoofing"
|
|
92
|
+
safe_for_automation: true
|
|
93
|
+
note: "Contains Cyrillic 'а' not Latin 'a'"
|
|
94
|
+
|
|
95
|
+
mixed_scripts:
|
|
96
|
+
value: "Tωτ@ℓ"
|
|
97
|
+
bugs_caught:
|
|
98
|
+
- "Mixed script detection"
|
|
99
|
+
- "Security filtering bypass"
|
|
100
|
+
safe_for_automation: true
|
|
101
|
+
|
|
102
|
+
fullwidth_chars:
|
|
103
|
+
value: "hello"
|
|
104
|
+
bugs_caught:
|
|
105
|
+
- "Fullwidth vs halfwidth handling"
|
|
106
|
+
safe_for_automation: true
|
|
107
|
+
|
|
108
|
+
superscript_digits:
|
|
109
|
+
value: "10²"
|
|
110
|
+
bugs_caught:
|
|
111
|
+
- "Superscript number handling"
|
|
112
|
+
- "Numeric parsing"
|
|
113
|
+
safe_for_automation: true
|
|
114
|
+
|
|
115
|
+
mathematical_symbols:
|
|
116
|
+
value: "x∈ℝ"
|
|
117
|
+
bugs_caught:
|
|
118
|
+
- "Mathematical symbol handling"
|
|
119
|
+
safe_for_automation: true
|
|
120
|
+
|
|
121
|
+
cjk_characters:
|
|
122
|
+
value: "你好世界"
|
|
123
|
+
bugs_caught:
|
|
124
|
+
- "CJK character handling"
|
|
125
|
+
- "Multi-byte length"
|
|
126
|
+
safe_for_automation: true
|
|
127
|
+
|
|
128
|
+
arabic_text:
|
|
129
|
+
value: "مرحبا"
|
|
130
|
+
bugs_caught:
|
|
131
|
+
- "RTL text handling"
|
|
132
|
+
- "Arabic character support"
|
|
133
|
+
safe_for_automation: true
|
|
134
|
+
|
|
135
|
+
hebrew_text:
|
|
136
|
+
value: "שלום"
|
|
137
|
+
bugs_caught:
|
|
138
|
+
- "Hebrew RTL handling"
|
|
139
|
+
safe_for_automation: true
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# External Edge Case Lists
|
|
2
|
+
|
|
3
|
+
Reference URLs to maintained external sources. These are not embedded to avoid staleness.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Big List of Naughty Strings (BLNS)
|
|
8
|
+
|
|
9
|
+
**URL**: https://github.com/minimaxir/big-list-of-naughty-strings
|
|
10
|
+
|
|
11
|
+
**Description**: A comprehensive list of strings that have a high probability of causing issues when used as user input. Created by Max Woolf, this is one of the most widely-used edge case string collections.
|
|
12
|
+
|
|
13
|
+
**Categories covered**:
|
|
14
|
+
- Reserved strings
|
|
15
|
+
- Numeric strings
|
|
16
|
+
- Special characters
|
|
17
|
+
- Unicode edge cases
|
|
18
|
+
- Emoji
|
|
19
|
+
- Regional indicators
|
|
20
|
+
- Script injection
|
|
21
|
+
- SQL injection
|
|
22
|
+
- XSS patterns
|
|
23
|
+
- Server code injection
|
|
24
|
+
|
|
25
|
+
**Format**: Text file with one string per line
|
|
26
|
+
|
|
27
|
+
**License**: MIT
|
|
28
|
+
|
|
29
|
+
**Last verified**: 2026-02-01
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## OWASP Fuzz Vectors
|
|
34
|
+
|
|
35
|
+
**URL**: https://owasp.org/www-project-web-security-testing-guide/v42/6-Appendix/C-Fuzz_Vectors
|
|
36
|
+
|
|
37
|
+
**Description**: OWASP-maintained collection of fuzz testing vectors organized by vulnerability category. Part of the Web Security Testing Guide.
|
|
38
|
+
|
|
39
|
+
**Categories covered**:
|
|
40
|
+
- SQL Injection
|
|
41
|
+
- LDAP Injection
|
|
42
|
+
- XPath Injection
|
|
43
|
+
- XML Injection
|
|
44
|
+
- Command Injection
|
|
45
|
+
- Cross-Site Scripting (XSS)
|
|
46
|
+
- Format String Attacks
|
|
47
|
+
- Buffer Overflow patterns
|
|
48
|
+
- Integer Overflow patterns
|
|
49
|
+
|
|
50
|
+
**Format**: Web page with categorized examples
|
|
51
|
+
|
|
52
|
+
**License**: CC BY-SA 4.0
|
|
53
|
+
|
|
54
|
+
**Last verified**: 2026-02-01
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## SecLists
|
|
59
|
+
|
|
60
|
+
**URL**: https://github.com/danielmiessler/SecLists
|
|
61
|
+
|
|
62
|
+
**Description**: A collection of multiple types of lists used during security assessments. While primarily for penetration testing, contains valuable edge case data.
|
|
63
|
+
|
|
64
|
+
**Relevant directories**:
|
|
65
|
+
- `Fuzzing/` - General fuzzing payloads
|
|
66
|
+
- `Payloads/` - Injection payloads
|
|
67
|
+
- `Pattern-Matching/` - Detection patterns
|
|
68
|
+
|
|
69
|
+
**Note**: This is a large repository. Reference specific files rather than the entire repo.
|
|
70
|
+
|
|
71
|
+
**License**: MIT
|
|
72
|
+
|
|
73
|
+
**Last verified**: 2026-02-01
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Unicode Confusables
|
|
78
|
+
|
|
79
|
+
**URL**: https://www.unicode.org/Public/security/latest/confusables.txt
|
|
80
|
+
|
|
81
|
+
**Description**: Official Unicode Consortium list of visually confusable characters. Essential for homoglyph attack testing.
|
|
82
|
+
|
|
83
|
+
**Use cases**:
|
|
84
|
+
- Username spoofing detection
|
|
85
|
+
- Domain squatting detection
|
|
86
|
+
- Visual similarity checks
|
|
87
|
+
|
|
88
|
+
**Format**: Text file with mappings
|
|
89
|
+
|
|
90
|
+
**License**: Unicode License
|
|
91
|
+
|
|
92
|
+
**Last verified**: 2026-02-01
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Usage Guidelines
|
|
97
|
+
|
|
98
|
+
1. **Don't embed copies**: These lists are maintained externally. Reference the URLs.
|
|
99
|
+
|
|
100
|
+
2. **Check for updates**: External lists are updated periodically. The `last verified` date indicates when we confirmed the URL was valid.
|
|
101
|
+
|
|
102
|
+
3. **Curate subsets**: The bug-magnet-data YAML files contain curated subsets of these lists, not full copies.
|
|
103
|
+
|
|
104
|
+
4. **Attribution**: When using patterns from these sources, the data files include `source_urls` in metadata.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Suggesting New Sources
|
|
109
|
+
|
|
110
|
+
If you discover a valuable edge case source:
|
|
111
|
+
|
|
112
|
+
1. Verify it's actively maintained
|
|
113
|
+
2. Check licensing allows reference/citation
|
|
114
|
+
3. Identify which categories it covers
|
|
115
|
+
4. Add to this file with URL, description, and verification date
|