[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7ECQZX4MVT2738SMSK7TSG7":3,"skill-same:01M7ECQZX4MVT2738SMSK7TSG7":102},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M7ECQZX4MVT2738SMSK7TSG7","js-reverse",null,"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.","lza6\u002FArmor-piercing-system-prompts","lza6","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F128880206?v=4","01M7EB3K7WPX5T28EJ2NVHE6EG","Chinese-tingfeng","01M7EB3K97E1KQ16QWKJMFNGX8",11,"MIT","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: js-reverse\ndescription: \"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.\"\nrisk: offensive\nsource: \"https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill\"\nsource_repo: \"zhaoxuya520\u002Freverse-skill\"\nsource_type: community\ndate_added: \"2026-08-25\"\nlicense: \"MIT\"\nlicense_source: \"https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill\u002Fblob\u002Fmain\u002FLICENSE\"\n---\n> **⚠️ AUTHORIZED USE ONLY**\n> This skill is for educational purposes or authorized security assessments only.\n> You must have explicit, written permission from the system owner before using this tool.\n> Misuse of this tool is illegal and strictly prohibited.\n\n> **Mandatory confirmation gate**\n> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:\n> 1. Ask the user to state the exact target URL, IP, account, or resource.\n> 2. Ask the user to confirm written authorization and the permitted scope.\n> 3. Show the exact command(s) and explain their expected effect.\n> 4. Wait for explicit confirmation in the current conversation.\n>\n> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.\n\n# MCP 前端 JS 逆向作业规范\n## When to Use\n\n- Understanding how a web application signs or encrypts API requests.\n- Reproducing client-side crypto locally to validate analysis.\n\n\n## 适用范围\n\n当任务属于以下场景时优先使用本 skill：\n\n- 定位接口签名、加密参数、风控字段\n- 观察页面请求链路与脚本来源\n- 在运行时抓取函数入参与返回值\n- 追踪某个 XHR\u002FFetch\u002FWebSocket 的触发点\n- 把页面证据带回 Node 做本地复现与补环境\n\n如果目标是二进制、APK、PE、ELF、DLL、SO，请改用 `ida-reverse`、`radare2` 或 `reverse-engineering`。\n\n## 当前环境默认工具映射\n\n本 skill 不假设存在裸工具名，而是默认绑定当前客户端环境里可用的 `js-reverse_*` 工具。\n\n如果当前任务明确提到 `jshookmcp`、`JS hook`、`CDP`、浏览器断点、网络拦截、SourceMap 或 AST 去混淆，也仍然走本 skill；只是把底层 MCP 面切到 `jshookmcp`，而不是把它当成一个新的总入口。\n\n前提条件：`jshookmcp` 不是本地裸命令工具，而是一个要先下载、显式注册并启用的 MCP server。只有在所选客户端（Claude、Codex 等）的 MCP 配置里接入并启用后，相关工具面才真的可调用。\n\n常用映射：\n\n- `list_scripts` -> `js-reverse_list_scripts`\n- `get_script_source` -> `js-reverse_get_script_source`\n- `search_in_sources` -> `js-reverse_search_in_sources`\n- `break_on_xhr` -> `js-reverse_break_on_xhr`\n- `evaluate_script` -> `js-reverse_evaluate_script`\n- `get_paused_info` -> `js-reverse_get_paused_info`\n- `set_breakpoint_on_text` -> `js-reverse_set_breakpoint_on_text`\n- `list_network_requests` -> `js-reverse_list_network_requests`\n- `get_request_initiator` -> `js-reverse_get_request_initiator`\n- `get_websocket_messages` -> `js-reverse_get_websocket_messages`\n- `take_screenshot` -> `js-reverse_take_screenshot`\n- `new_page` -> `js-reverse_new_page`\n- `navigate_page` -> `js-reverse_navigate_page`\n- `select_page` -> `js-reverse_select_page`\n- `select_frame` -> `js-reverse_select_frame`\n- `pause\u002Fresume` -> `js-reverse_pause_or_resume`\n\n如果未来工具名前缀变化，先更新本节，不要在执行时临时猜测。\n\n### jshookmcp 的定位\n\n- 角色：`js-reverse` 的增强执行面，不是独立总控\n- 适合：浏览器自动化、CDP 调试、JS Hook、网络拦截、SourceMap 重建、AST 辅助理解\n- 调用前提：先把 `@jshookmcp\u002Fjshook` 下载并注册到 MCP 客户端配置里，然后确保该 server 已启用\n- 建议入口：仍然按 `Observe → Capture → Rebuild` 执行，只是在 `Observe\u002FCapture` 阶段优先调用 jshookmcp 的浏览器与 Hook 能力\n- 与 anything-analyzer 关系：两者都能做浏览器\u002F网络侧取证；anything-analyzer 更偏抓包与 HTTP 分析，jshookmcp 更偏 JS 运行时、CDP、Hook 和源码理解\n\n## 核心原则\n\n- `Observe-first`\n- `Hook-preferred`\n- `Breakpoint-last`\n- `Rebuild-oriented`\n- `Evidence-first`\n\n先页面观察，再最小化采样，再做本地补环境，不要跳过取证直接猜环境。\n\n## 五阶段工作流\n\n### 1. Observe\n\n目标：先确认目标请求、相关脚本、候选函数，不猜环境。\n\n默认动作：\n\n- 用 `js-reverse_new_page` 或 `js-reverse_navigate_page` 打开目标页面\n- 用 `js-reverse_list_network_requests` 找目标请求\n- 用 `js-reverse_get_request_initiator` 回溯调用来源\n- 用 `js-reverse_list_scripts`、`js-reverse_search_in_sources` 缩小脚本范围\n\n必须产出：\n\n- 目标请求 URL 或特征\n- initiator 线索\n- 可疑脚本 URL\n- 初始任务记录\n\n### 2. Capture\n\n目标：对目标请求做最小侵入采样，拿到参数样例、调用顺序、运行时证据。\n\n规则：\n\n- 优先 `js-reverse_break_on_xhr`\n- 优先 `js-reverse_evaluate_script` 做轻量运行时观察\n- 命中后先看 `js-reverse_get_paused_info`\n- 必要时再用 `js-reverse_set_breakpoint_on_text`\n\n### 3. Rebuild\n\n目标：把页面证据整理成本地可迭代的 Node 复现材料。\n\n规则：\n\n- 本地补环境必须以页面观测证据为依据\n- 不允许空想式补 `window\u002Fdocument\u002Fnavigator\u002Fcrypto\u002Fstorage`\n- 每次只记录一个最小因果补丁决策\n\n### 4. Patch\n\n目标：按报错和 first divergence 驱动补环境，直到本地脚本稳定跑出目标参数。\n\n规则：\n\n- 先看缺什么，再补什么\n- 一次只做一个最小补丁决策\n- 每次补丁后立即复测\n- 每次补丁都写入任务记录\n\n### 5. DeepDive\n\n目标：本地跑通后，再做去混淆、控制流还原、业务逻辑提纯。\n\n规则：\n\n- 如果当前任务只是出签名，这一阶段可以降级\n- 如果要长期复用算法链路，这一阶段必须做\n- Issue #65 混淆旁路（U–AV §4）：JSVMP（AD）→ `E-js-vmp`；CFF+字符串数组（AE）→ `E-js-deobf`；DevTools\u002Fdebugger 反调试（AF）→ `E-js-anti-debug`。完整触发表见 `..\u002Freverse-engineering\u002Freferences\u002Fnonpe-format-cookbook.md`；AST 细节仍用 `references\u002Fast-deobfuscation.md`\n\n## 执行要求\n\n- 所有重要步骤都要写入本地 task artifact\n- 如果无法解释为什么调用某个工具，就不要调用\n- 优先使用 `js-reverse_*` 或 jshookmcp 的现成 MCP 能力直接取证，不要先写脚本重造能力\n- 失败时按 `references\u002Ffallbacks.md` 回退\n- 输出遵循 `references\u002Foutput-contract.md`\n\n## 必读引用\n\n- 自动化入口：`references\u002Fautomation-entry.md`\n- 参数默认值：`references\u002Ftool-defaults.md`\n- 任务输入模板：`references\u002Ftask-input-template.md`\n- MCP 专用任务编排：`references\u002Fmcp-task-template.md`\n- 任务产物：`references\u002Ftask-artifacts.md`\n- 本地复现：`references\u002Flocal-rebuild.md`\n- 补环境：`references\u002Fenv-patching.md`\n- Node 复现：`references\u002Fnode-env-rebuild.md`\n- 插桩：`references\u002Finstrumentation.md`\n- AST 去混淆：`references\u002Fast-deobfuscation.md`\n- 非 PE\u002FJS 混淆菜谱 U–AV：`..\u002Freverse-engineering\u002Freferences\u002Fnonpe-format-cookbook.md`（AD\u002FAE\u002FAF）\n- 回退：`references\u002Ffallbacks.md`\n- 输出契约：`references\u002Foutput-contract.md`\n\n---\n\n## 路由上下文\n\n**上游入口**: `skills\u002FSKILL.md`（总控）、`routing.md`\n**上游备选**:\n- anything-analyzer MCP（端口 23816）的浏览器工具可作为替代或补充\n- jshookmcp 可作为更强的浏览器\u002FCDP\u002FHook\u002FNetwork\u002FSourceMap\u002FAST 执行面\n- `reverse-engineering\u002FSKILL.md`（如果目标不是前端 JS）\n\n**下游出口**:\n- 需补环境 → `references\u002Fenv-patching.md`\n- 需本地复现 → `references\u002Flocal-rebuild.md` \u002F `references\u002Fnode-env-rebuild.md`\n- 需去混淆 → `references\u002Fast-deobfuscation.md`\n- 走不通时回退 → `references\u002Ffallbacks.md`\n\n**同级关联模块**: anything-analyzer MCP（浏览器自动化和 HTTP 捕获能力可以互补）\n\n---\n\n## 按需自举（On-Demand Bootstrap）\n\n本 skill 依赖的 MCP 能力可通过统一自举系统安装；MCP 客户端注册必须显式选择目标，默认不会写任何客户端全局配置。\n\n### 自动化能力边界\n\n| 能力 | 可自动注册 | 方式 | 说明 |\n|------|-----------|------|------|\n| jshookmcp | ✓ | npm-mcp（npx 启动） | 显式选择 Claude \u002F Codex \u002F Both 后注册 |\n| anything-analyzer | ✓ | local-http-mcp | 可自动启动服务；客户端注册须显式选择 |\n| Node.js | ✓ | winget 安装 | 运行时依赖 |\n\n### 自举方式\n\n```powershell\n# 安装并注册 jshookmcp；Codex 可替换为 Claude 或 Both\npowershell -File \"\u003Cskill-root>\\scripts\\bootstrap-reverse.ps1\" -Capability @('jshookmcp') -McpHostTarget Codex\n\n# 注册并启动 anything-analyzer\npowershell -File \"\u003Cskill-root>\\scripts\\bootstrap-reverse.ps1\" -Capability @('anything-analyzer') -StartServices -McpHostTarget Codex\n```\n\n### 注意事项\n\n- `jshookmcp` 注册后仍需在 AI 客户端中**启用**该 MCP server 才能调用\n- 不传 `-McpHostTarget` 时只安装\u002F准备能力并返回 registration-required，不修改 Claude 或 Codex 配置\n- `anything-analyzer` 需要 pnpm 和项目源码，bootstrap 会自动 clone 并安装依赖\n- 如果 Node.js 未安装，bootstrap 会先通过 winget 安装 Node.js 22\n\n\u003Cbr>\u003Cbr>## 任务完成自检（声称完成前 MUST 通过）\n\n- [ ] 我是否执行了工作流中的每一步（而不是只阅读）？\n- [ ] 我是否基于 `tool-index` 使用了真实工具路径？\n- [ ] 我是否产出了可复现证据（命令\u002F脚本\u002F截图\u002F报告）？\n- [ ] 我是否完成并回写了 RULES 要求的 Checklist 项？\n\n## Limitations\n\n- Only analyze applications you are authorized to assess.\n- Bundlers\u002Fminifiers change constantly; findings are snapshot-specific.\n\n> Adapted from [zhaoxuya520\u002Freverse-skill](https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill) (MIT).\n","> **⚠️ AUTHORIZED USE ONLY**\n> This skill is for educational purposes or authorized security assessments only.\n> You must have explicit, written permission from the system owner before using this tool.\n> Misuse of this tool is illegal and strictly prohibited.\n\n> **Mandatory confirmation gate**\n> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:\n> 1. Ask the user to state the exact target URL, IP, account, or resource.\n> 2. Ask the user to confirm written authorization and the permitted scope.\n> 3. Show the exact command(s) and explain their expected effect.\n> 4. Wait for explicit confirmation in the current conversation.\n>\n> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.\n\n# MCP 前端 JS 逆向作业规范\n## When to Use\n\n- Understanding how a web application signs or encrypts API requests.\n- Reproducing client-side crypto locally to validate analysis.\n\n\n## 适用范围\n\n当任务属于以下场景时优先使用本 skill：\n\n- 定位接口签名、加密参数、风控字段\n- 观察页面请求链路与脚本来源\n- 在运行时抓取函数入参与返回值\n- 追踪某个 XHR\u002FFetch\u002FWebSocket 的触发点\n- 把页面证据带回 Node 做本地复现与补环境\n\n如果目标是二进制、APK、PE、ELF、DLL、SO，请改用 `ida-reverse`、`radare2` 或 `reverse-engineering`。\n\n## 当前环境默认工具映射\n\n本 skill 不假设存在裸工具名，而是默认绑定当前客户端环境里可用的 `js-reverse_*` 工具。\n\n如果当前任务明确提到 `jshookmcp`、`JS hook`、`CDP`、浏览器断点、网络拦截、SourceMap 或 AST 去混淆，也仍然走本 skill；只是把底层 MCP 面切到 `jshookmcp`，而不是把它当成一个新的总入口。\n\n前提条件：`jshookmcp` 不是本地裸命令工具，而是一个要先下载、显式注册并启用的 MCP server。只有在所选客户端（Claude、Codex 等）的 MCP 配置里接入并启用后，相关工具面才真的可调用。\n\n常用映射：\n\n- `list_scripts` -> `js-reverse_list_scripts`\n- `get_script_source` -> `js-reverse_get_script_source`\n- `search_in_sources` -> `js-reverse_search_in_sources`\n- `break_on_xhr` -> `js-reverse_break_on_xhr`\n- `evaluate_script` -> `js-reverse_evaluate_script`\n- `get_paused_info` -> `js-reverse_get_paused_info`\n- `set_breakpoint_on_text` -> `js-reverse_set_breakpoint_on_text`\n- `list_network_requests` -> `js-reverse_list_network_requests`\n- `get_request_initiator` -> `js-reverse_get_request_initiator`\n- `get_websocket_messages` -> `js-reverse_get_websocket_messages`\n- `take_screenshot` -> `js-reverse_take_screenshot`\n- `new_page` -> `js-reverse_new_page`\n- `navigate_page` -> `js-reverse_navigate_page`\n- `select_page` -> `js-reverse_select_page`\n- `select_frame` -> `js-reverse_select_frame`\n- `pause\u002Fresume` -> `js-reverse_pause_or_resume`\n\n如果未来工具名前缀变化，先更新本节，不要在执行时临时猜测。\n\n### jshookmcp 的定位\n\n- 角色：`js-reverse` 的增强执行面，不是独立总控\n- 适合：浏览器自动化、CDP 调试、JS Hook、网络拦截、SourceMap 重建、AST 辅助理解\n- 调用前提：先把 `@jshookmcp\u002Fjshook` 下载并注册到 MCP 客户端配置里，然后确保该 server 已启用\n- 建议入口：仍然按 `Observe → Capture → Rebuild` 执行，只是在 `Observe\u002FCapture` 阶段优先调用 jshookmcp 的浏览器与 Hook 能力\n- 与 anything-analyzer 关系：两者都能做浏览器\u002F网络侧取证；anything-analyzer 更偏抓包与 HTTP 分析，jshookmcp 更偏 JS 运行时、CDP、Hook 和源码理解\n\n## 核心原则\n\n- `Observe-first`\n- `Hook-preferred`\n- `Breakpoint-last`\n- `Rebuild-oriented`\n- `Evidence-first`\n\n先页面观察，再最小化采样，再做本地补环境，不要跳过取证直接猜环境。\n\n## 五阶段工作流\n\n### 1. Observe\n\n目标：先确认目标请求、相关脚本、候选函数，不猜环境。\n\n默认动作：\n\n- 用 `js-reverse_new_page` 或 `js-reverse_navigate_page` 打开目标页面\n- 用 `js-reverse_list_network_requests` 找目标请求\n- 用 `js-reverse_get_request_initiator` 回溯调用来源\n- 用 `js-reverse_list_scripts`、`js-reverse_search_in_sources` 缩小脚本范围\n\n必须产出：\n\n- 目标请求 URL 或特征\n- initiator 线索\n- 可疑脚本 URL\n- 初始任务记录\n\n### 2. Capture\n\n目标：对目标请求做最小侵入采样，拿到参数样例、调用顺序、运行时证据。\n\n规则：\n\n- 优先 `js-reverse_break_on_xhr`\n- 优先 `js-reverse_evaluate_script` 做轻量运行时观察\n- 命中后先看 `js-reverse_get_paused_info`\n- 必要时再用 `js-reverse_set_breakpoint_on_text`\n\n### 3. Rebuild\n\n目标：把页面证据整理成本地可迭代的 Node 复现材料。\n\n规则：\n\n- 本地补环境必须以页面观测证据为依据\n- 不允许空想式补 `window\u002Fdocument\u002Fnavigator\u002Fcrypto\u002Fstorage`\n- 每次只记录一个最小因果补丁决策\n\n### 4. Patch\n\n目标：按报错和 first divergence 驱动补环境，直到本地脚本稳定跑出目标参数。\n\n规则：\n\n- 先看缺什么，再补什么\n- 一次只做一个最小补丁决策\n- 每次补丁后立即复测\n- 每次补丁都写入任务记录\n\n### 5. DeepDive\n\n目标：本地跑通后，再做去混淆、控制流还原、业务逻辑提纯。\n\n规则：\n\n- 如果当前任务只是出签名，这一阶段可以降级\n- 如果要长期复用算法链路，这一阶段必须做\n- Issue #65 混淆旁路（U–AV §4）：JSVMP（AD）→ `E-js-vmp`；CFF+字符串数组（AE）→ `E-js-deobf`；DevTools\u002Fdebugger 反调试（AF）→ `E-js-anti-debug`。完整触发表见 `..\u002Freverse-engineering\u002Freferences\u002Fnonpe-format-cookbook.md`；AST 细节仍用 `references\u002Fast-deobfuscation.md`\n\n## 执行要求\n\n- 所有重要步骤都要写入本地 task artifact\n- 如果无法解释为什么调用某个工具，就不要调用\n- 优先使用 `js-reverse_*` 或 jshookmcp 的现成 MCP 能力直接取证，不要先写脚本重造能力\n- 失败时按 `references\u002Ffallbacks.md` 回退\n- 输出遵循 `references\u002Foutput-contract.md`\n\n## 必读引用\n\n- 自动化入口：`references\u002Fautomation-entry.md`\n- 参数默认值：`references\u002Ftool-defaults.md`\n- 任务输入模板：`references\u002Ftask-input-template.md`\n- MCP 专用任务编排：`references\u002Fmcp-task-template.md`\n- 任务产物：`references\u002Ftask-artifacts.md`\n- 本地复现：`references\u002Flocal-rebuild.md`\n- 补环境：`references\u002Fenv-patching.md`\n- Node 复现：`references\u002Fnode-env-rebuild.md`\n- 插桩：`references\u002Finstrumentation.md`\n- AST 去混淆：`references\u002Fast-deobfuscation.md`\n- 非 PE\u002FJS 混淆菜谱 U–AV：`..\u002Freverse-engineering\u002Freferences\u002Fnonpe-format-cookbook.md`（AD\u002FAE\u002FAF）\n- 回退：`references\u002Ffallbacks.md`\n- 输出契约：`references\u002Foutput-contract.md`\n\n---\n\n## 路由上下文\n\n**上游入口**: `skills\u002FSKILL.md`（总控）、`routing.md`\n**上游备选**:\n- anything-analyzer MCP（端口 23816）的浏览器工具可作为替代或补充\n- jshookmcp 可作为更强的浏览器\u002FCDP\u002FHook\u002FNetwork\u002FSourceMap\u002FAST 执行面\n- `reverse-engineering\u002FSKILL.md`（如果目标不是前端 JS）\n\n**下游出口**:\n- 需补环境 → `references\u002Fenv-patching.md`\n- 需本地复现 → `references\u002Flocal-rebuild.md` \u002F `references\u002Fnode-env-rebuild.md`\n- 需去混淆 → `references\u002Fast-deobfuscation.md`\n- 走不通时回退 → `references\u002Ffallbacks.md`\n\n**同级关联模块**: anything-analyzer MCP（浏览器自动化和 HTTP 捕获能力可以互补）\n\n---\n\n## 按需自举（On-Demand Bootstrap）\n\n本 skill 依赖的 MCP 能力可通过统一自举系统安装；MCP 客户端注册必须显式选择目标，默认不会写任何客户端全局配置。\n\n### 自动化能力边界\n\n| 能力 | 可自动注册 | 方式 | 说明 |\n|------|-----------|------|------|\n| jshookmcp | ✓ | npm-mcp（npx 启动） | 显式选择 Claude \u002F Codex \u002F Both 后注册 |\n| anything-analyzer | ✓ | local-http-mcp | 可自动启动服务；客户端注册须显式选择 |\n| Node.js | ✓ | winget 安装 | 运行时依赖 |\n\n### 自举方式\n\n```powershell\n# 安装并注册 jshookmcp；Codex 可替换为 Claude 或 Both\npowershell -File \"\u003Cskill-root>\\scripts\\bootstrap-reverse.ps1\" -Capability @('jshookmcp') -McpHostTarget Codex\n\n# 注册并启动 anything-analyzer\npowershell -File \"\u003Cskill-root>\\scripts\\bootstrap-reverse.ps1\" -Capability @('anything-analyzer') -StartServices -McpHostTarget Codex\n```\n\n### 注意事项\n\n- `jshookmcp` 注册后仍需在 AI 客户端中**启用**该 MCP server 才能调用\n- 不传 `-McpHostTarget` 时只安装\u002F准备能力并返回 registration-required，不修改 Claude 或 Codex 配置\n- `anything-analyzer` 需要 pnpm 和项目源码，bootstrap 会自动 clone 并安装依赖\n- 如果 Node.js 未安装，bootstrap 会先通过 winget 安装 Node.js 22\n\n\u003Cbr>\u003Cbr>## 任务完成自检（声称完成前 MUST 通过）\n\n- [ ] 我是否执行了工作流中的每一步（而不是只阅读）？\n- [ ] 我是否基于 `tool-index` 使用了真实工具路径？\n- [ ] 我是否产出了可复现证据（命令\u002F脚本\u002F截图\u002F报告）？\n- [ ] 我是否完成并回写了 RULES 要求的 Checklist 项？\n\n## Limitations\n\n- Only analyze applications you are authorized to assess.\n- Bundlers\u002Fminifiers change constantly; findings are snapshot-specific.\n\n> Adapted from [zhaoxuya520\u002Freverse-skill](https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill) (MIT).\n",{"name":5,"risk":24,"source":25,"license":15,"date_added":26,"description":7,"source_repo":27,"source_type":28,"license_source":29},"offensive","https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill","2026-08-25","zhaoxuya520\u002Freverse-skill","community","https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill\u002Fblob\u002Fmain\u002FLICENSE","main","d69096e239f2a89aabc2cd078c47664a9d3b1e11","03-逆向工程\u002Fjs-reverse",3,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts","https:\u002F\u002Fgithub.com\u002Flza6","个人vx：Tf00798\r\n个人✈：@TFGY999","2026-10-08 14:29:22",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add lza6\u002FArmor-piercing-system-prompts --skill js-reverse",{"tool":44,"command":45},"bunx","bunx skills add lza6\u002FArmor-piercing-system-prompts --skill js-reverse",{"tool":47,"command":48},"pnpm","pnpm dlx skills add lza6\u002FArmor-piercing-system-prompts --skill js-reverse","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002FSKILL.md",true,[52,58,62,66,70,74,78,82,86,90,94,98],{"path":53,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":56,"sourceHtmlUrl":57},"references\u002Fast-deobfuscation.md","REFERENCE","参考文档",146,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Fast-deobfuscation.md",{"path":59,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":60,"sourceHtmlUrl":61},"references\u002Fautomation-entry.md",498,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Fautomation-entry.md",{"path":63,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":64,"sourceHtmlUrl":65},"references\u002Fenv-patching.md",232,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Fenv-patching.md",{"path":67,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":68,"sourceHtmlUrl":69},"references\u002Ffallbacks.md",235,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Ffallbacks.md",{"path":71,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Finstrumentation.md",198,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Finstrumentation.md",{"path":75,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Flocal-rebuild.md",295,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Flocal-rebuild.md",{"path":79,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fmcp-task-template.md",408,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Fmcp-task-template.md",{"path":83,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fnode-env-rebuild.md",191,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Fnode-env-rebuild.md",{"path":87,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Foutput-contract.md",258,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Foutput-contract.md",{"path":91,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Ftask-artifacts.md",221,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Ftask-artifacts.md",{"path":95,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Ftask-input-template.md",165,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Ftask-input-template.md",{"path":99,"resourceType":54,"resourceTypeDesc":55,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Ftool-defaults.md",406,"https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F03-逆向工程\u002Fjs-reverse\u002Freferences\u002Ftool-defaults.md",[103,110,117,124,132,139],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":19},"01M7EXRM12046G0GM1WGMMFXCN","ci-cd-and-automation","Automates CI\u002FCD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fci-cd-and-automation\u002FSKILL.md",[],[],{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":19},"01M7EXRFYYSJ3Y15AGPDDEWWQD","chrome-devtools","Uses Chrome DevTools via MCP for efficient debugging, troubleshooting and browser automation. Use when debugging web pages, automating browser interactions, analyzing performance, or inspecting network requests. This skill does not apply to `--slim` mode (MCP configuration).","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchrome-devtools\u002FSKILL.md",[],[],{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":19},"01M7EXR6EYPE4X5X1BTAE6QJRV","chrome-cdp","Drive a real Chrome via the Chrome DevTools Protocol (CDP). Ensures a\ndebuggable Chrome is running (launching it if needed) so the agent can\nnavigate, read page content, inspect the DOM, run JavaScript, and take\nscreenshots — without the user typing any launch command. Includes a\nfirst-class \"review a live running app\" flow: point Chrome at the app under\ndevelopment and inspect\u002Fscreenshot the REAL page (what a static-artifact tool\ncannot do). Backed by Glimpse and the chrome-devtools MCP server. Use when\nasked to \"use chrome\", \"open chrome\", \"drive my browser\", \"read the page in\nchrome\", \"review the running app\", \"screenshot the app\", or \"\u002Fchrome-cdp\".","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchrome-cdp\u002FSKILL.md",[],[],{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":128,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":19},"01M7EXR1Y7E79KQKG4J798XGH6","check-identity-pack","Run an AFP 100-point or AUSTRAC safe-harbour identity check over a set of documents, and report exactly what's missing. Use when the user asks to check identity documents, verify someone's ID for onboarding, or assess whether a document pack satisfies Australian identity requirements.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fcheck-identity-pack\u002FSKILL.md",[],[],{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":19},"01M7EXQXW7C7PGREJW9ZZTZ16H","changelog","Auto-generates a changelog from git commits, sprint data, and design documents. Produces both internal and player-facing versions.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fchangelog\u002FSKILL.md",[],[],{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":19},"01M7EXQMH2ZME3ANN8Q8MEWPFB","cellxgene-census","Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs\u002Fdownloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.","https:\u002F\u002Fgithub.com\u002Flza6\u002FArmor-piercing-system-prompts\u002Fblob\u002Fmain\u002F05-技能与代理开发\u002Fcellxgene-census\u002FSKILL.md",[],[]]