Skip to content

Commit eb49996

Browse files
feat: add browser-extension mode panic-attacker report
Adds report from panic-attacker assail with --browser-extension flag. This skips false positives from DevTools API eval() usage. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
1 parent 21d015f commit eb49996

1 file changed

Lines changed: 303 additions & 0 deletions

File tree

Lines changed: 303 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,303 @@
1+
{
2+
"program_path": ".",
3+
"language": "javascript",
4+
"frameworks": [],
5+
"weak_points": [
6+
{
7+
"category": "SupplyChain",
8+
"location": "flake.nix",
9+
"file": "flake.nix",
10+
"severity": "High",
11+
"description": "flake.nix declares inputs without narHash, rev pinning, or sibling flake.lock — dependency revision is unpinned in flake.nix",
12+
"recommended_attack": []
13+
},
14+
{
15+
"category": "UncheckedError",
16+
"location": "contractiles/k9/template-hunt.k9.ncl",
17+
"file": "contractiles/k9/template-hunt.k9.ncl",
18+
"severity": "Low",
19+
"description": "14 TODO/FIXME/HACK markers in contractiles/k9/template-hunt.k9.ncl",
20+
"recommended_attack": [
21+
"cpu"
22+
]
23+
},
24+
{
25+
"category": "DynamicCodeExecution",
26+
"location": "extension/lib/rescript/DevTools.res.js",
27+
"file": "extension/lib/rescript/DevTools.res.js",
28+
"severity": "Critical",
29+
"description": "eval() usage in extension/lib/rescript/DevTools.res.js",
30+
"recommended_attack": [
31+
"cpu",
32+
"memory"
33+
]
34+
},
35+
{
36+
"category": "DynamicCodeExecution",
37+
"location": "extension/lib/dom-utils.js",
38+
"file": "extension/lib/dom-utils.js",
39+
"severity": "High",
40+
"description": "DOM manipulation (innerHTML/document.write) in extension/lib/dom-utils.js",
41+
"recommended_attack": [
42+
"memory",
43+
"network"
44+
]
45+
},
46+
{
47+
"category": "DynamicCodeExecution",
48+
"location": "extension/devtools/panel.js",
49+
"file": "extension/devtools/panel.js",
50+
"severity": "Critical",
51+
"description": "eval() usage in extension/devtools/panel.js",
52+
"recommended_attack": [
53+
"cpu",
54+
"memory"
55+
]
56+
},
57+
{
58+
"category": "InsecureProtocol",
59+
"location": ".screenshots/generate-mockups.sh",
60+
"file": ".screenshots/generate-mockups.sh",
61+
"severity": "Medium",
62+
"description": "4 HTTP (non-HTTPS) URLs in .screenshots/generate-mockups.sh",
63+
"recommended_attack": [
64+
"network"
65+
]
66+
},
67+
{
68+
"category": "HardcodedSecret",
69+
"location": "scripts/sign-extension.sh",
70+
"file": "scripts/sign-extension.sh",
71+
"severity": "Critical",
72+
"description": "Possible hardcoded secret in scripts/sign-extension.sh",
73+
"recommended_attack": [
74+
"network"
75+
]
76+
},
77+
{
78+
"category": "InputBoundary",
79+
"location": "tests/property/flag_properties_test.ts",
80+
"file": "tests/property/flag_properties_test.ts",
81+
"severity": "Medium",
82+
"description": "1 JSON.parse call(s) with 0 try block(s) in tests/property/flag_properties_test.ts — JSON.parse throws SyntaxError on malformed input; wrap in try-catch",
83+
"recommended_attack": [
84+
"cpu"
85+
]
86+
},
87+
{
88+
"category": "InputBoundary",
89+
"location": "tests/bench/flag_bench.ts",
90+
"file": "tests/bench/flag_bench.ts",
91+
"severity": "Medium",
92+
"description": "1 JSON.parse call(s) with 0 try block(s) in tests/bench/flag_bench.ts — JSON.parse throws SyntaxError on malformed input; wrap in try-catch",
93+
"recommended_attack": [
94+
"cpu"
95+
]
96+
}
97+
],
98+
"statistics": {
99+
"total_lines": 10426,
100+
"unsafe_blocks": 6,
101+
"panic_sites": 0,
102+
"unwrap_calls": 0,
103+
"allocation_sites": 0,
104+
"io_operations": 17,
105+
"threading_constructs": 0
106+
},
107+
"file_statistics": [
108+
{
109+
"file_path": "flake.nix",
110+
"lines": 116,
111+
"unsafe_blocks": 0,
112+
"panic_sites": 0,
113+
"unwrap_calls": 0,
114+
"allocation_sites": 0,
115+
"io_operations": 2,
116+
"threading_constructs": 0
117+
},
118+
{
119+
"file_path": "extension/popup/popup.js",
120+
"lines": 264,
121+
"unsafe_blocks": 0,
122+
"panic_sites": 0,
123+
"unwrap_calls": 0,
124+
"allocation_sites": 0,
125+
"io_operations": 1,
126+
"threading_constructs": 0
127+
},
128+
{
129+
"file_path": "extension/sidebar/sidebar.js",
130+
"lines": 378,
131+
"unsafe_blocks": 0,
132+
"panic_sites": 0,
133+
"unwrap_calls": 0,
134+
"allocation_sites": 0,
135+
"io_operations": 1,
136+
"threading_constructs": 0
137+
},
138+
{
139+
"file_path": "extension/lib/rescript/DatabaseUpdater.res",
140+
"lines": 335,
141+
"unsafe_blocks": 3,
142+
"panic_sites": 0,
143+
"unwrap_calls": 0,
144+
"allocation_sites": 0,
145+
"io_operations": 2,
146+
"threading_constructs": 0
147+
},
148+
{
149+
"file_path": "extension/lib/rescript/DatabaseUpdater.res.js",
150+
"lines": 355,
151+
"unsafe_blocks": 0,
152+
"panic_sites": 0,
153+
"unwrap_calls": 0,
154+
"allocation_sites": 0,
155+
"io_operations": 2,
156+
"threading_constructs": 0
157+
},
158+
{
159+
"file_path": "extension/devtools/panel.js",
160+
"lines": 323,
161+
"unsafe_blocks": 0,
162+
"panic_sites": 0,
163+
"unwrap_calls": 0,
164+
"allocation_sites": 0,
165+
"io_operations": 1,
166+
"threading_constructs": 0
167+
},
168+
{
169+
"file_path": ".containerization/build.sh",
170+
"lines": 153,
171+
"unsafe_blocks": 0,
172+
"panic_sites": 0,
173+
"unwrap_calls": 0,
174+
"allocation_sites": 0,
175+
"io_operations": 1,
176+
"threading_constructs": 0
177+
},
178+
{
179+
"file_path": ".screenshots/generate-mockups.sh",
180+
"lines": 410,
181+
"unsafe_blocks": 0,
182+
"panic_sites": 0,
183+
"unwrap_calls": 0,
184+
"allocation_sites": 0,
185+
"io_operations": 4,
186+
"threading_constructs": 0
187+
},
188+
{
189+
"file_path": "lib/ocaml/DatabaseUpdater.res",
190+
"lines": 334,
191+
"unsafe_blocks": 3,
192+
"panic_sites": 0,
193+
"unwrap_calls": 0,
194+
"allocation_sites": 0,
195+
"io_operations": 2,
196+
"threading_constructs": 0
197+
},
198+
{
199+
"file_path": "scripts/sign-extension.sh",
200+
"lines": 185,
201+
"unsafe_blocks": 0,
202+
"panic_sites": 0,
203+
"unwrap_calls": 0,
204+
"allocation_sites": 0,
205+
"io_operations": 1,
206+
"threading_constructs": 0
207+
}
208+
],
209+
"recommended_attacks": [
210+
"cpu",
211+
"disk",
212+
"memory",
213+
"network"
214+
],
215+
"dependency_graph": {
216+
"edges": [
217+
{
218+
"from": "extension/lib/rescript/DatabaseUpdater.res",
219+
"to": "extension/lib/rescript/DatabaseUpdater.res.js",
220+
"relation": "shared_dir:extension/lib/rescript",
221+
"weight": 1.0
222+
}
223+
]
224+
},
225+
"taint_matrix": {
226+
"rows": [
227+
{
228+
"source_category": "DynamicCodeExecution",
229+
"sink_axis": "network",
230+
"severity_value": 3.5,
231+
"files": [
232+
"extension/lib/dom-utils.js"
233+
],
234+
"frameworks": [],
235+
"relation": "DynamicCodeExecution->Network"
236+
},
237+
{
238+
"source_category": "InsecureProtocol",
239+
"sink_axis": "network",
240+
"severity_value": 2.5,
241+
"files": [
242+
".screenshots/generate-mockups.sh"
243+
],
244+
"frameworks": [],
245+
"relation": "InsecureProtocol->Network"
246+
},
247+
{
248+
"source_category": "DynamicCodeExecution",
249+
"sink_axis": "cpu",
250+
"severity_value": 5.0,
251+
"files": [
252+
"extension/lib/rescript/DevTools.res.js",
253+
"extension/devtools/panel.js"
254+
],
255+
"frameworks": [],
256+
"relation": "DynamicCodeExecution->Cpu"
257+
},
258+
{
259+
"source_category": "InputBoundary",
260+
"sink_axis": "cpu",
261+
"severity_value": 2.5,
262+
"files": [
263+
"tests/property/flag_properties_test.ts",
264+
"tests/bench/flag_bench.ts"
265+
],
266+
"frameworks": [],
267+
"relation": "InputBoundary->Cpu"
268+
},
269+
{
270+
"source_category": "HardcodedSecret",
271+
"sink_axis": "network",
272+
"severity_value": 5.0,
273+
"files": [
274+
"scripts/sign-extension.sh"
275+
],
276+
"frameworks": [],
277+
"relation": "HardcodedSecret->Network"
278+
},
279+
{
280+
"source_category": "UncheckedError",
281+
"sink_axis": "cpu",
282+
"severity_value": 1.0,
283+
"files": [
284+
"contractiles/k9/template-hunt.k9.ncl"
285+
],
286+
"frameworks": [],
287+
"relation": "UncheckedError->Cpu"
288+
},
289+
{
290+
"source_category": "DynamicCodeExecution",
291+
"sink_axis": "memory",
292+
"severity_value": 5.0,
293+
"files": [
294+
"extension/lib/rescript/DevTools.res.js",
295+
"extension/lib/dom-utils.js",
296+
"extension/devtools/panel.js"
297+
],
298+
"frameworks": [],
299+
"relation": "DynamicCodeExecution->Memory"
300+
}
301+
]
302+
}
303+
}

0 commit comments

Comments
 (0)