Web Reverse Intel
Purpose
Use this skill to gather public reverse-engineering intelligence before hands-on analysis. Treat search as an intelligence loop: classify the target, search broadly, extract new nodes, expand queries, score evidence, identify stale material, and produce an actionable brief.
Work only with public materials and user-authorized targets. Do not present third-party code as guaranteed working without validation, and do not help with credential theft, account abuse, payment bypass, or privacy-invasive collection.
Preflight Rule
Run this skill as a first pass when the user provides a target website, app, API, parameter, protection marker, or JS bundle and has not explicitly asked to skip public research. Spend a bounded search pass before deep technical reconstruction such as AST analysis, runtime observation, browser environment analysis, JavaScript runtime emulation, or protocol validation.
If another reverse-engineering skill is relevant, use this skill first to collect vocabulary, aliases, stale implementations, and vendor clues; then hand off live technical work to the narrower reverse skill.
Intake
Extract the smallest useful target profile. If the user only gives a website, first derive public aliases and likely search features instead of asking for all missing details.
- Target domain, app name, product name, organization, platform alias, or package identifier.
- API path, JS bundle URL, WASM filename, mobile package name, GraphQL path, or protobuf clue.
- Suspicious parameters, headers, cookies, and globals such as
sign, signature, token, x-s, a_bogus, h5st, m_sign, anti-content, captcha, sensor, or challenge cookies.
- Error strings, response codes, bundle names, function names, SDK names, vendor clues, or algorithm names.
- Static fingerprints such as JS framework, bundler, npm dependency, obfuscator marker, unique string, source map clue, WASM module, or runtime API read.
- Time scope: latest-only, historical lineage, or broad background.
Workflow
- Classify the target type using
references/target-classification.md; let classification drive source priority, keywords, and ignored rabbit holes.
- Set a search budget with
references/search-budget.md before expanding queries.
- Build aliases from domain, brand names, app names, endpoints, parameters, SDKs, vendors, bundles, fingerprints, and Chinese/English reverse terms.
- Generate round-one queries with
scripts/build_queries.py; include the target type when it is known.
- Search broad sources first, then exact
site:/quoted/code/package/archive queries using references/search-sources.md and references/query-playbook.md.
- Extract intelligence nodes from useful findings: function names, parameters, files, packages, classes, vendors, algorithms, fingerprints, error strings, and unique constants. Use
scripts/extract_entities.py when working from pasted text or saved snippets.
- Run a budgeted query expansion loop using
references/query-expansion.md and scripts/expand_queries.py. Repeat only while new high-value nodes appear and budget allows.
- Score findings with
references/scoring-model.md and scripts/score_evidence.py: evidence grade, source weight, technical similarity, freshness risk, direct reuse risk, and calibrated confidence.
- Resolve disagreements with
references/conflict-resolution.md; distinguish true conflict from version migration.
- Mark stale, deprecated, and negative intelligence using
references/stale-analysis.md before borrowing old code, salts, constants, or environment assumptions.
- Build an intelligence graph with
scripts/build_graph.py when nodes are numerous; use references/entity-memory.md for optional long-term memory schema.
- Produce a final brief using
templates/intelligence-report.md, templates/evidence-card.md, or templates/graph.md.
Source References
Read references/search-sources.md when choosing source classes and assigning source priority. It lists domestic and international search surfaces, code sources, archives, forums, blogs, package registries, and coverage notes.
Read references/query-playbook.md when constructing first-round queries. Read references/query-expansion.md for second-round and later expansion queries. Read references/search-budget.md before deciding how far to expand.
Read references/target-classification.md when selecting target type, search vocabulary, and likely handoff workflow. Read references/fingerprint-library.md when static files, JS snippets, or package names are available.
Read references/scoring-model.md, references/conflict-resolution.md, and references/stale-analysis.md before final ranking. Read references/entity-memory.md when the user wants persistent knowledge-base style accumulation.
Evidence Handling
Do not rank results by source alone. Combine:
- Directness: exact target, exact endpoint, exact parameter, exact bundle, or same app family.
- Source quality: source code and commit history usually outrank reposted summaries, but packet traces and technical forum posts can outrank stale repos.
- Technical similarity: same algorithm, obfuscator, vendor, runtime, parameter design, or fingerprint surface.
- Freshness: visible date, commit activity, bundle hash/version match, endpoint continuity, and comments reporting breakage.
- Reproducibility: runnable code, trace evidence, issue discussion, test vectors, or step-by-step derivation.
- Conflict state: whether newer evidence supersedes old code, or whether findings cover different endpoints, versions, or app variants.
- Confidence calibration: numeric confidence plus reasons for and against the conclusion.
Use public findings as leads. Validate against the current target before treating implementation details as current.
Output Format
Present results as an intelligence brief, not a link dump:
- Target classification and confidence.
- Target aliases, seed features, and query expansion rounds.
- Coverage matrix showing source class, searched status, useful hits, and blind spots.
- Negative intelligence: searched terms/sources that produced no direct hits and the alternatives expanded from them.
- Best evidence cards with grade, source weight, technical similarity, freshness risk, and reuse risk.
- Stale intelligence list explaining why old material may no longer work.
- Intelligence graph as a compact text tree or Mermaid graph connecting target, APIs, parameters, bundles, functions, vendors, algorithms, and prior cases.
- Decision layer: ranked investigation priorities with reasons and live validation probes.
Never claim the search is exhaustive. Say which surfaces were covered and which blind spots remain, such as login-only forums, paid content, deleted repositories, private chats, or region-restricted search results.
1---2name: web-reverse-intel3description: Pre-reverse OSINT and query-expansion workflow for finding public prior cases, code, writeups, forum threads, package clues, archives, static fingerprints, and entity graph leads before hands-on website/app reverse engineering. Use before deep technical reconstruction such as AST analysis, runtime observation, browser environment analysis, JavaScript runtime emulation, or protocol validation when the target may involve request signing, encrypted parameters, anti-bot challenges, JS/WASM bundles, headers, cookies, tokens, crawler reverse engineering, device fingerprinting, captcha, GraphQL, protobuf, or mobile protocol analysis.4---56# Web Reverse Intel78## Purpose910Use this skill to gather public reverse-engineering intelligence before hands-on analysis. Treat search as an intelligence loop: classify the target, search broadly, extract new nodes, expand queries, score evidence, identify stale material, and produce an actionable brief.1112Work only with public materials and user-authorized targets. Do not present third-party code as guaranteed working without validation, and do not help with credential theft, account abuse, payment bypass, or privacy-invasive collection.1314## Preflight Rule1516Run this skill as a first pass when the user provides a target website, app, API, parameter, protection marker, or JS bundle and has not explicitly asked to skip public research. Spend a bounded search pass before deep technical reconstruction such as AST analysis, runtime observation, browser environment analysis, JavaScript runtime emulation, or protocol validation.1718If another reverse-engineering skill is relevant, use this skill first to collect vocabulary, aliases, stale implementations, and vendor clues; then hand off live technical work to the narrower reverse skill.1920## Intake2122Extract the smallest useful target profile. If the user only gives a website, first derive public aliases and likely search features instead of asking for all missing details.2324- Target domain, app name, product name, organization, platform alias, or package identifier.25- API path, JS bundle URL, WASM filename, mobile package name, GraphQL path, or protobuf clue.26- Suspicious parameters, headers, cookies, and globals such as `sign`, `signature`, `token`, `x-s`, `a_bogus`, `h5st`, `m_sign`, `anti-content`, `captcha`, `sensor`, or challenge cookies.27- Error strings, response codes, bundle names, function names, SDK names, vendor clues, or algorithm names.28- Static fingerprints such as JS framework, bundler, npm dependency, obfuscator marker, unique string, source map clue, WASM module, or runtime API read.29- Time scope: latest-only, historical lineage, or broad background.3031## Workflow32331. Classify the target type using `references/target-classification.md`; let classification drive source priority, keywords, and ignored rabbit holes.342. Set a search budget with `references/search-budget.md` before expanding queries.353. Build aliases from domain, brand names, app names, endpoints, parameters, SDKs, vendors, bundles, fingerprints, and Chinese/English reverse terms.364. Generate round-one queries with `scripts/build_queries.py`; include the target type when it is known.375. Search broad sources first, then exact `site:`/quoted/code/package/archive queries using `references/search-sources.md` and `references/query-playbook.md`.386. Extract intelligence nodes from useful findings: function names, parameters, files, packages, classes, vendors, algorithms, fingerprints, error strings, and unique constants. Use `scripts/extract_entities.py` when working from pasted text or saved snippets.397. Run a budgeted query expansion loop using `references/query-expansion.md` and `scripts/expand_queries.py`. Repeat only while new high-value nodes appear and budget allows.408. Score findings with `references/scoring-model.md` and `scripts/score_evidence.py`: evidence grade, source weight, technical similarity, freshness risk, direct reuse risk, and calibrated confidence.419. Resolve disagreements with `references/conflict-resolution.md`; distinguish true conflict from version migration.4210. Mark stale, deprecated, and negative intelligence using `references/stale-analysis.md` before borrowing old code, salts, constants, or environment assumptions.4311. Build an intelligence graph with `scripts/build_graph.py` when nodes are numerous; use `references/entity-memory.md` for optional long-term memory schema.4412. Produce a final brief using `templates/intelligence-report.md`, `templates/evidence-card.md`, or `templates/graph.md`.4546## Source References4748Read `references/search-sources.md` when choosing source classes and assigning source priority. It lists domestic and international search surfaces, code sources, archives, forums, blogs, package registries, and coverage notes.4950Read `references/query-playbook.md` when constructing first-round queries. Read `references/query-expansion.md` for second-round and later expansion queries. Read `references/search-budget.md` before deciding how far to expand.5152Read `references/target-classification.md` when selecting target type, search vocabulary, and likely handoff workflow. Read `references/fingerprint-library.md` when static files, JS snippets, or package names are available.5354Read `references/scoring-model.md`, `references/conflict-resolution.md`, and `references/stale-analysis.md` before final ranking. Read `references/entity-memory.md` when the user wants persistent knowledge-base style accumulation.5556## Evidence Handling5758Do not rank results by source alone. Combine:5960- **Directness**: exact target, exact endpoint, exact parameter, exact bundle, or same app family.61- **Source quality**: source code and commit history usually outrank reposted summaries, but packet traces and technical forum posts can outrank stale repos.62- **Technical similarity**: same algorithm, obfuscator, vendor, runtime, parameter design, or fingerprint surface.63- **Freshness**: visible date, commit activity, bundle hash/version match, endpoint continuity, and comments reporting breakage.64- **Reproducibility**: runnable code, trace evidence, issue discussion, test vectors, or step-by-step derivation.65- **Conflict state**: whether newer evidence supersedes old code, or whether findings cover different endpoints, versions, or app variants.66- **Confidence calibration**: numeric confidence plus reasons for and against the conclusion.6768Use public findings as leads. Validate against the current target before treating implementation details as current.6970## Output Format7172Present results as an intelligence brief, not a link dump:7374- Target classification and confidence.75- Target aliases, seed features, and query expansion rounds.76- Coverage matrix showing source class, searched status, useful hits, and blind spots.77- Negative intelligence: searched terms/sources that produced no direct hits and the alternatives expanded from them.78- Best evidence cards with grade, source weight, technical similarity, freshness risk, and reuse risk.79- Stale intelligence list explaining why old material may no longer work.80- Intelligence graph as a compact text tree or Mermaid graph connecting target, APIs, parameters, bundles, functions, vendors, algorithms, and prior cases.81- Decision layer: ranked investigation priorities with reasons and live validation probes.8283Never claim the search is exhaustive. Say which surfaces were covered and which blind spots remain, such as login-only forums, paid content, deleted repositories, private chats, or region-restricted search results.