Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sif — 极速渗透测试套件。 | Kitploit
工具/GitHubGitHub/vmfunc/sif
侦察漏洞扫描器端口扫描漏洞利用信息收集Web安全渗透测试子域名枚举网络爬虫DNS 分析
GitHubvmfunc/sif

sif

极速渗透测试套件。

6142729天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
sif



go version build license aur nixpkgs homebrew apt discord

安装 · 用法 · 模块 · 文档 · 贡献

快速、并发的侦察到利用,全在一个二进制文件中。每个扫描器共享一个连接池化的 HTTP 客户端。


sif 是什么?

sif 是一个侦察与利用扫描器,在一个二进制文件中完成整个链路:子域名枚举、端口扫描、爬虫、nuclei、框架/CVE 检测、JS 密钥提取、Web 漏洞探测(CORS/XSS/重定向)、云与接管检查。25 种以上扫描类型,一条命令完成。

root@kitploit:~
sif -u https://example.com -dnslist -ports -crawl -js -framework -nuclei

nuclei 和 colly 作为库编译进程序,而不是通过子进程调用(代码树中没有 exec.Command),因此是一个静态链接的二进制文件,无运行时依赖,也无需配置连接。

每个扫描器都通过一个共享的 HTTP 客户端和一个工作窃取线程池运行。-proxy、-H、-cookie 和 -rate-limit 一次性应用于整个扫描过程,连接被池化并在扫描中复用(单主机扫描由一次性建立约 50 次连接减少到只需一次连接),而且慢速主机不会拖慢其余部分。这个共享客户端是使用本工具而非将一堆独立工具管道连接起来的实际原因。端口扫描基于 connect(),因此 rustscan 和 nmap 在原始端口扫描方面仍然更快。

它从标准输入读取目标,并在 -silent 模式下每行输出一条发现,因此可以使用管道组合:

root@kitploit:~
subfinder -d example.com | sif -silent -crawl -js -nuclei | notify

-diff 将重新扫描变为监控器,只报告变化的内容;-notify 将结果发送到 Slack/Discord/Telegram/Webhook;运行结果可以导出为 SARIF 和 Markdown。

安装

Homebrew (macOS)

root@kitploit:~
brew tap vmfunc/sif
brew install sif

Arch Linux (AUR)

使用你偏好的 AUR 助手安装:

root@kitploit:~
yay -S sif
# 或
paru -S sif

Nix

root@kitploit:~
# nixpkgs(声明式:添加到 configuration.nix 或 home-manager)
environment.systemPackages = [ pkgs.sif ];

# 或命令式
nix profile install nixpkgs#sif

# 或直接运行而不安装
nix run nixpkgs#sif -- -u https://example.com -headers -sh -framework

仓库中也提供了一个 flake,如果你想从源码构建:

root@kitploit:~
nix run github:vmfunc/sif

Debian/Ubuntu (apt)

root@kitploit:~
curl -1sLf 'https://dl.cloudsmith.io/public/sif/deb/setup.deb.sh' | sudo -E bash
sudo apt-get install sif

从发布版本安装

从 releases 获取最新的二进制文件。

从源码安装

root@kitploit:~
git clone https://github.com/vmfunc/sif.git
cd sif
make

需要 Go 1.25+

AUR(手动安装)

root@kitploit:~
git clone https://aur.archlinux.org/sif.git
cd sif
makepkg -si

用法

root@kitploit:~
# 基础扫描
./sif -u https://example.com

# 目录模糊测试
./sif -u https://example.com -dirlist medium

# 子域名枚举
./sif -u https://example.com -dnslist medium

# 端口扫描
./sif -u https://example.com -ports common

# JavaScript 框架检测 + 云配置错误
./sif -u https://example.com -js -c3

# Shodan 主机情报(需要设置 SHODAN_API_KEY 环境变量)
./sif -u https://example.com -shodan

# SecurityTrails 域名发现(需要设置 SECURITYTRAILS_API_KEY 环境变量)
# 发现子域名及相关域名,然后扫描全部
./sif -u https://example.com -securitytrails -headers

# SQL 侦察 + LFI 扫描
./sif -u https://example.com -sql -lfi

# Web 漏洞探测(CORS、开放重定向、反射型 XSS)
./sif -u https://example.com -cors -redirect -xss

# 框架检测(附带 CVE 查询)
./sif -u https://example.com -framework

# 广泛扫描
./sif -u https://example.com -dirlist small -dnslist small -ports common -headers -sh -cms -framework -git -whois

运行 ./sif -h 查看所有选项。

