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

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

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

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

工具目录

分类

查看所有分类
Loading categories
ONUS — 本地托管、物理隔离的VAPT平台,运行8个并行扫描模块,使用CVSS v3.1对发现项进行确定性评分,并生成PDF报告,可选地通过本地LLM提供AI生成的修复建议。 | Kitploit
工具/GitHubGitHub/maverickaayush/onus
侦察漏洞扫描器网络映射端口扫描DNS和子域名枚举Web安全渗透测试学习与教育AI 安全
GitHubmaverickaayush/onus

ONUS

本地托管、物理隔离的VAPT平台,运行8个并行扫描模块,使用CVSS v3.1对发现项进行确定性评分,并生成PDF报告,可选地通过本地LLM提供AI生成的修复建议。

查看仓库
102610天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

ONUS——自动化漏洞评估与渗透测试

License: MIT CI

ONUS——在攻击者之前发现安全风险。

由 maverickaayush 构建。

一款本地托管、可离线隔离运行的 VAPT 工具:将其指向一个经授权的目标域名,它便会并行运行 8 个扫描模块,对每项发现进行确定性评分(CVSS v3.1),可选地通过本地 LLM 添加 AI 生成的通俗英语描述,并生成 PDF 报告和实时 Web 仪表板。无任何外部 API 调用——一切都在您自己的网络上运行。

运行 ONUS 的两种方式:

  • 自托管(本仓库): docker compose up → 输入域名 → 勾选授权框 → 扫描。 无需账户、无需登录、无需邮箱验证——设计上即为单操作员使用,下文所有内容均围绕该方式展开。
  • 托管版: 托管的实例已在 tryonus.tech 上线。 它叠加了仅生产环境使用的功能(账户 / OAuth 登录、扫描队列、按用户划分的 历史记录),这些功能在本仓库中默认 关闭,因此自托管保持简单。参见 自托管与托管对比。

功能

  • 8 个并行扫描模块(Celery)——网络侦察(端口/服务/子域/DNS/WHOIS)、Web 应用扫描(ZAP + Nikto + Katana)、SSL/TLS 配置、HTTP 安全响应头、OWASP Top 10 检测、技术指纹识别/WAF 检测、CVE 扫描(Nuclei)、目录枚举(FFUF)。
  • 确定性 CVSS v3.1 评分——严重级别、CVSS 分数/向量、优先级和 OWASP 分类均根据规则目录计算得出,绝不靠 LLM 猜测。同一扫描运行两次会产生逐字节一致的数字字段。
  • 置信度验证——发现项会被被动复检(仅进行非破坏性的重新观察),并标记为已确认 / 可能 / 未验证,而不是被静默丢弃。
  • 可选本地 AI 分析——Ollama + Qwen 2.5 7B 将已评分的发现项转化为通俗英语描述和修复步骤。完全离线隔离;即使没有它,工具也能正常工作(见下文快速开始)。
  • 感知上下文、可操作的修复建议——每项发现都以具体的下一步操作收尾。稳定问题使用确定性模板;真正依赖上下文的问题使用 AI;此外,托管平台检测(Vercel / Cloudflare / Netlify / GitHub Pages / …)意味着针对平台负责的 TLS 发现项,会说明由谁控制该层以及下一步该怎么做,而不是给出"修改服务器配置"这类无法实现的建议。
  • PDF 报告 + Web 仪表板——WeasyPrint 渲染的报告和 Next.js 仪表板,均由同一套经过评分和描述的发现数据驱动。

自托管与托管对比

自托管的默认路径刻意保持简单:无需注册、无需邮箱验证、无需 OAuth。仅托管版才有的功能(身份认证、扫描队列)由默认 关闭 的配置标志控制(REQUIRE_AUTH=false、HOSTED_QUEUE_ENABLED=false;参见 配置),并且未在 docker-compose.yml 中设置——因此在本地运行 ONUS 绝不会让您被登录墙挡住。更喜欢零配置?请使用 tryonus.tech 上的托管站点。

截图

新建扫描实时扫描状态
新建扫描表单扫描状态页面
报告仪表板扫描发现
报告仪表板扫描发现仪表板

架构

root@kitploit:~
domain → [recon | webscan | ssl_tls | headers | owasp | tech_fingerprint | nuclei | enumeration] (parallel, Celery)
       → any module failed/timed out? → pause for operator retry/continue/cancel
       → aggregator (dedup + OWASP-map + sort)
       → confidence verification (passive re-observation)
       → deterministic CVSS scoring
       → Ollama (Qwen 2.5 7B) AI analysis
       → WeasyPrint PDF + PostgreSQL
       → dashboard / PDF download
六层架构示意图

六层架构:Next.js 前端 → FastAPI → Celery/Redis → 8 个并行扫描模块 → Ollama(Qwen 2.5 7B)→ WeasyPrint PDF + 仪表板。完整细节参见 ARCHITECTURE.md(模式、契约、护栏)和 docs/QUICK_REF.md(常见更改的快速查阅)。

