bundled-skills/js-reverse/SKILL.md
Front-end JavaScript reverse engineering: locate signature chains, analyze encrypted request parameters, sample runtime behavior, and reproduce logic locally in Node for evidence-based output.
npx skillsauth add FrancoStino/opencode-skills-antigravity js-reverseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
⚠️ AUTHORIZED USE ONLY This skill is for educational purposes or authorized security assessments only. You must have explicit, written permission from the system owner before using this tool. Misuse of this tool is illegal and strictly prohibited.
Mandatory confirmation gate Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:
- Ask the user to state the exact target URL, IP, account, or resource.
- Ask the user to confirm written authorization and the permitted scope.
- Show the exact command(s) and explain their expected effect.
- Wait for explicit confirmation in the current conversation.
Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.
当任务属于以下场景时优先使用本 skill:
如果目标是二进制、APK、PE、ELF、DLL、SO,请改用 ida-reverse、radare2 或 reverse-engineering。
本 skill 不假设存在裸工具名,而是默认绑定当前客户端环境里可用的 js-reverse_* 工具。
如果当前任务明确提到 jshookmcp、JS hook、CDP、浏览器断点、网络拦截、SourceMap 或 AST 去混淆,也仍然走本 skill;只是把底层 MCP 面切到 jshookmcp,而不是把它当成一个新的总入口。
前提条件:jshookmcp 不是本地裸命令工具,而是一个要先下载、显式注册并启用的 MCP server。只有在所选客户端(Claude、Codex 等)的 MCP 配置里接入并启用后,相关工具面才真的可调用。
常用映射:
list_scripts -> js-reverse_list_scriptsget_script_source -> js-reverse_get_script_sourcesearch_in_sources -> js-reverse_search_in_sourcesbreak_on_xhr -> js-reverse_break_on_xhrevaluate_script -> js-reverse_evaluate_scriptget_paused_info -> js-reverse_get_paused_infoset_breakpoint_on_text -> js-reverse_set_breakpoint_on_textlist_network_requests -> js-reverse_list_network_requestsget_request_initiator -> js-reverse_get_request_initiatorget_websocket_messages -> js-reverse_get_websocket_messagestake_screenshot -> js-reverse_take_screenshotnew_page -> js-reverse_new_pagenavigate_page -> js-reverse_navigate_pageselect_page -> js-reverse_select_pageselect_frame -> js-reverse_select_framepause/resume -> js-reverse_pause_or_resume如果未来工具名前缀变化,先更新本节,不要在执行时临时猜测。
js-reverse 的增强执行面,不是独立总控@jshookmcp/jshook 下载并注册到 MCP 客户端配置里,然后确保该 server 已启用Observe → Capture → Rebuild 执行,只是在 Observe/Capture 阶段优先调用 jshookmcp 的浏览器与 Hook 能力Observe-firstHook-preferredBreakpoint-lastRebuild-orientedEvidence-first先页面观察,再最小化采样,再做本地补环境,不要跳过取证直接猜环境。
目标:先确认目标请求、相关脚本、候选函数,不猜环境。
默认动作:
js-reverse_new_page 或 js-reverse_navigate_page 打开目标页面js-reverse_list_network_requests 找目标请求js-reverse_get_request_initiator 回溯调用来源js-reverse_list_scripts、js-reverse_search_in_sources 缩小脚本范围必须产出:
目标:对目标请求做最小侵入采样,拿到参数样例、调用顺序、运行时证据。
规则:
js-reverse_break_on_xhrjs-reverse_evaluate_script 做轻量运行时观察js-reverse_get_paused_infojs-reverse_set_breakpoint_on_text目标:把页面证据整理成本地可迭代的 Node 复现材料。
规则:
window/document/navigator/crypto/storage目标:按报错和 first divergence 驱动补环境,直到本地脚本稳定跑出目标参数。
规则:
目标:本地跑通后,再做去混淆、控制流还原、业务逻辑提纯。
规则:
E-js-vmp;CFF+字符串数组(AE)→ E-js-deobf;DevTools/debugger 反调试(AF)→ E-js-anti-debug。完整触发表见 ../reverse-engineering/references/nonpe-format-cookbook.md;AST 细节仍用 references/ast-deobfuscation.mdjs-reverse_* 或 jshookmcp 的现成 MCP 能力直接取证,不要先写脚本重造能力references/fallbacks.md 回退references/output-contract.mdreferences/automation-entry.mdreferences/tool-defaults.mdreferences/task-input-template.mdreferences/mcp-task-template.mdreferences/task-artifacts.mdreferences/local-rebuild.mdreferences/env-patching.mdreferences/node-env-rebuild.mdreferences/instrumentation.mdreferences/ast-deobfuscation.md../reverse-engineering/references/nonpe-format-cookbook.md(AD/AE/AF)references/fallbacks.mdreferences/output-contract.md上游入口: skills/SKILL.md(总控)、routing.md
上游备选:
reverse-engineering/SKILL.md(如果目标不是前端 JS)下游出口:
references/env-patching.mdreferences/local-rebuild.md / references/node-env-rebuild.mdreferences/ast-deobfuscation.mdreferences/fallbacks.md同级关联模块: anything-analyzer MCP(浏览器自动化和 HTTP 捕获能力可以互补)
本 skill 依赖的 MCP 能力可通过统一自举系统安装;MCP 客户端注册必须显式选择目标,默认不会写任何客户端全局配置。
| 能力 | 可自动注册 | 方式 | 说明 | |------|-----------|------|------| | jshookmcp | ✓ | npm-mcp(npx 启动) | 显式选择 Claude / Codex / Both 后注册 | | anything-analyzer | ✓ | local-http-mcp | 可自动启动服务;客户端注册须显式选择 | | Node.js | ✓ | winget 安装 | 运行时依赖 |
# 安装并注册 jshookmcp;Codex 可替换为 Claude 或 Both
powershell -File "<skill-root>\scripts\bootstrap-reverse.ps1" -Capability @('jshookmcp') -McpHostTarget Codex
# 注册并启动 anything-analyzer
powershell -File "<skill-root>\scripts\bootstrap-reverse.ps1" -Capability @('anything-analyzer') -StartServices -McpHostTarget Codex
jshookmcp 注册后仍需在 AI 客户端中启用该 MCP server 才能调用-McpHostTarget 时只安装/准备能力并返回 registration-required,不修改 Claude 或 Codex 配置anything-analyzer 需要 pnpm 和项目源码,bootstrap 会自动 clone 并安装依赖<br><br>## 任务完成自检(声称完成前 MUST 通过)
tool-index 使用了真实工具路径?Adapted from zhaoxuya520/reverse-skill (MIT).
tools
Authorized security assessment of LLM applications and AI agents: prompt injection, tool abuse, RAG exposure, memory poisoning, system-prompt extraction, and agent-compliance engineering per OWASP LLM/ASI Top 10.
development
Builds two parameterized UI modes—流光溢彩白 (iridescent white) and 五彩斑斓黑 (colorful black)—with OKLCH, WebGL/CSS fallback, vision gating, screenshot QA, and total/per-color intensity reports. Use when a UI request names either mode or needs measured color parameters.
tools
Delegate coding tasks to the Kimi Code CLI (`kimi`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
Map, explain, and lint repository-scoped coding-agent instructions before changing code.