API逆向分析工具

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

Web 平台 API 逆向工程方法论:用 mitmproxy 抓包 + 独立 Chrome 代理 + Playwright 复用登录态,逆向分析任意 Web 平台的鉴权链路与 API 接口,最终构建自动化脚本。适用场景:目标平台无公开 API、需逆向登录/token 交换/发帖/删除等操作、多域名鉴权体系、需要复用浏览器扫码登录态做 headless 自动化。触发词:抓包、逆向 API、分析登录流程、token 链路、抓接口、mitmproxy、抓包分析、Chrome 代理、复用登录态、自动发帖脚本、API 逆向。

一句话选型结论

按资料字段整理

API逆向分析工具是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_68d21191/web-api-reverse
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_68d21191仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791727114
正文体量8.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
API逆向分析工具当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

8.7 KB
模型实际读到的说明书原文,来自技能仓库

Web API Reverse

Overview

对任意 Web 平台做 API 逆向:用 mitmproxy 拦截流量 → 分析鉴权链路 → 用 Playwright 复用登录态构建自动化脚本。整个流程不污染用户日常浏览器(独立 profile + 代理),支持扫码登录态跨会话复用。

Prerequisites

  • mitmproxy MCP connector 已连接(提供 mcp__mitmproxy-mcp__* 工具集)
  • 系统 Chrome 已安装(Playwright 走 channel="chrome",无需额外下载浏览器)
  • Python 3.12+ + playwright + pillow(装在 managed venv)

四阶段工作流

Phase 1: Setup(一次性环境准备)

安装 mitmproxy CA 证书(Chrome 信任 HTTPS 拦截):

# Windows: 把 mitmproxy CA 装入当前用户的受信任根证书
certutil -user -addstore Root "$env:USERPROFILE\.mitmproxy\mitmproxy-ca-cert.cer"
# 验证
certutil -user -store Root | Select-String "mitmproxy"

> 首次运行 mitmproxy 会自动在 ~/.mitmproxy/ 生成 CA 证书。如果该目录为空,先启动一次代理(start_proxy)再关闭,证书会自动生成。

安装 Python 依赖(managed venv):

CPYTHON="C:/Users/Administrator/.workbuddy/binaries/python/versions/3.13.12/python.exe"
VENV="C:/Users/Administrator/.workbuddy/binaries/python/envs/default"
"$CPYTHON" -m venv "$VENV"
"$VENV/Scripts/pip.exe" install playwright pillow

启动代理 Chrome(独立实例,不碰用户日常浏览器):

# 用 scripts/launch_proxy_chrome.py 一键启动
python scripts/launch_proxy_chrome.py --profile-name myproject

# 或手动启动
chrome.exe --proxy-server=http://127.0.0.1:8080 \
  --user-data-dir="C:/Users/Administrator/.workbuddy/skills/web-api-reverse/chrome_profiles/myproject" \
  --no-first-run --no-default-browser-check

> 关键设计:每个平台/项目用独立的 --user-data-dir,登录态互不干扰,与用户日常 Chrome 完全隔离。profile 目录持久化,关闭后下次复用。

Phase 2: Capture(抓包)

  1. 启动 mitmproxy 代理:调用 mcp__mitmproxy-mcp__start_proxy(默认监听 127.0.0.1:8080)
    - ⚠️ 若返回 "MITM is already running":说明是旧实例在跑,start_proxy 的 dump_file 参数不会生效。先 stop_proxy → 再 start_proxy(带 dump_file),否则用户操作期间的流量可能写不进你的 dump。
  2. 限定抓包范围:mcp__mitmproxy-mcp__set_scope 只关注目标域名(如 .*\.example\.com),减少噪音。注意 set_scope 的 dump 只记录 scope 内域,跨域上传(如资源直传到 CDN)要提前把该域加进 scope。
  3. 用户操作:让用户在代理 Chrome 里完成:扫码登录 → 选账号 → 进入目标页面 → 执行目标动作(发帖/查看/删除等)
  4. 用户完成后:调用 mcp__mitmproxy-mcp__get_traffic_summary 看流量概览,确认有数据
    - ⚠️ 若查询库为空但 dump 文件在增长:MCP 查询库与 mitmproxy dump 不同步。用 mcp__mitmproxy-mcp__load_traffic_file(file_path=dump 文件,append=true,scope=逗号分隔域名)把 dump 载入数据库,之后所有查询工具即可用。
    - ⚠️ QUIC/HTTP3 绕过代理:Chrome 对部分域(尤其字节/抖音系)走 HTTP/3(UDP),mitmproxy 是 TCP 代理抓不到。现象:页面 API 能抓到、但文件上传请求缺失。解决:代理 Chrome 启动参数加 --disable-quic --disable-http3 强制走 TCP(launch_proxy_chrome.py 暂未内置,手动启动 Chrome 时附加)。
    - ⚠️ 服务端去重会"吞"上传流量:若重复上传同一文件(MD5 相同),服务端可能直接返回已有 ID、不再发生内容上传。要抓上传协议,必须用内容不同的新文件触发完整流程。

