blitzstrike 1.0.82 → 1.0.83
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/CHANGELOG.md +22 -0
- package/README.md +24 -24
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/docs/AUTONOMY.md +48 -136
- package/docs/usage.md +1 -1
- package/package.json +1 -1
- package/intelligence/ab_signals.json +0 -722
- package/intelligence/attack_chains.json +0 -666
- package/intelligence/awaiting_input_markers.json +0 -37
- package/intelligence/endpoint_patterns.json +0 -541
- package/intelligence/escalation_patterns.json +0 -224
- package/intelligence/file_extensions.json +0 -6
- package/intelligence/patterns.json +0 -437
- package/intelligence/refusal_markers.json +0 -35
- package/intelligence/scan_profiles.json +0 -40
- package/intelligence/skills.json +0 -1185
- package/intelligence/tools.json +0 -1292
- package/intelligence/tools_meta.json +0 -1247
- package/intelligence/unified_patterns.json +0 -2329
- package/intelligence/verification_patterns.json +0 -52
- package/intelligence/vuln_ontology.json +0 -189
- package/intelligence/waff_bypass.json +0 -677
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"auth_failure_patterns": {
|
|
3
|
-
"401_unauthorized": "401|unauthorized|authentication required",
|
|
4
|
-
"403_forbidden": "403|forbidden|access denied",
|
|
5
|
-
"session_expired": "session expired|session timeout|logged out",
|
|
6
|
-
"csrf_token": "csrf|xsrf|token mismatch",
|
|
7
|
-
"login_required": "login required|sign in|please log"
|
|
8
|
-
},
|
|
9
|
-
"login_form_patterns": {
|
|
10
|
-
"username": "name=[\"']?(username|user|email|login)[\"']?",
|
|
11
|
-
"password": "name=[\"']?(password|pass|pwd)[\"']?",
|
|
12
|
-
"csrf": "name=[\"']?(csrf|_token|authenticity_token)[\"']?"
|
|
13
|
-
},
|
|
14
|
-
"clean_response_patterns": [
|
|
15
|
-
"csrf[_-]?token", "xsrf[_-]?token", "__VIEWSTATE", "JSESSIONID",
|
|
16
|
-
"set-cookie", "random[_-]?id", "timestamp", "nonce=", "uuid", "session[_-]?id"
|
|
17
|
-
],
|
|
18
|
-
"dynamic_content_markers": [
|
|
19
|
-
"\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}",
|
|
20
|
-
"\\d{10,13}",
|
|
21
|
-
"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
|
|
22
|
-
"Cache-Control:\\s*(no-cache|no-store|private)",
|
|
23
|
-
"Pragma:\\s*no-cache"
|
|
24
|
-
],
|
|
25
|
-
"honeypot_indicators": [
|
|
26
|
-
"honeypot|canary|trap",
|
|
27
|
-
"thank.*you.*for.*your.*submission",
|
|
28
|
-
"your.*request.*has.*been.*logged",
|
|
29
|
-
"security.*team.*has.*been.*notified",
|
|
30
|
-
"decoy|bait|sinkhole"
|
|
31
|
-
],
|
|
32
|
-
"waf_block_indicators": [
|
|
33
|
-
"access denied", "blocked", "forbidden", "not allowed", "security check"
|
|
34
|
-
],
|
|
35
|
-
"lfi_file_indicators": [
|
|
36
|
-
"root:x:", "daemon:x:", "bin:x:", "[extensions]", "fonts", "driver"
|
|
37
|
-
],
|
|
38
|
-
"sql_error_patterns": [
|
|
39
|
-
"sql syntax", "mysql_fetch", "ora-", "sqlite3::", "pg::", "unclosed quotation", "boolean expression"
|
|
40
|
-
],
|
|
41
|
-
"false_positive_indicators": [
|
|
42
|
-
"location header.*(?:<script|alert%3[ce]|%3[cC]script)",
|
|
43
|
-
"(?:301|302).*redirect.*location.*(?:<script|alert|%3[cC])",
|
|
44
|
-
"redirects to.*test=<script>",
|
|
45
|
-
"reflects.*(?:user-controlled|user-supplied).*(?:input|parameter).*(?:verbatim|unmodified|unchanged).*(?:location|url|destination).*(?:header|301|302|redirect)",
|
|
46
|
-
"redirect.*verif(?:i|y|ication).*location.*header",
|
|
47
|
-
"payload.*verbatim.*location.*header"
|
|
48
|
-
],
|
|
49
|
-
"url_encoding_checks": [
|
|
50
|
-
"%3C", "%3c", "%3E", "%3e", "%27", "%22", "%3C%2F", "%3c%2f"
|
|
51
|
-
]
|
|
52
|
-
}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_comment": "Unified Vulnerability Ontology — replaces 8 independent keyword classifiers",
|
|
3
|
-
"_version": "1.0.0",
|
|
4
|
-
"_design": "Single source of truth for vuln detection, categorization, escalation, and dedup",
|
|
5
|
-
"_learning": "New categories discovered during engagements are appended here automatically",
|
|
6
|
-
|
|
7
|
-
"categories": {
|
|
8
|
-
"INJECTION": {
|
|
9
|
-
"parent": "CWE-74",
|
|
10
|
-
"children": ["SQL_INJECTION", "NOSQL_INJECTION", "COMMAND_INJECTION", "LDAP_INJECTION", "XXE", "SSTI", "TEMPLATE_INJECTION"],
|
|
11
|
-
"synonyms": ["injection", "inject", "payload", "sanitize", "escape", "bypass"],
|
|
12
|
-
"regex_signals": [
|
|
13
|
-
{"pattern": "(union\\s+(all\\s+)?select|'\\s*(or|and)\\s+'|sleep\\s*\\(|benchmark\\s*\\()", "label": "SQL_INJECTION", "weight": 0.9},
|
|
14
|
-
{"pattern": "(\\$ne|\\$gt|\\$regex|\\$where)", "label": "NOSQL_INJECTION", "weight": 0.85},
|
|
15
|
-
{"pattern": "(;\\s*(ls|cat|id|whoami)|`[^`]+`|\\$\\([^)]+\\))", "label": "COMMAND_INJECTION", "weight": 0.9},
|
|
16
|
-
{"pattern": "(\\{\\{.*\\}\\}|\\$\\{.*\\}|<%.*%>)", "label": "SSTI", "weight": 0.85},
|
|
17
|
-
{"pattern": "(doctype.*system|ENTITY.*SYSTEM)", "label": "XXE", "weight": 0.9}
|
|
18
|
-
],
|
|
19
|
-
"escalation_targets": ["DATA", "CODE", "ACCESS"],
|
|
20
|
-
"dedup_key_fields": ["endpoint", "parameter", "injection_type"]
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
"AUTHENTICATION": {
|
|
24
|
-
"parent": "CWE-287",
|
|
25
|
-
"children": ["CREDENTIAL_EXPOSURE", "SESSION_HIJACK", "JWT_WEAKNESS", "OAUTH_BYPASS", "MFA_BYPASS", "DEFAULT_CREDS"],
|
|
26
|
-
"synonyms": ["auth", "login", "session", "token", "credential", "password", "jwt", "oauth", "mfa"],
|
|
27
|
-
"regex_signals": [
|
|
28
|
-
{"pattern": "(password|secret|key|token|api[_-]?key)\\s*[=:]\\s*[\"']?[\\w-]{8,}", "label": "CREDENTIAL_EXPOSURE", "weight": 0.8},
|
|
29
|
-
{"pattern": "(alg.*none|hs256.*public|kid.*traversal)", "label": "JWT_WEAKNESS", "weight": 0.85},
|
|
30
|
-
{"pattern": "(state.*bypass|redirect_uri.*manipulation|pkce.*missing)", "label": "OAUTH_BYPASS", "weight": 0.8}
|
|
31
|
-
],
|
|
32
|
-
"escalation_targets": ["ACCESS", "DATA"],
|
|
33
|
-
"dedup_key_fields": ["endpoint", "auth_mechanism", "bypass_type"]
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
"ACCESS_CONTROL": {
|
|
37
|
-
"parent": "CWE-284",
|
|
38
|
-
"children": ["IDOR", "PRIVILEGE_ESCALATION", "BOLA", "BFLA", "FORCED_BROWSING"],
|
|
39
|
-
"synonyms": ["idor", "access control", "broken access", "privilege", "authorization", "bola", "bfla"],
|
|
40
|
-
"regex_signals": [
|
|
41
|
-
{"pattern": "(user[_-]?id=|account[_-]?id=|order[_-]?id=|doc[_-]?id=)", "label": "IDOR", "weight": 0.7},
|
|
42
|
-
{"pattern": "(admin.*access|privilege.*escalation|role.*manipulation)", "label": "PRIVILEGE_ESCALATION", "weight": 0.85}
|
|
43
|
-
],
|
|
44
|
-
"escalation_targets": ["DATA", "CODE"],
|
|
45
|
-
"dedup_key_fields": ["endpoint", "object_type", "access_level"]
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
"DATA_EXPOSURE": {
|
|
49
|
-
"parent": "CWE-200",
|
|
50
|
-
"children": ["INFORMATION_DISCLOSURE", "PII_EXPOSURE", "ERROR_DISCLOSURE", "API_KEY_LEAK", "SOURCE_DISCLOSURE"],
|
|
51
|
-
"synonyms": ["data", "leak", "expose", "disclosure", "sensitive", "pii", "error", "stack trace"],
|
|
52
|
-
"regex_signals": [
|
|
53
|
-
{"pattern": "(mysql error|syntax error|exception|stacktrace|traceback)", "label": "ERROR_DISCLOSURE", "weight": 0.8},
|
|
54
|
-
{"pattern": "(aws_access|aws_secret|gcp_|azure_|firebase)", "label": "API_KEY_LEAK", "weight": 0.9}
|
|
55
|
-
],
|
|
56
|
-
"escalation_targets": ["INJECTION", "AUTHENTICATION"],
|
|
57
|
-
"dedup_key_fields": ["data_type", "exposure_vector"]
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
"SERVER_SIDE_REQUEST": {
|
|
61
|
-
"parent": "CWE-918",
|
|
62
|
-
"children": ["SSRF", "OPEN_REDIRECT", "HEADER_INJECTION", "DNS_REBINDING"],
|
|
63
|
-
"synonyms": ["ssrf", "server-side request", "internal request", "metadata", "redirect", "forward"],
|
|
64
|
-
"regex_signals": [
|
|
65
|
-
{"pattern": "(127\\.0\\.0\\.1|localhost|169\\.254\\.169\\.254|metadata\\.google)", "label": "SSRF", "weight": 0.85},
|
|
66
|
-
{"pattern": "(redirect.*url|goto=|dest=|return_url=|callback=)", "label": "OPEN_REDIRECT", "weight": 0.7}
|
|
67
|
-
],
|
|
68
|
-
"escalation_targets": ["NETWORK", "ACCESS", "DATA"],
|
|
69
|
-
"dedup_key_fields": ["target_endpoint", "protocol", "internal_resource"]
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
"FILE_OPERATIONS": {
|
|
73
|
-
"parent": "CWE-73",
|
|
74
|
-
"children": ["PATH_TRAVERSAL", "FILE_UPLOAD_BYPASS", "LFI", "RFI"],
|
|
75
|
-
"synonyms": ["file", "path", "directory", "traversal", "upload", "lfi", "rfi"],
|
|
76
|
-
"regex_signals": [
|
|
77
|
-
{"pattern": "(\\.\\./|\\.\\.\\\\|%2e%2e)", "label": "PATH_TRAVERSAL", "weight": 0.9},
|
|
78
|
-
{"pattern": "(upload|attach|import|avatar|profile.*file)", "label": "FILE_UPLOAD_BYPASS", "weight": 0.6}
|
|
79
|
-
],
|
|
80
|
-
"escalation_targets": ["CODE", "DATA"],
|
|
81
|
-
"dedup_key_fields": ["file_path", "operation_type", "extension"]
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
"BUSINESS_LOGIC": {
|
|
85
|
-
"parent": "CWE-840",
|
|
86
|
-
"children": ["WORKFLOW_BYPASS", "RACE_CONDITION", "FINANCIAL_EXPLOIT", "STATE_MANIPULATION"],
|
|
87
|
-
"synonyms": ["workflow", "step", "process", "order", "checkout", "payment", "balance", "race", "concurrent"],
|
|
88
|
-
"regex_signals": [
|
|
89
|
-
{"pattern": "(race.*condition|simultaneous.*request|concurrent.*state)", "label": "RACE_CONDITION", "weight": 0.85},
|
|
90
|
-
{"pattern": "(workflow.*skip|step.*bypass|state.*transition)", "label": "WORKFLOW_BYPASS", "weight": 0.8},
|
|
91
|
-
{"pattern": "(negative.*balance|double.*spend|quantity.*-1)", "label": "FINANCIAL_EXPLOIT", "weight": 0.9}
|
|
92
|
-
],
|
|
93
|
-
"escalation_targets": ["DATA", "ACCESS"],
|
|
94
|
-
"dedup_key_fields": ["workflow_name", "step_bypassed", "impact"]
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
"PROTOCOL_ABUSE": {
|
|
98
|
-
"parent": "CWE-444",
|
|
99
|
-
"children": ["HTTP_SMUGGLING", "CACHE_POISONING", "WEBSOCKET_ATTACK", "GRPC_ATTACK", "HTTP2_DOWNGRADE"],
|
|
100
|
-
"synonyms": ["smuggle", "desync", "cache", "poison", "websocket", "grpc", "protobuf", "http2"],
|
|
101
|
-
"regex_signals": [
|
|
102
|
-
{"pattern": "(content-length.*transfer-encoding|transfer-encoding.*content-length)", "label": "HTTP_SMUGGLING", "weight": 0.9},
|
|
103
|
-
{"pattern": "(cache.*poison|unkeyed.*header|x-forwarded-host.*reflect)", "label": "CACHE_POISONING", "weight": 0.85},
|
|
104
|
-
{"pattern": "(ws://|wss://|websocket|socket.*message)", "label": "WEBSOCKET_ATTACK", "weight": 0.7}
|
|
105
|
-
],
|
|
106
|
-
"escalation_targets": ["AUTHENTICATION", "DATA"],
|
|
107
|
-
"dedup_key_fields": ["protocol", "attack_vector", "target_service"]
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
"CLIENT_SIDE": {
|
|
111
|
-
"parent": "CWE-79",
|
|
112
|
-
"children": ["XSS_REFLECTED", "XSS_STORED", "XSS_DOM", "CSRF", "CLICKJACKING", "CORS_MISCONFIG"],
|
|
113
|
-
"synonyms": ["xss", "cross-site", "script", "csrf", "cors", "clickjack"],
|
|
114
|
-
"regex_signals": [
|
|
115
|
-
{"pattern": "(<script|javascript:|on\\w+=|alert\\s*\\(|innerHTML|insertAdjacentHTML)", "label": "XSS", "weight": 0.9},
|
|
116
|
-
{"pattern": "(access-control-allow-origin.*\\*|cors.*misconfig)", "label": "CORS_MISCONFIG", "weight": 0.8}
|
|
117
|
-
],
|
|
118
|
-
"escalation_targets": ["AUTHENTICATION", "ACCESS"],
|
|
119
|
-
"dedup_key_fields": ["sink", "source", "execution_context"]
|
|
120
|
-
},
|
|
121
|
-
|
|
122
|
-
"CODE_EXECUTION": {
|
|
123
|
-
"parent": "CWE-78",
|
|
124
|
-
"children": ["RCE_DIRECT", "DESERIALIZATION", "PROTOTYPE_POLLUTION", "REMOTE_FILE_INCLUSION"],
|
|
125
|
-
"synonyms": ["rce", "code execution", "deserialize", "unserialize", "pickle", "__proto__", "prototype"],
|
|
126
|
-
"regex_signals": [
|
|
127
|
-
{"pattern": "(eval|exec|system|shell_exec|passthru)\\s*\\(", "label": "RCE_DIRECT", "weight": 0.95},
|
|
128
|
-
{"pattern": "(__proto__|constructor\\.prototype|Object\\.prototype)", "label": "PROTOTYPE_POLLUTION", "weight": 0.9},
|
|
129
|
-
{"pattern": "(deserialize|unserialize|pickle|yaml.*load)", "label": "DESERIALIZATION", "weight": 0.85}
|
|
130
|
-
],
|
|
131
|
-
"escalation_targets": ["NETWORK", "DATA", "ACCESS"],
|
|
132
|
-
"dedup_key_fields": ["execution_context", "payload_type", "privilege_level"]
|
|
133
|
-
},
|
|
134
|
-
|
|
135
|
-
"AI_LLM": {
|
|
136
|
-
"parent": "CWE-1392",
|
|
137
|
-
"children": ["PROMPT_INJECTION", "JAILBREAK", "CONTEXT_POISONING", "TOOL_ABUSE"],
|
|
138
|
-
"synonyms": ["ai", "llm", "chatbot", "prompt", "jailbreak", "dan mode", "ignore previous"],
|
|
139
|
-
"regex_signals": [
|
|
140
|
-
{"pattern": "(ignore.*previous|dan.*mode|system.*prompt)", "label": "PROMPT_INJECTION", "weight": 0.85},
|
|
141
|
-
{"pattern": "(tool.*abuse|function.*call|web.*search.*injection)", "label": "TOOL_ABUSE", "weight": 0.8}
|
|
142
|
-
],
|
|
143
|
-
"escalation_targets": ["DATA_EXPOSURE", "SERVER_SIDE_REQUEST"],
|
|
144
|
-
"dedup_key_fields": ["model", "injection_type", "data_accessed"]
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
"SUPPLY_CHAIN": {
|
|
148
|
-
"parent": "CWE-1395",
|
|
149
|
-
"children": ["DEPENDENCY_CONFUSION", "TYPOSQUATTING", "CI_CD_INJECTION", "CONTAINER_ESCAPE"],
|
|
150
|
-
"synonyms": ["supply chain", "dependency", "npm", "pypi", "docker", "container", "ci/cd"],
|
|
151
|
-
"regex_signals": [
|
|
152
|
-
{"pattern": "(docker.*escape|container.*breakout|pod.*escape)", "label": "CONTAINER_ESCAPE", "weight": 0.85},
|
|
153
|
-
{"pattern": "(dependency.*confusion|typosquat|package.*hijack)", "label": "DEPENDENCY_CONFUSION", "weight": 0.8}
|
|
154
|
-
],
|
|
155
|
-
"escalation_targets": ["CODE_EXECUTION", "ACCESS_CONTROL"],
|
|
156
|
-
"dedup_key_fields": ["package_name", "version", "attack_vector"]
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
"escalation_graph": {
|
|
161
|
-
"edges": [
|
|
162
|
-
{"from": "DATA_EXPOSURE", "to": "INJECTION", "weight": 0.7, "description": "Information disclosure reveals injection vectors"},
|
|
163
|
-
{"from": "DATA_EXPOSURE", "to": "AUTHENTICATION", "weight": 0.8, "description": "Exposed credentials enable auth bypass"},
|
|
164
|
-
{"from": "AUTHENTICATION", "to": "ACCESS_CONTROL", "weight": 0.85, "description": "Auth bypass enables access to protected resources"},
|
|
165
|
-
{"from": "INJECTION", "to": "CODE_EXECUTION", "weight": 0.75, "description": "Injection escalates to code execution"},
|
|
166
|
-
{"from": "INJECTION", "to": "DATA_EXPOSURE", "weight": 0.8, "description": "Injection extracts sensitive data"},
|
|
167
|
-
{"from": "SERVER_SIDE_REQUEST", "to": "ACCESS_CONTROL", "weight": 0.7, "description": "SSRF accesses internal services"},
|
|
168
|
-
{"from": "SERVER_SIDE_REQUEST", "to": "CODE_EXECUTION", "weight": 0.5, "description": "SSRF to internal admin interfaces"},
|
|
169
|
-
{"from": "FILE_OPERATIONS", "to": "CODE_EXECUTION", "weight": 0.8, "description": "File upload bypass leads to RCE"},
|
|
170
|
-
{"from": "FILE_OPERATIONS", "to": "DATA_EXPOSURE", "weight": 0.75, "description": "Path traversal reads sensitive files"},
|
|
171
|
-
{"from": "CLIENT_SIDE", "to": "AUTHENTICATION", "weight": 0.85, "description": "XSS steals session tokens"},
|
|
172
|
-
{"from": "BUSINESS_LOGIC", "to": "DATA_EXPOSURE", "weight": 0.6, "description": "Logic flaws expose data through workflow abuse"},
|
|
173
|
-
{"from": "PROTOCOL_ABUSE", "to": "AUTHENTICATION", "weight": 0.7, "description": "HTTP smuggling bypasses auth checks"},
|
|
174
|
-
{"from": "PROTOCOL_ABUSE", "to": "CLIENT_SIDE", "weight": 0.65, "description": "Cache poisoning stores malicious responses"},
|
|
175
|
-
{"from": "CODE_EXECUTION", "to": "SERVER_SIDE_REQUEST", "weight": 0.8, "description": "RCE enables internal network access"},
|
|
176
|
-
{"from": "AI_LLM", "to": "DATA_EXPOSURE", "weight": 0.75, "description": "Prompt injection extracts training data or context"},
|
|
177
|
-
{"from": "AI_LLM", "to": "SERVER_SIDE_REQUEST", "weight": 0.7, "description": "Tool abuse triggers SSRF via AI web search"},
|
|
178
|
-
{"from": "SUPPLY_CHAIN", "to": "CODE_EXECUTION", "weight": 0.85, "description": "Dependency confusion executes malicious code"},
|
|
179
|
-
{"from": "SUPPLY_CHAIN", "to": "ACCESS_CONTROL", "weight": 0.6, "description": "Container escape gains host access"}
|
|
180
|
-
]
|
|
181
|
-
},
|
|
182
|
-
|
|
183
|
-
"dedup_rules": {
|
|
184
|
-
"semantic_threshold": 0.8,
|
|
185
|
-
"allow_retest_on_evidence_growth": true,
|
|
186
|
-
"max_retests_without_growth": 2,
|
|
187
|
-
"variant_tracking": true
|
|
188
|
-
}
|
|
189
|
-
}
|