环境要求

  • Docker 和 Docker Compose v2
  • 约 8GB 可用磁盘。 构建出的镜像总计约 6.8GB(后端和 worker 各约 3.25GB——它们通过 Playwright 打包了 Nuclei 模板和一个无头 Chromium——外加约 270MB 的前端),而构建过程本身还需要额外的空间余量。
  • 约 6GB 可用内存。 仅 ZAP 伴生容器就被限制为 4GB(mem_limit: 4g),Postgres、Redis、API、worker 和前端还需与之同时运行。
  • 在良好网络条件下,首次构建大约需要 10-15 分钟。

快速开始

请先阅读上面的环境要求:约 8GB 磁盘和约 6GB 内存,并预计首次构建需要 10-15 分钟。

root@kitploit:~
cp .env.example .env
cp backend/subfinder-config/provider-config.yaml.example backend/subfinder-config/provider-config.yaml
docker compose up -d
docker compose ps        # wait for zap to report healthy (~2 min)

打开 **http://localhost:3000**,输入一个域名,勾选授权框,然后开始扫描。

无需登录、注册或邮箱验证。 自托管的 ONUS 默认为单操作员模式——从打开仪表板到开始扫描之间没有任何账户步骤。

即使不安装 Ollama 也能正常工作。 CVSS/严重级别/优先级评分始终是确定性的(analysis/cvss_scorer.py)——在没有运行 Ollama 的情况下,发现项只会获得基于规则的描述模板,而非 AI 生成的文字。参见下方"可选:启用 AI 生成的描述"以开启该功能。

运行此工具无需任何 API 密钥。 它所封装的所有扫描工具(nmap、ZAP、Nikto、testssl.sh、Nuclei、Amass、Naabu、httpx、WhatWeb、WAFW00F、FFUF)以及 Ollama 本身都完全不需要密钥。上面复制 subfinder 配置的步骤是唯一的可选例外——保持为空模板即可,subfinder 会仅使用免费/公共数据源运行。若想深化子域枚举,可以在开始前向该文件添加最多两个免费层级的密钥:一个 GitHub 个人访问令牌和一个 ProjectDiscovery Chaos API 密钥——参见 provider-config.yaml.example 内的注释。

可选:启用 AI 生成的描述

Ollama 直接运行在宿主机上(而非 Docker 内),以便直接使用宿主机的 GPU;容器通过 host.docker.internal 访问它。

  1. 在宿主机上安装 Ollama:https://ollama.com/install.sh
  2. 拉取模型:ollama pull qwen2.5:7b
  3. 让 Docker 容器能够访问 Ollama(Ollama 默认仅监听 127.0.0.1,Docker 的桥接网络无法访问):
    root@kitploit:~
    sudo systemctl edit ollama
    
    在 [Service] 下添加:
    root@kitploit:~
    [Service]
    Environment="OLLAMA_HOST=0.0.0.0:11434"
    
    保存,然后:
    root@kitploit:~
    sudo systemctl daemon-reload && sudo systemctl restart ollama
    
    注意:这会使 Ollama 可从您的本地网络访问,而不仅仅是 Docker——在个人机器上没问题,在共享机器上则值得加一条防火墙规则。
  4. 验证:curl http://localhost:11434/api/tags
  5. 重启后端/worker 以使其加载生效:docker compose restart backend worker

可选:练习目标

compose 文件还定义了 12 个故意存在漏洞的练习应用(Juice Shop、DVWA、bWAPP、Mutillidae、NodeGoat、位于 ModSecurity WAF 之后的 DVWP/WordPress、Metasploitable2、WebGoat),用于在无需准备自己授权目标的情况下试用扫描器。它们由 Compose profile 控制,因此默认不会构建/启动:

root@kitploit:~
docker compose --profile targets up -d

警告:这些是故意存在漏洞的服务,其中一些确实留有后门(Metasploitable2 附带一个活跃的 vsftpd 后门)。只能在无法从互联网或共享网络访问的机器上运行 targets profile——绝不要在公共云实例或暴露在公网的主机上运行。

其中大部分从预构建镜像运行,无需额外操作。有两个——nodegoat 和 dvwp-wordpress——需要从未收录到本仓库的源码构建,必须先克隆:

root@kitploit:~
git clone https://github.com/OWASP/NodeGoat nodegoat-src
git clone https://github.com/vavkamil/dvwp dvwp-src

运行后发布的端口:Juice Shop :3001、DVWA :8081、bWAPP :8083、Mutillidae :8084、NodeGoat :8085、DVWP(经 WAF,TLS):8444、WebGoat :8082。Metasploitable2 不发布宿主机端口(只能通过 Docker 内部网络从 backend/worker 访问),因为它暴露的是真实存在且留有后门/无需认证的网络服务。

配置

通过 .env(从 .env.example 复制)设置的环境变量:

