github.com / jo-inc
jo-inc/ camofox-browser
JavaScript·201 files·commit e5a36f5·scanned 7d ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 25 — 9,246 stars — findings likely legitimate code patterns
verdict accurate?
CLI tool detected
threat-state: lowlive
FINDINGS ░▒▓
criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.plugins/vnc/vnc-launcher.js
const statusFile = path.join(statusDir, 'status');
const watcher = spawn('sh', [watcherPath], {
env: buildWatcherEnv({ resolution, vncPassword, viewOnly, vncPort, novncPort, statusFile }),
...+8criticalchild_process / exec usageExecuting shell commands can be used to download and run malware, exfiltrate data, or modify system files.plugins/vnc/vnc-watcher.test.js
function shell(script, args = [], input = '') {
return execFileSync('sh', ['-c', `. "$1"; ${script}`, 'sh', library, ...args], {
input,
encoding: 'utf8',+8infoBase64 encoding usedatob() or Buffer.from with base64. Common in legitimate code but also used to hide malicious URLs.tests/e2e/screenshot.test.js
// Round-trip: decode back and verify PNG magic bytes
const decoded = Buffer.from(base64, 'base64');
expect(decoded[0]).toBe(0x89);
expect(decoded[1]).toBe(0x50);+2infoBase64 encoding usedatob() or Buffer.from with base64. Common in legitimate code but also used to hide malicious URLs.tests/unit/screenshotToolResult.test.js
const decoded = Buffer.from(result.content[0].data, 'base64');
// PNG magic bytes+2warningHigh-entropy string literalsFound 3 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.scripts/plugin.js+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.scripts/postinstall.js+3
warningLarge base64-encoded blobA 92-character base64 blob was found. May hide a remote payload or encoded executable code.tests/helpers/testSite.js
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8...+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.lib/browser-errors.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.lib/proxy.js+3
warningHigh-entropy string literalsFound 9 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.lib/reporter.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.lib/reporter.js+3
warningLarge base64-encoded blobA 96-character base64 blob was found. May hide a remote payload or encoded executable code.tests/unit/screenshotToolResult.test.js
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8...+3
Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.
163 files scanned @ e5a36f5 | 9/7/2026 | heuristic scan — always review manually
risk by category
code execution18
network & exfiltration4
file system access0
obfuscation15
supply chain4
owasp / injection0
telemetry
files 163/201rules hit 15engine v5commit e5a36f5
github
jo-inc/camofox-browser
Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement.
9246
1000
231d
201 files
163 scanned(81%)
e5a36f5
architecture░▒▓
entry (0) flagged (19) pkg (14)
161 nodes · 182 edgesscroll to zoom · click node to jump to finding