Updated Jul 14, 2026

Scanners

Run custom signatures against live web targets

Signature-driven web application scanner.

Agent

overview

What jaeles does

jaeles fires a selected signature set at each target and records matches. Each signature is one request plus one detection condition, so you swap rules per engagement without rewriting the engine.

Reach for it when you have live URLs or a Burp --raw export and a curated --signs selector. Use --exclude and --level to trim the set; --json and --html write structured findings and a report folder.

Trickest provides jaeles as a managed Scanners node. Targets in, findings folder out. Chain after httpx or a crawler. Prefer nuclei when you want a large community template library instead of your own signatures.

source github.com/jaeles-project/jaeles

use cases

Where jaeles fits

Run custom signatures against a target

Select a signature set with the --signs selector and scan a URL or URL file so each rule sends its request and reports the matches as findings.

Replay authenticated Burp requests

Feed a raw request exported from Burp with --raw so jaeles tests real, authenticated traffic against your signatures instead of an unauthenticated guess.

Scan a large surface in chunks

Enable chunk mode on a big URL list so jaeles splits the input with --chunk and runs signatures in batches without overloading one pass.

Produce a report for the writeup

Store output as JSON and generate an HTML report so findings land in a shareable artifact alongside the rest of the workflow results.

reference

jaeles inputs and flags

50 inputs
NameTypeFlagDescription
urlSTRING--urlURL of the target to scan.
urlsFILE--urlsFile of target URLs for bulk scanning.
rawFILE--rawRaw request exported from Burp, used as the origin request.
signaturesSTRING--signsSignature selector for the rules to run. Multiple selectors are accepted.
excludeSTRING--excludeExclude a signature selector. Multiple flags are accepted.
levelSTRING--levelFilter signatures by level so only rules at or above the threshold run (default 1).
jsonBOOLEAN--jsonStore output as JSON.
htmlBOOLEAN--htmlGenerate an HTML report after the scan finishes.

Showing key inputs. jaeles exposes 50 inputs in total.

Full flag reference (50 inputs)
NameTypeFlagDescription
rawFILE--rawRaw request from Burp for origin
urlSTRING--urlURL of target
htmlBOOLEAN--htmlGenerate an HTML report after the scan finishes
jsonBOOLEAN--jsonStore output as JSON
urlsFILE--urlsURLs file of target
chunkBOOLEAN--chunkEnable chunk running against big input
debugBOOLEAN--debugEnable debug output
delaySTRING--delayDelay time between requests
foundSTRING--foundRun a host OS command when a vulnerability is found
levelSTRING--levelFilter signature by level (default 1)
localBOOLEAN--localEnable local analyze (accept input as a local path)
no-dbBOOLEAN--no-dbDisable the database
proxySTRING--proxyHTTP proxy to route requests through
quietBOOLEAN--quietQuiet output
retrySTRING--retryHTTP retry count
titleSTRING--titleReport title name
configFILE--configConfig file (default is $HOME/.jaeles/config.yaml)
inlineSTRING--inlineInline detections
paramsSTRING--paramsCustom params -p='foo=bar' (multiple -p flags are accepted)
reportSTRING--reportReport name
scanIDSTRING--scanIDScan ID
singleBOOLEAN--singleDisable parallel mode (use this when a signature needs single-threaded logic)
excludeSTRING--excludeExclude signature selector (multiple flags are accepted)
headersSTRING--headersCustom headers (e.g: -H 'Referer: {{.BaseURL}}') (multiple flags are accepted)
passiveBOOLEAN--passiveTurn on passive detections
refreshSTRING--refreshRefresh time for background task (default 10)
rootDirFOLDER--rootDirRoot project (default "~/.jaeles/")
signDirFOLDER--signDirFolder containing default signatures (default "~/.jaeles/base-signatures/")
threadsSTRING--threadsSet the concurrency level inside a single signature (default 10)
timeoutSTRING--timeoutHTTP timeout (default 20)
verboseBOOLEAN--verboseVerbose output
base-urlBOOLEAN--baShortcut to take raw input as {{.BaseURL}}
save-rawBOOLEAN--save-rawSave the raw request
chunk-dirSTRING--chunk-dirTemp directory to store the chunk directory
no-outputBOOLEAN--no-outputDo not store output
chunk-sizeSTRING--chunk-sizeChunk size (default 20000)
signaturesSTRING--signsSignature selector (multiple -s flags are accepted)
always-trueBOOLEAN--atEnable Always True detection to observe the response
chunk-limitSTRING--chunk-limitLimit size to trigger a chunk run (default 200000)
concurrencySTRING--concurrencySet the concurrency level (default 20)
local-proxyBOOLEAN--lcShortcut for '--proxy http://127.0.0.1:8080'
quietFormatSTRING--quietFormatFormat for quiet output (default "{{.VulnURL}}")
format-inputBOOLEAN--format-inputEnable special input format
selectorFileFILE--selectorFileSignature selector from a file
chunk-threadsSTRING--chunk-threadsNumber of chunk threads (default 2)
no-backgroundBOOLEAN--no-backgroundDo not run background task (default true)
store-verboseBOOLEAN--sverboseStore verbose info in the summary file
filtering-modeBOOLEAN--fiEnable filtering mode (to use Diff() detection)
passive-selectorSTRING--spSelector for passive detections (default "*")
disable-replicate-requestBOOLEAN--drShortcut to disable replicate request (avoid sending many requests to timeout)

example

Run jaeles

jaeles · command
# run custom signatures against live URLs, store JSON and an HTML reportjaeles scan --urls live-urls.txt --signs 'common/.*' --level 2 --json --html
sample output
[*] Loaded 1042 signatures[*] Start scanning 37 URLs from live-urls.txt[High][GET] Spring Boot Actuator env exposure - https://api.example.com/actuator/env[Medium][GET] Open Redirect - https://app.example.com/out?url=//198.51.100.24[Low][GET] Exposed .git directory - https://staging.example.com/.git/config[*] Done. 3 findings written to jaeles-report/[*] HTML report: jaeles-report/index.html

guidance

Choosing jaeles

Use jaeles when live hosts need a curated custom-signature pass, especially with --raw Burp replay for authenticated flows. It tests; it does not discover. Feed httpx or crawler output first. For broader community templates, nuclei is the usual peer.

nuclei

Template-driven scanner with a large community library. jaeles centers on custom signatures and Burp --raw replay.

nikto

Classic web server scanner with fixed checks. jaeles is signature-driven and easier to extend per engagement.

wapiti

Black-box crawler that injects as it walks. jaeles runs your chosen detection rules against known targets.

faq

jaeles questions

Point --url at the target and --signs at a selector (for example common/.*). On Trickest, set the url and signatures inputs on the node instead of typing the CLI flags.

Run jaeles yourself

A URL list is probed by httpx, then jaeles runs its signatures against the live hosts and writes the findings folder for triage.

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