上面 POSTGRES_PASSWORD/SECRET_KEY 的默认值仅供演示——它们适用于本地/个人实例,但在部署到任何其他人可访问的环境中之前,请务必修改两者。这一点现在是强制的,而不只是建议:设置 ONUS_ENV=production(或启用托管版身份认证)后,只要两者之一仍是默认值/占位符,后端就拒绝启动。使用 python -c "import secrets; print(secrets.token_urlsafe(48))" 生成一个强密钥。

仅托管版才有的功能默认关闭。 REQUIRE_AUTH(账户 / OAuth 登录)和 HOSTED_QUEUE_ENABLED(扫描队列)均默认为 false,且未在 docker-compose.yml 中设置,因此自托管的 ONUS 绝不会让您被登录墙或队列挡住。除非您有意构建多用户的托管部署,否则请保持关闭——托管的 tryonus.tech 实例才是启用它们的那一个。

分析(可选)

ONUS 默认不包含任何分析功能——不会加载任何内容,数据也不会离开浏览器。若要在您自己的部署上收集匿名的产品使用指标,只需设置一个 Google Analytics 4 的 Measurement ID:

root@kitploit:~
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

这是一个前端构建时变量,因此请在构建前端的环境中设置(Vercel/托管环境变量,或本地 npm run build 时使用 frontend/.env.local)。设置后,GA 仅在生产构建中加载,并跟踪页面浏览量以及少量产品事件(例如 scan_started、scan_completed、report_downloaded)。自定义事件通过 frontend/lib/analytics.ts 中的类型化辅助函数处理——trackEvent('scan_started')。

隐私: 只会发送匿名的、低基数的使用事件——绝不会发送被扫描的域名、扫描结果、发现项、报告内容、授权状态或任何个人数据。保持 NEXT_PUBLIC_GA_ID 不设置,ONUS 的行为与之前完全一致;分析功能完全是自愿开启的。

API 文档

FastAPI 会自动生成交互式 Swagger 文档——后端运行后,打开 http://localhost:8000/docs 即可。

停止

root@kitploit:~
docker compose down

日志

root@kitploit:~
docker compose logs -f backend worker

测试与验证

root@kitploit:~
pip install -r backend/requirements-dev.txt
pytest backend/tests

截至撰写本文时,共有 655 项自动化后端测试。除单元/集成测试套件外,该工具在开发过程中还经过了端到端演练:针对九个故意存在漏洞的练习应用(DVWA、Juice Shop、Mutillidae、NodeGoat、bWAPP、WebGoat、Metasploitable2、位于 WAF 之后的 DVWP/WordPress)外加一个经授权的公共目标(testphp.vulnweb.com),实际执行了 79 次真实扫描并生成了 124 份 PDF 报告——这些不是虚构的数字。请始终只扫描您获得明确授权测试的目标——开发过程中使用的练习目标参见 docs/test_findings.md。

文档

  • ARCHITECTURE.md——完整架构、模式,以及任何更改都不应破坏的契约。在进行非平凡的更改之前,请先阅读本文档。
  • docs/QUICK_REF.md——运行命令、目录职责、"我该在哪里做这项更改"。
  • docs/scanners.md——每个扫描模块超时/标志设计背后的理由。
  • docs/ai.md——Ollama 超时/上下文调优,以及为什么评分完全移出了 LLM。
  • docs/docker.md——Docker 偏差说明和构建注意事项。
  • docs/troubleshooting.md——如何单独手动测试任意模块/阶段。
  • docs/roadmap.md——历史构建顺序(构建已完成)。
  • CONTRIBUTING.md——开发环境搭建、测试、PR 规范。

许可证

MIT——参见 LICENSE。

仅限授权使用

未经明确书面授权扫描目标,依据《信息技术法 2000》(印度)及相应的国际法规均属违法行为。本工具在每次扫描时都要求确认授权,并记录操作者 + 时间戳用于责任追溯。

下载工具
自托管(本仓库)托管版(tryonus.tech)
安装docker compose up无需安装——直接打开网站即可
登录无——单操作员账户 / Google / GitHub OAuth
扫描流程输入域名 → 勾选授权框 → 扫描相同,登录后即可
附加功能-扫描队列、按用户划分的历史记录、托管邮件
运行于您自己的网络,离线隔离托管云
变量默认值用途
POSTGRES_PASSWORDvapt_secure_2025数据库密码
SECRET_KEYchange_me_to_a_long_random_string后端密钥
ALLOWED_HOSTSlocalhost,127.0.0.1FastAPI 允许的主机
OLLAMA_URLhttp://host.docker.internal:11434后端/worker 访问 Ollama 的地址
SCAN_TIMEOUT_MULTIPLIER1.5按比例调整每个模块的工具/Celery 超时时间——真实世界的目标比实验室目标更慢;如需实验室调优的时间可降至 1.0
MAX_CONCURRENT_SCANS3并发扫描上限(防止资源耗尽 / 对目标保持礼貌的防护,同时决定数据库连接池大小)
ONUS_ENVdevelopmentdevelopment(自托管 localhost——弱密钥仅发出警告)或 production(弱 SECRET_KEY/Postgres 密码将导致启动直接失败)