Katana
Purpose
Katana crawls WebApp assets and enriches WebApp metadata with discovered paths and parameters.
Plugin Information
Plugin ID: katana
Category: Web Discovery
Plugin Type: crawler
Execution: active CLI crawler
Default State: enabled
Default Profiles:
deepweb_discovery
Input Scope
Accepted asset types:
webapp
Required metadata:
- None
Produces targets:
- A temporary URL list derived from WebApp values and passed with
-list.
Output
Creates assets:
webapp
Creates vulnerabilities:
- None
May enrich:
- WebApp assets keyed by origin, with parent URL, scheme, host, port, and path/parameter data in
metadata.web.
Metadata:
parent_url: source URL from Katana output.paths: discovered path values stored on the WebApp.parameters: discovered query parameter names stored on the WebApp.scheme: parsed URL scheme.host: parsed hostname.port: parsed or inferred port.source:katana.
Canonical observed state:
- WebApp asset
metadata.asset_info.paths.
Paths are normalized, deduplicated, and capped. Phase 4C keeps path observations merge-only because a crawl can be incomplete due to depth, duration, scope, and filtering settings. Katana does not remove previously observed paths unless a future producer explicitly emits authoritative replacement semantics. Path observations do not require HTTPX output.
Graph Relations
The worker may derive a related_to relationship when parent_url matches an existing WebApp and Katana discovers a distinct WebApp origin:
webapp -> related_to -> webapp
Files / Artifacts
Produces:
- None
Dependencies
Required binary: katana
Required installer entry: tools.katana
Command model:
katana -jsonl -silent -list <target-file>
Example Flow
webapp
-> katana
webapp metadata
Notes
The parser accepts JSONL and plain URL lines. Discovered URLs normalize to WebApp origins; paths and query parameters are deduplicated into metadata.web rather than created as Assets.