扫描报告
40 /100
lock-me-in
Remote browser login and session persistence for headless servers via cloudflared tunnel
The skill is a legitimate browser-login tool but contains undeclared functionality: an undocumented environment variable (OPENCLAW_PROXY_URL) for proxy injection, an undeclared /eval endpoint allowing arbitrary JS execution in the browser page, and extensive stealth/anti-detection scripts that modify browser fingerprinting signals — none of which are mentioned in SKILL.md.
谨慎使用
Document all undeclared capabilities (OPENCLAW_PROXY_URL, /eval endpoint, stealth evasion scripts) in SKILL.md. Consider removing or restricting the /eval endpoint, as it enables arbitrary JavaScript execution in the authenticated browser context accessible via the tunnel URL.
安全发现 5 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | Undeclared stealth/anti-detection browser scripts 文档欺骗 | scripts/browser-login.mjs:35 |
| 中危 | Undeclared /eval HTTP endpoint allows arbitrary JS execution in authenticated browser 代码执行 | scripts/browser-login.mjs:248 |
| 中危 | Undeclared OPENCLAW_PROXY_URL environment variable 文档欺骗 | scripts/browser-login.mjs:18 |
| 低危 | Cloudflared binary spawned via shell subprocess 权限提升 | scripts/browser-login.mjs:404 |
| 低危 | cloudflared installation command does not pin version 供应链 | SKILL.md:74 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 浏览器 | WRITE | WRITE | ✓ 一致 | Playwright Chromium launch + page interaction throughout browser-login.mjs |
| 网络访问 | NONE | WRITE | ✗ 越权 | Cloudflared spawns external tunnel (line 404-405); proxy injection via OPENCLAW_… |
| 文件系统 | READ+WRITE | READ+WRITE | ✓ 一致 | Session storageState read/write (line 302, saveSession function) |
| 命令执行 | NONE | WRITE | ✗ 越权 | spawn() used for cloudflared binary (line 404) — shell:WRITE, not declared |
1 高危 4 项发现
高危 IP 地址 硬编码 IP 地址
131.0.0.0 scripts/browser-login.mjs:262 中危 外部 URL 外部 URL
https://linkedin.com/login SKILL.md:26 中危 外部 URL 外部 URL
https://mail.google.com SKILL.md:28 中危 外部 URL 外部 URL
https://linkedin.com/feed SKILL.md:52 目录结构
2 文件 · 24.4 KB · 565 行 JavaScript 1f · 468L
Markdown 1f · 97L
├─
▾
scripts
│ └─
browser-login.mjs
JavaScript
└─
SKILL.md
Markdown
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
playwright-core | unknown (imported from /app/node_modules) | npm | 否 | No package.json found; playwright-core is a transitive dep |
cloudflared | latest (unpinned) | github releases | 否 | Installation command in SKILL.md fetches latest without version pin |
安全亮点
✓ No credential harvesting or exfiltration — session data stays local
✓ No base64-encoded or obfuscated code found
✓ Auto-close timeout (15 min) limits exposure window
✓ Tunnel URLs are random and ephemeral (cloudflared managed)
✓ Session storage is scoped to a named directory, not globally accessible
✓ Proper cleanup on SIGINT/SIGTERM signals
✓ Cookie banners auto-accepted for UX, not for bypassing security