命令

有几个子命令无需扫描即可运行:

root@kitploit:~
# 打印版本(发布版有版本号;本地构建使用 git describe)
./sif version

# 显示最新发布说明(也可用 -pn)
./sif patchnote

第一次运行新版本时,sif 会打印一次该版本的发布说明。设置 SIF_NO_PATCHNOTES=1 以关闭此功能。

模块

sif 采用模块化架构。模块以 YAML 定义,用户可以扩展。

内置扫描标志

HTTP 选项

这些选项适用于所有扫描器的出站请求:

root@kitploit:~
# 通过 socks5 代理扫描,带自定义头部、cookie 和 20 req/s 的限制
./sif -u https://example.com -headers -proxy socks5://127.0.0.1:1080 -H "Authorization: Bearer tok" -cookie "session=abc" -rate-limit 20

如果扫描器明确设置了某个头部(例如 API 密钥),则该设置优先于全局默认值。

报告导出

将运行结果写入文件,用于 CI/CD 或分类:

root@kitploit:~
# 扫描并同时生成 SARIF 和 Markdown 报告
./sif -u https://example.com -headers -cors -sarif out.sarif -md out.md

SARIF 输出可被 GitHub 代码扫描摄取;Markdown 是每个目标的可读摘要。

Diff 模式

-diff 将重新扫描变为监控器:sif 将每个目标的标准化发现快照到 JSON 文件,下一次运行时仅报告相对于该快照的增量(+ new / - gone),然后覆盖快照。首次运行目标时无基线,因此所有内容均为 + new。快照存储在 -store(每个目标一个清理过的文件)中;未设置时使用日志目录,回退到 <用户配置>/sif/state。

root@kitploit:~
# 基线运行,然后稍后重新扫描并仅查看变化
./sif -u https://example.com -sh -cors -diff
./sif -u https://example.com -sh -cors -diff

快照始终被重写,因此每次运行都与上一次运行进行 diff。增量日志输出(在 -silent 模式下通过正常输出槽/stderr),而不是发现流。

通知

将发现发送到聊天/Webhook 接收端,以便持续侦察运行能提醒新发现的内容。每个提供商都通过共享 HTTP 客户端进行一次 POST,因此全局代理/速率限制/头部配置同样适用。

提供商首先通过环境变量配置;YAML 文件(-notify-config)逐字段覆盖。YAML 键与 projectdiscovery/notify 一致,因此现有配置可直接迁移:

root@kitploit:~
# 扫描期间发现 medium 及以上严重级别的发现时提醒 Slack
export SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
./sif -u https://example.com -cors -xss -notify -notify-severity medium

没有目标地址的提供商将被跳过;如果未配置任何内容,-notify 为静默无操作。Slack/Discord/Telegram 接收固定宽度的发现块;通用 Webhook 接收结构化 JSON({count, findings[]})。

管道模式

sif 从标准输入读取目标,接受裸主机名,因此可嵌入 Unix 管道。-silent 将所有横幅、旋转器、日志输出路由到 stderr,并将每行输出一个标准化的发现([严重级别] 目标 模块 标题)到 stdout:

root@kitploit:~
# subfinder 提供主机,sif 进行探测,notify 发送发现
subfinder -d example.com | sif -silent -probe | notify
标志描述
stdin管道输入的目标流(每行一个主机/URL),与 -u/-f 一同读取

无 scheme 的主机默认为 https://;显式的 http:///https:// 保留;其他 scheme(ftp://、...)被拒绝。

YAML 模块

列出可用模块:

root@kitploit:~
./sif -lm

运行特定模块:

root@kitploit:~
# 按 ID 运行
./sif -u https://example.com -m sqli-error-based,xss-reflected

# 按标签运行
./sif -u https://example.com -mt owasp-top10

# 运行所有模块
./sif -u https://example.com -am

自定义模块

在 ~/.config/sif/modules/ 中创建自己的模块。模块使用类似 nuclei 模板的 YAML 格式:

root@kitploit:~
id: my-custom-check
info:
  name: my custom security check
  author: you
  severity: medium
  description: checks for something specific
  tags: [custom, recon]

type: http

http:
  method: GET
  paths:
    - "{{BaseURL}}/admin"
    - "{{BaseURL}}/login"

  matchers:
    - type: status
      status:
        - 200

    - type: word
      part: body
      words:
        - "admin panel"
        - "login"
      condition: or

完整模块格式请参阅 docs/modules.md。

贡献

欢迎贡献。请参阅 contributing.md 获取指南。

