Scan Report
5 /100
reg-browser-bot
Browser automation toolkit for multi-account management, data collection, automated operations, and captcha recognition on e-commerce and social platforms
This is a legitimate browser automation toolkit for account management, data collection, and automated operations on e-commerce/social platforms. The codebase has sound security design with Fernet encryption for passwords, cookie domain validation, no dangerous deserialization, and no credential theft or exfiltration behavior.
Safe to install
This skill is safe to use. No malicious behavior detected. The only minor concern is the auto-installation of the cryptography package as a fallback in security.py, which is defensible for a dependency that directly enables the skill's core encryption feature.
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | Fallback auto-installation of cryptography package Supply Chain | security.py:28 |
| Low | Pre-scan misidentified Chrome version numbers as IP addresses Doc Mismatch | browser_config.py:43 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ+WRITE | READ+WRITE | ✓ Aligned | account.py writes JSON to ~/.openclaw/accounts/, explicitly declared in SKILL.md… |
| Network | READ | READ | ✓ Aligned | collector.py navigates to taobao/jd/douyin, explicitly declared in SKILL.md over… |
| Shell | NONE | NONE | — | security.py:29 uses subprocess only to install cryptography package as a depende… |
| Environment | NONE | NONE | — | security.py:37 reads REG_BROWSER_KEY env var for key override only — no iteratio… |
| Skill Invoke | NONE | NONE | — | No cross-skill invocation found |
| Clipboard | NONE | NONE | — | Not used anywhere in codebase |
| Browser | READ+WRITE | READ+WRITE | ✓ Aligned | Selenium/Playwright browser automation, declared in SKILL.md Phase D |
| Database | READ+WRITE | READ+WRITE | ✓ Aligned | SQLite in ~/.config/reg-browser-bot/, declared in SKILL.md Phase B SQLite storag… |
5 High 19 findings
High IP Address 硬编码 IP 地址
120.0.0.0 browser_config.py:43 High IP Address 硬编码 IP 地址
119.0.0.0 browser_config.py:44 High IP Address 硬编码 IP 地址
118.0.0.0 browser_config.py:45 High IP Address 硬编码 IP 地址
121.0.0.0 browser_config.py:46 High IP Address 硬编码 IP 地址
106.0.0.0 browser_config.py:63 Medium External URL 外部 URL
http://127.0.0.1:7890 SKILL.md:251 Medium External URL 外部 URL
https://www.baidu.com SKILL.md:500 Medium External URL 外部 URL
https://s.taobao.com/search?q= collector.py:234 Medium External URL 外部 URL
https://search.jd.com/Search?keyword= collector.py:284 Medium External URL 外部 URL
https://www.douyin.com/search/ collector.py:328 Medium External URL 外部 URL
https://item.jd.com/123.html collector.py:400 Medium External URL 外部 URL
https://www.example.com/login pipeline.py:397 Medium External URL 外部 URL
https://www.douyin.com poster.py:108 Medium External URL 外部 URL
https://creator.douyin.com/create-micro-site poster.py:114 Medium External URL 外部 URL
https://creator.xiaohongshun.com/publish/publish poster.py:145 Medium External URL 外部 URL
https://weibo.com poster.py:184 Medium External URL 外部 URL
https://weibo.com/compose poster.py:190 Medium External URL 外部 URL
https://www.douyin.com/creator/dm poster.py:226 Info Email 邮箱地址
[email protected] account.py:660 File Tree
21 files · 286.4 KB · 9107 lines Python 19f · 8223L
Markdown 1f · 857L
JSON 1f · 27L
├─
__init__.py
Python
├─
_meta.json
JSON
├─
account.py
Python
├─
browser_config.py
Python
├─
browser_manager.py
Python
├─
browser_playwright.py
Python
├─
browser.py
Python
├─
captcha.py
Python
├─
collector.py
Python
├─
exceptions.py
Python
├─
migrate_json_to_sqlite.py
Python
├─
migrate_passwords.py
⚠
Python
├─
models.py
Python
├─
pipeline.py
Python
├─
poster.py
Python
├─
proxy.py
Python
├─
security.py
Python
├─
SKILL.md
Markdown
├─
task_scheduler.py
Python
├─
tool.py
Python
└─
utils.py
Python
Dependencies 8 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
selenium | >=4.0.0 | pip | No | Standard browser automation framework |
cryptography | latest (auto-install fallback) | pip | No | Auto-installed as fallback; should be declared as a hard dependency |
ddddocr | >=1.6.0 | pip | No | Pure Python OCR, Phase A upgrade |
playwright | >=1.40.0 | pip | No | Phase D browser engine, dual-engine with Selenium |
opencv-python | >=4.0.0 | pip | No | Used for slider captcha template matching |
apscheduler | * | pip | No | Version not pinned |
schedule | * | pip | No | Version not pinned |
undetected-chromedriver | >=3.0.0 | pip | No | Optional anti-detection wrapper |
Security Positives
✓ Fernet (AES-CBC) encryption with PBKDF2 key derivation for all stored passwords — security.py
✓ Cookie domain validation prevents cross-domain cookie injection — account.py:163-172
✓ No use of pickle, eval(), exec(), or other dangerous deserialization/code execution patterns
✓ No credential harvesting: does not read ~/.ssh, ~/.aws, .env, or iterate os.environ for secrets
✓ No data exfiltration: all collected data stored locally in ~/.openclaw/ and ~/.config/reg-browser-bot/
✓ No obfuscation: no base64-encoded execution, HTML comment hidden instructions, or anti-analysis tricks
✓ No remote script execution (curl|bash / wget|sh) — all dependencies declared
✓ Playwright and Selenium are well-established browser automation frameworks with no known malicious history
✓ No persistence mechanisms: no cron jobs, startup scripts, or backdoor installation
✓ SKILL.md accurately documents all capabilities, file paths, dependencies, and architecture phases