stealth-browser
Verdict safe, but 3 findings (3 medium), mainly unauthorized tool use, resource abuse, command injection. Most recent scan 2026-02-07.
The stealth-browser skill presents MEDIUM-HIGH security risks primarily related to credential handling, input validation, and resource management. The skill's core functionality (anti-bot browser automation) is legitimate, but implementation issues create security vulnerabilities. Key concerns include hardcoded credential patterns in documentation, lack of input validation in proxy URL parsing, unbounded operations without timeouts, and unrestricted file system access for cookie management. The use of distrobox containers provides some isolation, but sudo operations within containers and potential command injection vectors reduce this protection. The skill would benefit from implementing proper input validation, credential management via environment variables, timeout controls, and file system access restrictions. No evidence of malicious intent (data exfiltration, prompt injection) was found - issues are implementation weaknesses rather than deliberate threats.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Anti-bot browser automation using Camoufox and Nodriver. Bypasses Cloudflare Turnstile, Datadome, and aggressive anti-bot on sites like Airbnb and Yelp. Use when standard Playwright/Selenium gets blocked.
- Package
- 8 files, 41 KB
- SKILL.md
- 1138 words, 12+ sections
- Code
- Python (3), Shell (1)
SKILL.md covers: Stealth Browser Skill 🥷 · When to Use · Tool Selection · Quick Start · 1. Setup (First Time) · Install tools in pybox (use python3.14) · Camoufox browser downloads automatically on first run (~700MB Firefox fork) · 2. Fetch a Protected Page · Architecture · Tool Details · Camoufox · curl_cffi
Findings
MEDIUM Attempting to install system packages with elevated privileges Unauthorized Tool Usestatic
Pattern detected: sudo dnf install
scripts/setup.sh:30
distrobox-enter pybox -- sudo dnf install -y gtk3 libXt nss at-spi2-atk cups-libs libdrm mesa-libgbm 2>/dev/null || trueMEDIUM Unbounded Wait Operations Without Timeout Resource Abusellm
The camoufox-fetch.py script uses asyncio.sleep() for page load waits but lacks overall timeout controls. The camoufox-session.py script has infinite retry loops without maximum attempt limits, which could lead to resource exhaustion if a page never loads or login never succeeds.
await asyncio.sleep(wait) without timeout wrapper, while loops without max iteration limits in session managementMEDIUM Command Injection Risk in Proxy URL Parsing Command Injectionllm
The camoufox-fetch.py script parses proxy URLs by splitting on '@' and ':' characters without proper validation or sanitization. If a malicious proxy URL is provided with special characters or shell metacharacters, it could lead to unexpected behavior or injection attacks when passed to the browser.
auth_part = proxy.split('@')[0].replace('http://', '').replace('https://', ''); user, password = auth_part.split(':') - no validation of inputWhat is in the package
| File | Kind | Size |
|---|---|---|
README.md | doc | 1.8 KB |
SKILL.md | doc | 9.7 KB |
references/fingerprint-checks.md | doc | 6.4 KB |
references/proxy-setup.md | doc | 3.9 KB |
scripts/camoufox-fetch.py | script | 4.1 KB |
scripts/camoufox-session.py | script | 8.8 KB |
scripts/curl-api.py | script | 5.1 KB |
scripts/setup.sh | script | 1.3 KB |
External hosts referenced
www.airbnb.com bot.sannysoft.com nowsecure.nl abrahamjuliot.github.io api.yelp.com browserleaks.com httpbin.org img.shields.io kessler.io pixelscan.net www.yelp.com yelp.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/kesslerio-stealth-browser
- Raw scan result: stealth-browser-scan.json
- Badge for your README:
 - Request a re-scan