blitzstrike 1.0.82 → 1.0.84

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.
@@ -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
- }