yakit-data-extract-plugin

Extract unique URLs and login cookies from Yakit History to drive payload-based scanning.

10|1|Updated Jun 16, 2026
One-click install
npx skills add https://github.com/yaklang/yak-skills --skill yakit-data-extract-plugin-yaklang
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: yakit-data-extract-plugin
Source: https://github.com/yaklang/yak-skills/tree/main/skills/yakit-data-extract-plugin
Command: npx skills add https://github.com/yaklang/yak-skills --skill yakit-data-extract-plugin-yaklang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After accumulating large volumes of traffic for a target site in Yakit History, manually collecting unique paths, recovering login cookies, and reusing that data for follow-up scanning is tedious and error-prone. This Skill scripts the entire data-extraction workflow with Yaklang's db and poc libraries. ## Core Features & Use Cases - History Query & Deduplication: Query HTTP flows by domain with db.QueryHTTPFlowsByKeyword, unquote stored requests with codec.StrconvUnquote, and deduplicate URIs by stripping scheme and query strings. - Cookie Extraction & Payload Dictionaries: Pull login cookies via poc.GetHTTPPacketHeader and persist deduplicated paths into reusable Yakit Payload dictionaries with db.SavePayload and db.YieldPayload. - Authenticated Scanning: Iterate the dictionary and send requests with poc.HTTP carrying the login cookie, using status codes to distinguish live paths from missing ones. - Use Case: After browsing a target through Yakit MITM, extract every unique path for the domain, save them as a Payload group, then fuzz each path with the captured session cookie to map the site's attack surface. ## Quick Start Ask the AI to extract all unique URLs and the login cookie for a given domain from Yakit History, save the paths as a Payload dictionary, and scan each path with the cookie attached.

Frequently Asked Questions about yakit-data-extract-plugin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract URLs from Yakit History by domain?▼

Use db.QueryHTTPFlowsByKeyword(domain) to get an iterator of HTTPFlow records, then read flow.Url for each entry. Deduplicate by stripping the scheme and query string so paginated URLs like ?page=1 and ?page=2 collapse into one path.

How to save extracted paths as a Yakit Payload dictionary?▼

Call db.SavePayload(group, paths) to persist deduplicated paths into the profile database, then iterate them with db.YieldPayload(group). Use a unique group prefix and clean up with db.DeletePayloadByGroup to avoid polluting the dictionary store.

Why does the request data from Yakit History contain escape characters?▼

The flow.Request and flow.Response fields are stored as strconv-quoted strings, so raw bytes appear escaped. Always run codec.StrconvUnquote on them before parsing headers or replaying the request.

How do I send authenticated requests with a captured cookie in Yaklang?▼

Extract the cookie with poc.GetHTTPPacketHeader(req, "Cookie"), then build a raw request including the Cookie header and send it with poc.HTTP. Add poc.timeout and poc.save(false) to prevent hangs and avoid writing test traffic back into History.

When should I use MITM hot patching instead of querying History?▼

Use MITM hot patching when you want to collect or modify traffic in real time as it passes through the proxy. Querying History with db.QueryHTTPFlowsByKeyword is better for post-hoc analysis of traffic already captured.