Phase 3: Analysis(鉴权链路分析)

这是核心分析阶段。详细方法见 references/auth_chain_patterns.md,关键步骤:

  1. 搜登录请求:mcp__mitmproxy-mcp__search_traffic 搜关键词 login / oauth / token
  2. 逐条检视:mcp__mitmproxy-mcp__inspect_flow 看请求头、请求体、响应头(尤其 set-cookie)、响应体
  3. 识别 token 链:
    - 登录响应 → 找 set-cookie(session cookie)
    - URL 变化 → 找 ?token=xxx 或 #token=xxx(URL 里的数字 token)
    - API 调用 → 找请求头 Authorization: Bearer xxx 或 query ?token=xxx
  4. 自动模式检测:mcp__mitmproxy-mcp__get_api_patterns 自动识别 API 端点、参数模式
  5. 提取关键数据:mcp__mitmproxy-mcp__extract_from_flow 从特定 flow 中提取 token、session key、用户标识等
  6. 生成 OpenAPI 规范:mcp__mitmproxy-mcp__export_openapi_spec 自动生成接口文档

常见鉴权模式(详见 references/auth_chain_patterns.md):
- 单域 cookie 鉴权:登录 → set-cookie → 后续请求自动带 cookie
- URL token 鉴权:登录 → 跳转 URL 带 ?token=数字 → 后续请求 query 带 token
- 多域 token 交换:域 A 登录 → 跳转域 B → 调中间接口换 API token → 后续 API 用 token
- iframe 中转:主域页面内嵌 iframe 指向 API 域,iframe URL 带身份参数

Phase 4: Implementation(构建自动化脚本)

用 Playwright 复用代理 Chrome 的 profile 实现自动化。详见 references/playwright_login_reuse.md。

核心模式:

from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        # 复用代理 Chrome 的 profile(登录态已持久化)
        ctx = await p.chromium.launch_persistent_context(
            user_data_dir=str(PROFILE_DIR),  # 必须与代理 Chrome 的 --user-data-dir 一致
            channel="chrome",                  # 用系统 Chrome,无需下载浏览器
            headless=True,                     # 无头模式跑 API 调用
            args=["--no-first-run", "--disable-background-networking"],
        )
        page = await ctx.new_page()
        # 导航到平台 → 检测是否已登录 → 执行目标 API 调用

登录态检测原则:
- 以浏览器实测为唯一真相来源(导航到平台,检查 URL 中是否有 token 或页面内容是否为已登录状态)
- 不要依赖 cookie SQLite 文件预检(Chrome 运行时文件被锁,且 cookie 表名/域名假设容易出错)
- profile 被占用时明确报 PROFILE_IN_USE,提示关闭代理 Chrome 后重试

Quick Reference

操作 命令/工具
安装 CA 证书 scripts/cert_setup_windows.ps1
启动代理 Chrome python scripts/launch_proxy_chrome.py --profile-name <name>
安全读 cookie python scripts/read_chrome_cookies.py --profile <name>
启动 mitmproxy mcp__mitmproxy-mcp__start_proxy
设抓包范围 mcp__mitmproxy-mcp__set_scope (domains: ["目标域名"])
流量概览 mcp__mitmproxy-mcp__get_traffic_summary
搜索流量 mcp__mitmproxy-mcp__search_traffic (keyword: "login")
检视单条 mcp__mitmproxy-mcp__inspect_flow (flow_id)
批量检视 mcp__mitmproxy-mcp__inspect_flows (flow_ids)
自动模式检测 mcp__mitmproxy-mcp__get_api_patterns
提取数据 mcp__mitmproxy-mcp__extract_from_flow (flow_id, pattern)
导出 OpenAPI mcp__mitmproxy-mcp__export_openapi_spec
清除流量 mcp__mitmproxy-mcp__clear_traffic

Resources

文件 用途
scripts/launch_proxy_chrome.py 一键启动带代理+独立 profile 的 Chrome
scripts/cert_setup_windows.ps1 Windows 安装 mitmproxy CA 证书
scripts/read_chrome_cookies.py 安全读取 Chrome profile 中的 cookie(处理文件锁)
references/mitmproxy_mcp_tools.md mitmproxy MCP 工具完整目录与使用模式
references/auth_chain_patterns.md 鉴权链路分析模式(4 种模式 + 多域 token 交换案例)
references/playwright_login_reuse.md Playwright 复用登录态脚本编写指南
references/windows_pitfalls.md Windows 环境特有陷阱与解决方案

常见问题

5 问
答案由本站依据条目字段整理
API逆向分析工具怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_68d21191/web-api-reverse。安装方式为未标注。装完刷新技能列表或重开客户端。

API逆向分析工具支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

API逆向分析工具权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

API逆向分析工具收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

API逆向分析工具用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。