Spider King — скилл
Скилл для разбора веб-клиентов с подписями, токенами и защитой от ботов: итогом становится сборщик данных на Python без браузера
- 523 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Скилл ведет разбор защит сайтов и исполняет чужой JS и WASM в локальном окружении, такой код может быть вредоносным
- Применение против чужих сайтов без разрешения нарушает условия сервиса и закон
- В работе встречаются cookie, токены и персональные данные
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/spider-kingОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Скилл ведет разбор защит сайтов и исполняет чужой JS и WASM в локальном окружении, такой код может быть вредоносным
- Применение против чужих сайтов без разрешения нарушает условия сервиса и закон
- В работе встречаются cookie, токены и персональные данные
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Spider King восстанавливает веб-протокол. Он берет сайт, где запрос подписывается скриптом, токен меняется или ответ приходит зашифрованным, и разбирает цепочку до повторяемого решения на Python без браузера. Работа идет по доказательствам: сначала находят настоящий запрос и источник динамического состояния, затем воссоздают его локально и только после этого занимаются пагинацией и масштабом. Перед началом скилл сам выбирает режим: `artifact-only` при готовых образцах, `live-target` для живой цели или `continuation`, и решает, нужен ли браузер. Для живой цели порядок жесткий: сначала базовая линия отпечатка через Chrome DevTools, потом отладочная трасса через js-reverse. Справочники в `references/` покрывают подписи, расшифровку ответов, WebSocket, GraphQL, protobuf, WASM, динамические шрифты, цепочки cookie и вызовы, которые ломаются при повторе. Есть три готовых профиля: хуки браузера, восстановление через AST и патч окружения. Результат бывает четырех видов, от доказательства до сборщика: `evidence`, `local-proof`, `compact-replay` и `collector`. По описанию автора в репозитории 14 скриптов, 12 тестовых файлов и пример чистого воспроизведения для Douyin.
Для кого. Инженерам по сбору данных и исследователям безопасности, которым нужно авторизованно разобрать подписи и токены веб-клиента и получить повторяемый сборщик.
Подходит, если
- Запрос в браузере подписывается скриптом, и подпись надо восстановить на Python
- Есть HAR или захват трафика, и надо объяснить, откуда берутся динамические поля, не открывая браузер
- Ответ приходит зашифрованным, в protobuf или с динамическим шрифтом, и нужен декодер
- Повтор запроса дает 403 или 412, хотя в браузере все проходит, и надо найти первую точку расхождения
- Собранное решение должно стабильно пройти несколько запусков и листать страницы
Не подходит, если
- Цель — APK, нативное приложение или мини-программа: скилл объявляет их вне основной задачи
- Нужна браузерная автоматизация с кликами: итог скилла — решение без браузера
- У вас нет прав на цель: скилл разбирает защиты сайта, и применять его можно только к своим сайтам и разрешенным исследованиям
- Планируется выгрузка персональных данных или обход ограничений сервиса против его правил: это нарушает условия и закон
Пример запроса к агенту
Разбери по прилагаемому HAR, как формируется параметр подписи в запросе списка, и воссоздай его на Python без браузераОграничения
Документация и большая часть справочников написаны на китайском, `SKILL.md` на английском. Для живой цели скилл рассчитывает на подключенные MCP `chrome-devtools` и `js-reverse`, без них работа идет офлайн по готовым образцам. Итоговому решению нужны Python и установленный curl-impersonate, а текущую работоспособность на живом сайте скилл утверждает только после нескольких успешных прогонов. Примеры привязаны к конкретным сервисам и версиям их защиты и устаревают вместе с ними.
Как отключить. Удалите папку spider-king из каталога скиллов агента, например `.claude/skills/` или `~/.claude/skills/`. Рабочие файлы скилл пишет в `js_reverse_cache/tasks/<id>/` проекта, эту папку удалите отдельно.
Частые вопросы
Как установить Spider King в Claude Code?
Склонируйте репозиторий в папку скиллов, например `git clone https://github.com/aoyunyang/spider-king-skill.git ~/.claude/skills/spider-king`. Файл `SKILL.md` с полем `name: spider-king` лежит в корне.
Нужен ли браузер?
Для разбора живой цели нужен: сначала базовая линия через Chrome DevTools, затем js-reverse. Итоговый сборщик от браузера не зависит. Режим `artifact-only` с готовыми HAR и захватом трафика обходится без браузера.
Что такое Auto Judge?
Правило первого хода. По сигналам задачи скилл выбирает режим (`artifact-only`, `live-target` или `continuation`) и только потом включает инструменты.
Подходит ли скилл для мобильных приложений?
Нет. APK, нативные приложения и мини-программы объявлены вне основной задачи, и скилл прямо сообщает об этом.
Законно ли это использовать?
Зависит от цели. Свои сайты, авторизованные тесты и публичные данные по правилам площадки допустимы. Разбор защит чужого сервиса против его условий может нарушать договор и закон.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыVibeSec
VibeSec-Skill
Скилл безопасной разработки: агент смотрит на код глазами багхантера и предотвращает типовые уязвимости веб-приложений
Сканер безопасности для скиллов агентов: ищет промпт-инъекции, утечку данных и вредоносный код перед установкой
122 скилла для обратной разработки: вредоносные программы, прошивки, протоколы, мобильные приложения, CTF и поиск уязвимостей.
Скилл SecKnowledge подгружает агенту базу по веб-уязвимостям и угрозам ИИ-приложений для тестирования защищенности цели.
Роутер скиллов для авторизованного реверс-инжиниринга, пентеста, CTF и разбора угроз: подбирает методику под задачу и проверяет доступные инструменты
Сканер безопасности для скиллов и MCP агентов: ищет промпт-инъекции, утечки данных и риски цепочки поставок до установки
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Spider King (эта карточка) | нет | 523 | |
| reverse-skill | нет | 44 204 | роутер скиллов для авторизованного реверса, пентеста и CTF по разным целям |
| Reverse API Engineer | нет | 2 718 | записывает трафик сайта в HAR и пишет по нему клиент API |
Коротко о README
Описание на китайском начинается с цели: вернуть защищенные веб-клиенты к воспроизводимому протоколу. Затем идут нововведения версий 8.0, 7.0 и 6.0, список возможностей, методология из пяти шагов и дерево каталогов репозитория.
Бейдж для README
Исходный SKILL.md
--- name: spider-king description: "Pure-web protocol reverse skill: turn hostile browser clients into browser-free Python collectors. Auto-judge intake and tool path: artifact-only when samples suffice; fresh web live-target needs sequential fingerprint-baseline then debugger-trace (default chrome-devtools then js-reverse; if DP is already required js-reverse may own both roles on one host and must not launch a second Chrome; replay identity locks to installed curl impersonate; unknown risk-control does not bulk-add unproven extra routes; Camoufox/managed baseline only on fingerprint pressure; silent-value-capture is a first-class debugger-trace means when attach is missing or page-world capture is insufficient/observer-toxic). Continuation reuses the current gate. Route only mounted web MCP families. Out of scope as primary path: APK, native app, mini-program. Use for hostile web sign, token, cookie, WebSocket, GraphQL, protobuf, response-decode, fingerprint, WASM, challenge-bootstrap, dynamic-font, or protocol-collector flows." --- # Spider King ## Mission Turn hostile web clients into stable protocol collectors. This is a pure-web protocol-recovery skill, not a browser-automation skill and not an APK/mini-program reverse skill. Use browser tooling only to gather web evidence. Deliver raw HTTP plus narrow local sign, bootstrap, decode, or transport helpers. If the primary target is APK, native app, or mini-program, state out-of-scope instead of inventing a web dual-browser first-pass. ## Non-Negotiables - Before any tool choice on a fresh task, run the Auto Judge Card in this file and `references/mcp-routing-playbook.md`: decide intake, whether a browser is needed, which baseline host to use, and which debugger-trace means to use (`js-reverse` and/or `silent-value-capture`). Do not open tools first and rationalize later. - Start every fresh web target classified as `live-target` with sequential evidence for both roles before claiming that the page/runtime is understood: `fingerprint-baseline` then `debugger-trace`. The only narrower claim is the `transport-only direct-endpoint exception` in `references/startup-triage-playbook.md`: it may accept a collector for one exact endpoint without claiming page/runtime understanding, and only after its strict negative-control and business-oracle gates pass. - Default means are baseline `chrome-devtools` then debugger-trace `js-reverse`. If DP/initiator work is already required, `js-reverse` may own both roles on one host; do not launch a second Chrome. Record `launch` vs `attach` and never pretend launch is attach. Upgrade the baseline host to Camoufox or another managed profile only on proved fingerprint pressure or clean-baseline failure; never default Camoufox for ordinary low-risk work or because CDP `navigator.webdriver` is true. - Satisfy `debugger-trace` with correlated initiator/mutation proof from `js-reverse`, correlated `silent-value-capture` cards under `references/silent-value-capture-playbook.md`, or both. Prefer `js-reverse` when attach exists. - If attach is missing, record `debugger_attach_gap` and continue debugger-trace via `silent-value-capture` when a backend is available instead of abandoning the role. If a needed silent backend is also missing, record `silent_value_capture_gap` and continue offline or lower the delivery shape. - Silent-value-capture never replaces baseline and never owns `compact-replay` or `collector` delivery. APK, native app, and mini-program primary tasks remain out of scope and must not invent paired-browser proof as ceremony. If a required role cannot be satisfied by any available means, report the blocker before claiming the live target is understood. - Keep browser and engine-capture evidence collection target-serial: at most one browser or engine-capture family may be `TARGET_ACTIVE`, and never place two target owners in the same parallel tool batch. Apply the handoff gate in `references/tool-playbook.md`; park or retain baseline before granting silent-value engine capture; preserve unique unreplayable state with `RETAINED_EXCEPTION` instead of destroying it for cleanup. - For `compact-replay` and `collector`, deliver a browser-free Python run path. Never use browser automation, Playwright, Selenium, CDP page-driving, page-context fetch, browser profiles, manual browser state, silent-value-capture backends, or engine instrumentation as the final replay path or fallback. - Prefer pure Python for HTTP, orchestration, parsing, retries, persistence, and output. Keep JS/WASM only as a tiny local helper when a verified Python port would be riskier; a local bootstrap may emulate host semantics, but Python owns live HTTP and the report states browser-free/runtime-free truth. Replay identity locks to the installed curl impersonate chrome major; do not copy a newer live Chrome major onto a lower impersonate or restart risk-control reverse for that drift. - Recover one stable business request before pagination, concurrency, submission, or runtime shrinking. Unknown risk-control reverses the rejected request first; unproven extra routes are at most one per round and only after omission changes the oracle. - When a local JS/WASM/SDK helper is called repeatedly in one browser-shaped workflow, treat process/VM/context identity and hidden mutable state as moving parts; prove persistent-world versus fresh-world behavior before shrinking or widening the helper, and do not reuse a self-invalidating instance as a pager. - Back every conclusion with the evidence its declared shape requires. Require repeated live replay only when claiming current live acceptance. Keep raw sensitive values local; redact credentials, tokens, personal data, and cookie values from chat, reports, and version control. - Never hardcode rotating state before proving its writer, slot, scope, expiry, and refresh path; preserve one session chain for bootstrap-heavy flows until cross-session reuse is proven. - Stop only when the declared shape passes its capability-specific gate or a real external blocker is proved. Do not label `evidence` or `local-proof` as a collector, and do not disguise incomplete automation as a temporary collector. - `compact-replay` and `collector` delivery include a PyCharm right-click runnable Python entrypoint, normally project-root `main.py` or `collector/main.py`, with no required terminal arguments. `evidence` and `local-proof` do not require an entrypoint unless the requested artifact is executable code. - Route only MCP families confirmed in the current tool registry/schema; disk source trees are not availability. Passive wire stores may coexist with `TARGET_ACTIVE` but do not replace live first-pass evidence, and `compact-replay`/`collector` remain free of browser runtime, page driving, profiles, capture backends, and engine instrumentation. - Before hardening a gate-family label, widening runtime, or handing work to an installed specialist, pass `references/evidence-corroboration-gate.md`. One status code, cookie name, token name, old note, or plausible helper output is only a hypothesis. - When a trusted positive sample passes and the local path fails, use `references/positive-sample-ablation-playbook.md` after sample hygiene. Name unfinished live failures with `references/failure-surface-taxonomy.md` instead of implying collector completion. When stuck, pick one Stuck next action from that file; do not bulk-add unproven extra routes. For failure-shaped counterexamples, read `references/anti-patterns-playbook.md`. Before packaging a result, apply only the matching capability gate from `references/delivery-gate-playbook.md`. Graded degrade: import/`NameError` is our bug (alarm on stderr); external timeout is fallback. Print key responses to stderr; keep stdout machine JSON. ## Lightweight Dispatch Use these labels internally to keep the first move small. Do not force a rigid machine header in normal user replies.