root@kitploit:~
# 格式化
gofmt -w .

# 检查
go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run

# 测试
go test ./...

社区

加入我们的 Discord 获取支持、功能讨论和渗透测试技巧:

discord

贡献者

致谢

  • projectdiscovery 提供了 nuclei 及其他安全工具
  • shodan 提供了基础设施情报

BSD 3-Clause 许可证 · 由 vmfunc、xyzeva 及贡献者制作
下载工具
标志描述
-dirlist目录和文件模糊测试(small/medium/large)
-mcdirlist:匹配这些状态码(逗号分隔,例如 200,301)
-fcdirlist:过滤掉这些状态码(逗号分隔)
-fsdirlist:过滤掉具有这些响应体大小的响应(逗号分隔)
-fwdirlist:过滤掉具有这些单词数的响应(逗号分隔)
-frdirlist:过滤掉响应体匹配此正则表达式的响应
-ac自动校准软 404 通配符基线(dirlist, sql)
-wdirlist:自定义单词列表(本地文件或 URL;覆盖 -dirlist 的大小)
-edirlist:追加到每个单词的扩展名(逗号分隔,例如 php,bak,env)
-dnslist子域名枚举(small/medium/large)
-ports端口扫描(common/full)
-nuclei使用 nuclei 模板进行漏洞扫描
-dork自动化 Google dorking
-jsJavaScript 分析 + 秘密和端点提取
-c3云存储配置错误
-headersHTTP 头部分析
-sh安全头部分析(缺失/弱头部)
-st子域名接管检测
-cmsCMS 检测
-whoisWhois 查询
-git暴露的 Git 仓库检测
-shodanShodan 查询(需要 SHODAN_API_KEY)
-securitytrails域名发现 + 目标扩展(需要 SECURITYTRAILS_API_KEY)
-sqlSQL 侦察
-lfi本地文件包含
-jwtJWT 发现 + 离线弱点分析(alg:none、弱 HMAC、exp、敏感 claims)
-openapiOpenAPI/Swagger 规范暴露探测(枚举路径 + 未授权端点)
-faviconFavicon 哈希指纹识别(类 Shodan 的 mmh3,技术匹配 + 转向查询)
-corsCORS 配置错误探测
-redirect开放重定向探测
-xss反射型 XSS 探测
-framework框架检测 + CVE 查询
-crawl网络爬虫(抓取同主机链接/脚本/表单)
-crawl-depth最大爬取递归深度(默认 2)
-passive被动子域名/URL 发现(零流量发往目标)
-probe存活主机探测(状态、标题、服务器、重定向链)
标志描述
-proxy通过代理路由所有流量(http/https/socks5 URL)
-H, --header发送的自定义头部(可重复或逗号分隔,"Key: Value")
-cookie每次请求发送的 Cookie 头部
-rate-limit每秒最大请求数(0 = 无限制,默认 0)
标志描述
-sarif将 SARIF 2.1.0 报告写入此文件
-markdown、-md将 Markdown 报告写入此文件
-silent简洁输出:日志输出到 stderr,每行一条发现到 stdout(适用于管道)
-diff仅显示自上次目标快照以来新增/移除的发现
-store-diff 的快照目录(默认:日志目录,否则为 <用户配置>/sif/state)
标志描述
-notify扫描后将发现发送到每个配置的提供商
-notify-severity要发送的最低严重级别(info/low/medium/high/critical,默认 medium)
-notify-config指向与 notify 兼容的 YAML 配置文件的路径(覆盖环境变量)
环境变量YAML 键提供商
SLACK_WEBHOOK_URLslack_webhook_urlSlack 传入 Webhook
DISCORD_WEBHOOK_URLdiscord_webhook_urlDiscord Webhook
TELEGRAM_BOT_TOKENtelegram_api_keyTelegram Bot API(也需要聊天 ID)
TELEGRAM_CHAT_IDtelegram_chat_idTelegram 目标聊天
NOTIFY_WEBHOOK_URLwebhook_url通用 JSON Webhook(结构化发现)
vmfunc
vmfunc

🚧 🧑‍🏫 📆 🛡️ 💻
ProjectDiscovery
ProjectDiscovery

📦
macdoos
macdoos

💻
Matthieu Witrowiez
Matthieu Witrowiez

🤔
tessa
tessa

🚇 💬 📓
Eva
Eva

📝 🖋 🔬 🛡️ ⚠️ 💻
Zoa Hickenlooper
Zoa Hickenlooper

💻
acxtrilla
acxtrilla

📦