Skip to main content

katana

Katana is a powerful web crawling tool designed for automated security workflows within the Canva platform. Its primary function is to discover endpoint paths and parameters by crawling URLs, effectively enhancing reconnaissance efforts during security assessments.

Ideal Use Cases & Fit

Katana excels in scenarios where detailed enumeration of web application endpoints is necessary. It's particularly effective for:

  • Discovering hidden paths and parameters in web applications.
  • Performing depth-first or breadth-first crawls based on user-defined strategies.
  • Analyzing JavaScript content for additional endpoints and dependencies.

However, it may not be suitable for environments requiring real-time interaction with dynamic content, as this could involve extensive resource usage.

Value in Workflows

Integrating Katana into security workflows enhances the reconnaissance phase by automating the discovery of potential attack surfaces. It is particularly beneficial for early reconnaissance stages, where visibility into web application structures informs subsequent testing phases. Additionally, its output can seamlessly transition into post-processing tools for deeper analysis.

Input Data

  • Type: File
  • Format: Newline-separated input of URLs
  • Function: target
  • Required: Yes

Example:

https://example.com
https://example2.com

Configuration

  • proxy: Specifies the HTTP/SOCKS5 proxy to route requests through. This is critical for anonymity and evading detection.
  • silent: Determines if the tool should operate quietly without verbose output.
  • jsonl: Configures output format to JSON Lines, which is useful for processing large datasets.
  • depth: Sets the maximum crawl depth for discovering parameters and endpoints.
  • crawl-duration: Defines the maximum time allowed for crawling a target.
  • max-response-size: Limits the size of HTTP responses to be analyzed.
  • strategy: Specifies the crawling strategy, such as depth-first or breadth-first.
  • headers: Allows inclusion of custom headers in all HTTP requests for scenarios requiring authentication or specific client behavior.
  • concurrency: Controls the number of concurrent fetchers utilized, optimizing crawl speed.
  • rate-limit: Regulates the maximum requests sent per second to avoid overwhelming the target server. Updated: 2026-02-10