sif(1)
β¨ sif(1) β the manual, but make it cute β¨
okay so bestie, listen π this is sif β the blazing-fast pentesting suite β and this page is literally everything you need to know about it. it's sif(1) in the manual, and yes it slays.
π SYNOPSIS π
sif -u url [scans] [options]
sif -f file [scans] [options]
targets | sif [scans] [options]
sif {patchnote|version}
π¦ DESCRIPTION π¦
sif is a modular recon and exploitation suite. it runs multiple scan types concurrently against one or more targets, and β the fun part β you can extend it with yaml modules π§
about urls, here's the vibe check:
- a scheme-less target defaults to
https://(she just assumes, respectfully) - an explicit
http://orhttps://is kept exactly as you wrote it - any other scheme is rejected π no cap
πΈ TARGETS πΈ
-u,--urlslist β comma-separated list of urls to scan.-f,--filepath β file with one url per line.- stdin β when stdin is a pipe, one target per line is read from it, alongside any
-u/-ftargets. this is the whole point: it letssifslot into a unix pipeline (e.g.subfinder | sif -silent | notify). pipeline girlies rise up π«Ά
π SCANS π
so many scans. an icon. a legend. here we go:
-dirlistsize β directory and file fuzzing (small/medium/large).-mccodes β dirlist: match only these status codes (comma list, e.g.200,301).-fccodes β dirlist: filter out these status codes (comma list).-fssizes β dirlist: filter out responses of these body sizes (comma list).-fwcounts β dirlist: filter out responses with these word counts (comma list).-frregex β dirlist: filter out responses whose body matches this regex.-acβ dirlist: auto-calibrate the soft-404 wildcard baseline so catch-all200s are dropped. genuinely so satisfying β¨-wpath|url β dirlist: custom wordlist (local file or url); overrides the-dirlistsize.-eexts β dirlist: extensions appended to each word (comma list, e.g.php,bak,env).-dnslistsize β subdomain enumeration (small/medium/large).-portsscope β port scanning (common/full).-nucleiβ vulnerability scanning with nuclei templates.-dorkβ automated google dorking.-jsβ javascript analysis + secret and endpoint extraction.-c3β cloud storage misconfiguration scan.-headersβ dump the target's response headers.-sh,--security-headersβ flag missing or weak security headers and headers that leak server internals.-stβ subdomain takeover detection (requires-dnslist).-cmsβ cms detection.-whoisβ whois lookup.-gitβ exposed git repository detection.-shodanβ shodan host lookup (requiresSHODAN_API_KEY).-securitytrailsβ domain discovery and target expansion (requiresSECURITYTRAILS_API_KEY).-sqlβ sql reconnaissance (admin panels, error disclosure).-lfiβ local file inclusion reconnaissance.-jwtβ jwt discovery plus offline weakness analysis (alg:none, weak hmac secret, missing/expiredexp, sensitive plaintext claims).-openapiβ openapi/swagger spec exposure probe; enumerates paths, methods and unauthenticated operations.-faviconβ favicon hash fingerprinting (shodan-style mmh3); matches bundled tech and prints thehttp.favicon.hashpivot query. iykyk π-corsβ cors misconfiguration probe (reflected/permissive origins).-redirectβ open redirect probe.-xssβ reflected xss probe.-frameworkβ framework detection with cve lookup.-crawlβ web crawler; spiders same-host links, scripts and forms, respectingrobots.txt.-crawl-depthn β max crawl recursion depth (default2).-passiveβ passive subdomain and historical url discovery from third-party feeds (zero traffic to the target π΅οΈ).-probeβ live-host probe; reports liveness, final status, page title, server header and the redirect chain.-noscanβ skip the base url scan (robots.txt, etc).
π₯ OPTIONS π₯
-d,--debugβ enable debug logging.-t,--timeoutduration β per-request timeout (default10s).-l,--logdir β directory to write logs to.--threadsn β number of concurrent workers (default10). values below1are clamped to1(she's not letting you go to zero, bestie π).--templatename βsifruntime template to use.-configpath β load flags from a yaml config file (default~/.config/sif/config.yaml). mutually exclusive with--template.-profilename β select a named profile block from the config file.-proxyurl β route every request through a proxy. acceptshttp,httpsorsocks5urls.-H,--headerstring β custom header to send with every request, asKey: Value. repeatable or comma-separated.-cookiestring β cookie header to send with every request.-rate-limitn β cap outbound requests per second (0= unlimited, default0).-sariffile β write asarif 2.1.0report of the run to file.-md,--markdownfile β write a markdown report of the run to file.-silentβ plain output for pipelines: route all chrome to stderr and print one normalized finding per line to stdout as[severity] target module title. implies non-interactive (no spinners).-diffβ diff mode: snapshot each target's findings to a json file and, on a re-scan, print only the delta against the last snapshot (+new for findings that appeared,-gone for ones that vanished), then overwrite the snapshot. the first run for a target reports everything as new.-storedir β snapshot directory for-diff. defaults to the-logdir if set, otherwise<user-config>/sif/state. one sanitized file per target.-notifyβ ship findings to every configured provider (slack, discord, telegram, generic webhook) after the scan. providers are configured env-first and overridable by a yaml file; with nothing configured this is a silent no-op π€«-notify-severitylevel β minimum severity to send:info,low,medium,highorcritical(defaultmedium). findings below the floor are dropped.-notify-configfile β path to a notify-compatible yaml config whose values override the env vars.-apiβ emit json results and suppress the interactive output.
π§ MODULES π§
-m,--modulesids β comma-separated module ids to run.-mt,--module-tagstags β run modules matching these tags.-am,--all-modulesβ run all loaded modules.-lm,--list-modulesβ list available modules and exit.
β COMMANDS β
sif patchnoteβ fetch the latest github release and print its notes. also available as-pn.sif versionβ print thesifversion and exit.
π ENVIRONMENT π
SHODAN_API_KEYβ api key used by-shodan.SECURITYTRAILS_API_KEYβ api key used by-securitytrails.SLACK_WEBHOOK_URLβ slack incoming webhook used by-notify(yaml keyslack_webhook_url).DISCORD_WEBHOOK_URLβ discord webhook used by-notify(yaml keydiscord_webhook_url).TELEGRAM_BOT_TOKENβ telegram bot token used by-notify(yaml keytelegram_api_key); requiresTELEGRAM_CHAT_IDtoo.TELEGRAM_CHAT_IDβ telegram destination chat used by-notify(yaml keytelegram_chat_id).NOTIFY_WEBHOOK_URLβ generic json webhook used by-notify(yaml keywebhook_url).SIF_NO_PATCHNOTESβ set to any value to suppress the once-per-version patch note shown at startup.
π FILES π
~/.config/sif/modules/β user-defined yaml modules.~/.config/sif/seen_versionβ records the last release whose notes were shown at startup.
π EXAMPLES π
run a few scans against a host:
sif -u https://example.com -headers -sh -cms -framework
fuzz directories and enumerate subdomains:
sif -u https://example.com -dirlist medium -dnslist medium
scan a list of targets and write logs:
sif -f targets.txt -headers -l ./logs
π SEE ALSO π
project page: https://github.com/vmfunc/sif β go follow, it's giving main character energy π¦
π«Ά AUTHORS π«Ά
vmfunc, xyzeva, and the lunchcat contributors. absolute icons, all of them π
ngl, if you only remember one thing: -silent + a pipe = the pipeline of your dreams. periodt.
xoxo, that's the whole page π
β source sif, dated 2026-06-10, filed under manual section sif(1). now go break (responsibly) and slay β¨π
π¦ where this page comes from
- nixpkgs unstable: sif 0-unstable-2026-10-09
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms