[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P78JWQZT0KK8TNHMJVC4K3":3,"skill-same:01M6P78JWQZT0KK8TNHMJVC4K3":122},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":37,"commitSha":53,"skillDirectory":54,"forksCount":13,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6P78JWQZT0KK8TNHMJVC4K3","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.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"reverse","js","js reverse","runtime","for","front","locate","reverse engineering","encrypted","output","end","github","logic","sample","main","community","evidence","analyze","license","javascript","2026-11-10 10:12:30",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":48,"source":49,"license":14,"date_added":50,"description":7,"source_repo":51,"source_type":38,"license_source":52},"offensive","https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill","2026-08-25","zhaoxuya520\u002Freverse-skill","https:\u002F\u002Fgithub.com\u002Fzhaoxuya520\u002Freverse-skill\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fjs-reverse","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill js-reverse",{"tool":64,"command":65},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill js-reverse",{"tool":67,"command":68},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill js-reverse","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002FSKILL.md",true,[72,78,82,86,90,94,98,102,106,110,114,118],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fast-deobfuscation.md","REFERENCE","参考文档",146,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Fast-deobfuscation.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fautomation-entry.md",498,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Fautomation-entry.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fenv-patching.md",232,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Fenv-patching.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Ffallbacks.md",235,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Ffallbacks.md",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Finstrumentation.md",198,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Finstrumentation.md",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Flocal-rebuild.md",295,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Flocal-rebuild.md",{"path":99,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fmcp-task-template.md",408,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Fmcp-task-template.md",{"path":103,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fnode-env-rebuild.md",191,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Fnode-env-rebuild.md",{"path":107,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Foutput-contract.md",258,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Foutput-contract.md",{"path":111,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Ftask-artifacts.md",221,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Ftask-artifacts.md",{"path":115,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Ftask-input-template.md",165,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Ftask-input-template.md",{"path":119,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Ftool-defaults.md",406,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fjs-reverse\u002Freferences\u002Ftool-defaults.md",[123,150,174,196,224,248],{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":132,"publishedAt":43},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[129],{"categoryNo":130,"categoryName":131,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[133,134,135,136,137,138,125,139,140,141,142,143,38,37,144,145,146,147,148,149],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","devops-security","access","configure","only","active","critical","scope","scripts","relevant","implementing",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":43},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[157,158,159,160,161,162,163,164,165,166,167,168,169,143,170,38,171,172,145,173],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":43},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[181,182,183,184,34,185,186,41,187,188,189,190,191,38,37,192,32,193,194,195],"transcript","youtube transcript","youtube","safe","codex","research","https","text","fetch","tooling","clean","local","deepapi","youtube transcripts","blob",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":213,"publishedAt":43},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[202,205,208],{"categoryNo":203,"categoryName":204,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":206,"categoryName":207,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":209,"categoryName":210,"taxonomyType":211,"taxonomyTypeDesc":212},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[181,182,183,214,184,215,34,185,41,216,217,218,219,189,220,38,37,221,222,223],"youtube transcript skills","gemini","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":234,"publishedAt":43},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[230,233],{"categoryNo":231,"categoryName":232,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":206,"categoryName":207,"taxonomyType":20,"taxonomyTypeDesc":21},[183,235,236,161,184,237,238,239,240,41,218,241,242,243,244,37,245,192,246,247],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":249,"name":250,"nameZh":6,"description":251,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":252,"categories":253,"keywords":255,"publishedAt":43},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[254],{"categoryNo":203,"categoryName":204,"taxonomyType":20,"taxonomyTypeDesc":21},[256,183,257,258,184,215,216,259,260,217,218,219,189,261,220,38,37,221,262,194],"youtube full","full","google","server","dlp","credits","automatic"]