Updated Jul 15, 2026

Discovery

Crawl domains and extract secrets, endpoints, and files

Crawl a domain list and scan responses for endpoints, secrets, tokens, and juicy files.

Agent

overview

What cariddi does

cariddi sits after live-host probing: feed it domains, crawl each site, and leave with triaged leads instead of a raw URL dump. One pass can surface juicy endpoints, leaked secrets, interesting extensions, errors, and exposed info.

Hunting modes are separate flags. Use -s for secrets, -e for juicy endpoints, -ext for file extensions, -err for errors, and -info for exposed info. Add custom secret regexes with -sf, shape requests with headers or -ua/-rua, and keep large crawls polite with -c and -d.

katana goes deeper on JavaScript parsing; trufflehog owns repo history. cariddi is the crawl-plus-hunt middle ground. Trickest runs it as a managed Discovery node that reads a domains file and writes a results folder; prefer -json for structured downstream use.

source github.com/edoardottt/cariddi

use cases

Where cariddi fits

Crawl and triage a whole scope at once

Hand cariddi a list of live domains and let it crawl every one, collecting endpoints, secrets, and tokens into a single structured set of leads.

Hunt leaked secrets and API keys

Run the secrets mode with -s, optionally with custom regexes via -sf, to flag exposed keys and tokens in page bodies and served scripts across the crawled surface.

Find juicy endpoints and exposed files

Enable -e and -ext to surface interesting paths and files like backups, database dumps, and configs that deserve manual review.

Tune a polite large-scale crawl

Set concurrency with -c, a per-page delay with -d, and a custom or random user agent so a wide crawl moves quickly without tripping rate limits or looking obviously automated.

reference

cariddi inputs and flags

22 inputs
NameTypeFlagDescription
domainsFILE·List of domains to crawl, the usual pipeline input.
hunt-secretsBOOLEAN-sHunt for secrets and API keys in crawled content.
juicy-endpointBOOLEAN-eHunt for juicy endpoints worth manual review.
juicy-extensionsSTRING-extHunt for juicy file extensions, 1 (juicy) to 7 (not juicy).
hunt-infoBOOLEAN-infoHunt for useful information exposed in crawled sites.
jsonBOOLEAN-jsonPrint the output as JSON for structured downstream use.
concurrency-levelSTRING-cConcurrency level (default 20).
custom-regex-secretsFILE-sfExternal file of custom regexes for secret hunting.

Showing key inputs. cariddi exposes 22 inputs in total.

Full flag reference (22 inputs)
NameTypeFlagDescription
domainsFILE·List of domains to crawl, the primary pipeline input.
hunt-secretsBOOLEAN-sHunt for secrets and API keys in crawled content.
juicy-endpointBOOLEAN-eHunt for juicy endpoints worth manual review.
juicy-extensionsSTRING-extHunt for juicy file extensions, an integer from 1 (juicy) to 7 (not juicy).
hunt-infoBOOLEAN-infoHunt for useful information exposed in crawled sites.
errBOOLEAN-errHunt for errors surfaced in crawled sites.
jsonBOOLEAN-jsonPrint the output as JSON to stdout.
plainBOOLEAN-plainPrint only the results, without the banner or extras.
debugBOOLEAN-debugPrint debug information while crawling.
intensiveBOOLEAN-intensiveCrawl searching for resources matching the second-level domain.
concurrency-levelSTRING-cConcurrency level (default 20).
delay-between-crawlSTRING-dDelay between one crawled page and the next.
timeoutSTRING-tTimeout in seconds for each request (default 10).
proxySTRING-proxyRoute requests through a proxy (http and socks5 supported).
headersSTRING-headersCustom headers for each request, e.g. "Cookie: auth=yes;;Client: type=2".
headersfileFILE-headersfileRead custom headers from an external file (same format as -headers).
user-agentSTRING-uaUse a custom User-Agent string.
random-agentBOOLEAN-ruaUse a random browser User-Agent on every request.
custom-regex-secretsFILE-sfExternal file of custom regexes for secret hunting (one per line).
external-fileFILE-efExternal file of custom parameters for endpoint hunting (one per line).
ignore-url-elementSTRING-iIgnore URLs containing any element in this list.
ignore-url-element-fileFILE-itIgnore URLs containing any line from this file.

example

Run cariddi

cariddi · command
# crawl live hosts and hunt secrets, endpoints, and juicy filescat live-hosts.txt | cariddi -s -e -ext 2 -info -json -c 40
sample output
{"url":"https://example.com/","method":"GET","status_code":200,"words":842,"lines":63,"content_type":"text/html"}{"url":"https://example.com/assets/app.min.js","method":"GET","status_code":200,"words":5120,"lines":18,"content_type":"application/javascript","matches":{"secrets":[{"name":"Stripe API Key","match":"sk_live_EXAMPLEonlyNotReal00"}]}}{"url":"https://example.com/api/v1/orders?id=42","method":"GET","status_code":200,"words":210,"lines":12,"content_type":"application/json","matches":{"parameters":[{"name":"id","attacks":["sqli","idor"]}]}}{"url":"https://example.com/static/backup.sql","method":"GET","status_code":200,"content_type":"application/sql","matches":{"filetype":{"extension":"sql","severity":1}}}{"url":"https://example.com/.env","method":"GET","status_code":200,"words":22,"lines":6,"content_type":"text/plain","matches":{"secrets":[{"name":"Generic API Key","match":"api_key=EXAMPLE000placeholder"}]}}{"url":"https://dev.example.com/legacy/","method":"GET","status_code":500,"words":95,"lines":9,"content_type":"text/html","matches":{"errors":[{"name":"Go Stack Trace","match":"runtime error:"}]}}{"url":"https://example.com/.git/config","method":"GET","status_code":200,"words":30,"lines":5,"content_type":"text/plain","matches":{"infos":[{"name":"Git config","match":"[core]"}]}}

guidance

Choosing cariddi

Reach for cariddi when you want one crawl to pull secrets, endpoints, and tokens from live domains. Run it after subfinder and httpx. Prefer katana for deep JavaScript parsing; prefer trufflehog for repository secret history.

katana

Deeper crawler with JavaScript parsing. cariddi adds built-in secret, token, and extension hunting on the crawl.

gospider

Fast crawler for link discovery. cariddi layers secret and juicy-endpoint detection over the crawl.

secretfinder

Pulls secrets from JavaScript files. cariddi hunts secrets across a full multi-domain crawl.

faq

cariddi questions

Juicy endpoints, secrets and API keys, interesting file extensions, error messages, and exposed info. Each category is its own flag (-e, -s, -ext, -err, -info), so you can run the full sweep or scope to one.

Run cariddi yourself

A domains list is probed by httpx, then cariddi crawls the live hosts and writes the secrets, endpoints, and tokens it finds as a queryable output.

Facts on this page come from the live Trickest tool library.