chrome-devtools-browser
Bring up a REAL, visible, interactive chromium on the Kali VM that the operator logs into (Smart-ID / Mobile-ID / any manual auth or MFA/CAPTCHA), while the…
Skill by Encod3d-Sec
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/encod3d-sec-chrome-devtools-browser
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, security, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/chrome-devtools-browser
What's inside
- Skill name
chrome-devtools-browser- Description
- Bring up a REAL, visible, interactive chromium on the Kali VM that the operator logs into (Smart-ID / Mobile-ID / any manual auth or MFA/CAPTCHA), while the agent drives and observes it live through the chrome-devtools MCP (navigate, DOM snapshot, network capture, screenshots, console, evaluate). Use whenever a target needs a MANUAL login the agent cannot complete headlessly, when you need to capture an authenticated session / the real API calls a page makes, or to confirm/screenshot a DOM-XSS. Triggers - "open a browser", "log in manually", "smart-id / mobile-id / national id login", "mfa / 2fa login", "solve the captcha", "drive the browser", "capture the authenticated session / network".
- License
- MIT
- Instructions
- 72 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- files: referenced but missing: scripts/browser.sh, scripts/shot.py
Files (1)
- SKILL.md
SKILL.md (first lines)
# chrome-devtools-browser
Headless `browser.sh` cannot solve a human login. This skill brings up a **visible** chromium on the
Kali desktop (`:0`) the operator can click and type into, with its DevTools port tunnelled back so the
**chrome-devtools MCP** drives and watches it. Two roles at once: the human authenticates; the agent
observes + acts. The VM holds the VPN/egress path, so it reaches both internet and in-scope targets.
## 1. Bring it up (one command)
```bash
bash scripts/browser-visible.sh <login-url> --profile bbtest-<eng>
# e.g. bash scripts/browser-visible.sh https://target.example/ib --profile bbtest-<eng>
```
It resolves the VM's seat session, unlocks/wakes `:0`, frees the CDP port, launches chromium **as the
seat user on `:0`** in a named tmux session (a dedicated per-engagement profile, so the operator's own
profile/cookies stay clean), then reuses `scripts/browser.sh` to forward CDP to `http://127.0.0.1:9222`.
It prints `VISIBLE on :0` when a real on-screen window exists (not merely a listening port). If it prints
a `no (:N) desktop session` message, the VM has no desktop - fall back to `scripts/browser.sh` (headless).
## 2. Attach + hand off for login
- The chrome-devtools MCP attaches to `http://127.0.0.1:9222`. Confirm with `list_pages`; `navigate_page`
to the login URL if needed.
- **Stay off the browser while the operator enters credentials.** Take a `take_screenshot` so they can
confirm the page, then wait for their "logged in" before you drive again. The operator owns credential
entry and the phone approval; the agent never types a personal code / PIN.
## 3. Drive + observe (chrome-devtools MCP capability map)
| Need | MCP tool |
|------|----------|
| List/select tabs | `list_pages` (select the target tab; ignore the operator's other tabs) |
| Go to a page / back / reload | `navigate_page` |
| Rendered DOM (elements + uids) | `take_snapshot` |
| Visual PoC / confirm state | `take_screenshot` -> a `web` evidence image (hand to `Skill(screenshot)`/`Skill(evidence)`) |
| **The real API calls the app makes** | `list_network_requests` (add `includePreservedRequests:true` to span the login redirects); this is the authenticated API map a curl crawl never sees |
| One request's headers/body/cookies | `get_network_request <reqid>` |
| Console / JS errors | `list_console_messages` |
| Read client config / globals, confirm DOM-XSS | `evaluate_script` (e.g. `__NEXT_DATA__`, `window.*`, fire a payload in the real DOM) |
Once authenticated, the captured `/…` API calls feed the hunt skills: `Skill(hunt-idor)` / `Skill(hunt-api)`
(BOLA on id-keyed endpoints), `Skill(hunt-xss)` (DOM-XSS via `evaluate_script`), business-logic on the
authed flows. Load-bearing requests still go to Burp Repeater when reachable (`Skill(hunt-burp)`).
## 4. Field notes
- **A `200 {"message":"Unable to login"}` with NO `Set-Cookie`** = the server rejected at an account/state
check and issued no session -> nothing to pivot (not a bug). A `Set-Cookie`/JWT issued *before* such a
check is a real authz-bypass lead - test the gated endpoints with that cookie.
- `dbus`/GPU errors in the tmux pane are non-fatal VM noise; judge success by `VISIBLE on` + `list_pages`.
- Data minimisation on the authed surface: prove IDOR/BOLA with your own account + stop at the first
adjacent-id differential; never pull another customer's real PII.
## Safety
- The CDP port is **unauthenticated = total control of the browser** (read any tab, lift session cookies).
It stays loopback-only + `ssh -L`; never bind `0.0.0.0` / expose it to the LAN.
- Named tmux session only (`cdpbrowser`); never `tmux kill-server` (the VPN/other work may live in tmux).
- Dedicated `--profile` per engagement; the port-free step warns it drops any tabs on that port.
## Teardown
```bash
bash scripts/browser.sh stop # drop the CDP tunnel
bash /root/vm.sh 'tmux kill-session -t cdpbrowser' # close the VM browser
```
Setup / recipe rationale + the dead-ends that shaped this: `scripts/browser.sh`, `scripts/shot.py`
(seat-session resolution), and the engagement `failures.md` note.From Encod3d-Sec/TORCH, MIT.
More from Encod3d-Sec/TORCH
- 0.741score
ingest
Encod3d-Sec
Synthesize raw recon/test output into engagement state.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
metasploit
Encod3d-Sec
Drive msfconsole across the workflow - DB-backed recon (db_nmap, auxiliary scanners), version->exploit search/check/run, multi/handler reverse shells…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
campaign-health
Encod3d-Sec
Health check for the bb/pt/ctf workflow driver subsystem - verifies everything is in place so every machine runs the same.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
fuzz
Encod3d-Sec
Adaptive, targeted web fuzzing - deterministic wordlist selection (wl-pick.sh) plus judgment.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
hunt-idor
Encod3d-Sec
IDOR / BOLA hunting - two-account methodology, identifier discovery and UUID leak chaining, the trusted-identifier test, GraphQL node and nested-object IDOR…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
learn
Encod3d-Sec
Post-engagement knowledge harvest AND harness retrospective - after a box/bugbounty/pentest/CTF is completed, first diff how the engagement was EXECUTED…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
hunt-windows
Encod3d-Sec
Local Windows privilege escalation on a STANDALONE / workgroup host, or a local shell on a domain member - foothold to SYSTEM.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
arsenal
Encod3d-Sec
Wiki-first "what do I use" lookup - pick the automated TOOL (wiki/tools/), then the PAYLOAD/technique (wiki/payloads/ + wiki/cheatsheets/), for a…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
coverage
Encod3d-Sec
Show per-asset vuln-class coverage gaps for the active engagement so nothing in scope is skipped.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
delegate
Encod3d-Sec
Autonomous sub-agent hand-off for a fiddly, fully-specified exploit-compile / escalation RUN - the main agent stays on strategy and the board while a cheap…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
hunt-ics
Encod3d-Sec
ICS/SCADA/OT exploitation - Modbus (502), S7comm (102), EtherNet/IP (44818), DNP3, OpenPLC, Node-RED SCADA, PLC/HMI/coil/holding-register attacks.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
redteamlead
Encod3d-Sec
On-demand senior red-team lead advisor.
SkillBFreshness: B★ 335Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 335
- Forks
- 49
- Open issues
- 0
- Last commit (this folder)
- Aug 19, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Encod3d-Sec/TORCH
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Encod3d-Sec
- 0.741score
hunt-windows
Encod3d-Sec
Local Windows privilege escalation on a STANDALONE / workgroup host, or a local shell on a domain member - foothold to SYSTEM.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
campaign-health
Encod3d-Sec
Health check for the bb/pt/ctf workflow driver subsystem - verifies everything is in place so every machine runs the same.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
hunt-ics
Encod3d-Sec
ICS/SCADA/OT exploitation - Modbus (502), S7comm (102), EtherNet/IP (44818), DNP3, OpenPLC, Node-RED SCADA, PLC/HMI/coil/holding-register attacks.
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
hunt-idor
Encod3d-Sec
IDOR / BOLA hunting - two-account methodology, identifier discovery and UUID leak chaining, the trusted-identifier test, GraphQL node and nested-object IDOR…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
arsenal
Encod3d-Sec
Wiki-first "what do I use" lookup - pick the automated TOOL (wiki/tools/), then the PAYLOAD/technique (wiki/payloads/ + wiki/cheatsheets/), for a…
SkillBFreshness: B★ 335Claude Code +9 - 0.741score
coverage
Encod3d-Sec
Show per-asset vuln-class coverage gaps for the active engagement so nothing in scope is skipped.
SkillBFreshness: B★ 335Claude Code +9
Cite this page
chrome-devtools-browser skill. Agent Mart. https://agentmart.dev/skills/encod3d-sec-chrome-devtools-browser (last updated 2026-10-24)