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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Mahoraga-Webapp-Defender — AI驱动的反应式网站防御系统,能够检测攻击、分析攻击,并利用LLM代理实时自主修补源代码。 | Kitploit
工具/GitHubGitHub/ageofalgorithms/mahoraga-webapp-defender
防御工具漏洞分析Web安全CTF威胁情报入侵检测事件响应API 安全AI 安全

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
ageofalgorithms/mahoraga-webapp-defender

Mahoraga-Webapp-Defender

AI驱动的反应式网站防御系统,能够检测攻击、分析攻击,并利用LLM代理实时自主修补源代码。

查看仓库
424个月前尚未审核

Mahoraga Webapp Defender

基于AI的响应式Web应用防御系统,旨在实时抵御AI驱动的攻击。

GitHub stars License: MIT PRs Welcome

目录

  • Mahoraga Webapp Defender
    • 目录
    • 简介
    • 目标网站
    • Mahoraga Defender 架构
      • 双环境
      • Agent 流程管线
    • 如何启动
      • 准备工作
      • 完整防御者 vs 攻击者实验
    • 仪表盘
      • 日志
      • Agent
      • 管线
      • 补丁
    • LLM 配置
    • 技术栈
    • 特别鸣谢

简介

Mahoraga Defender 是一个概念验证系统,实现了响应式、攻击者类型无关的实时防御。其核心机制是诱骗攻击者在一个无害的伪造环境("影子"环境)中进行发现和攻击,并将这些攻击记录下来。然后,LLM Agent 分析日志,将检测到的任何漏洞详情交给更多 LLM Agent 来修复漏洞并部署补丁。

该系统设计为完全自动化,同时注重 API 成本优化。提供了 GUI 以便轻松监控流量日志、Agent 活动和打补丁管线,以及控制部署的 Agent 数量。

目标网站

目标(受害者)网站是 crAPI (Completely Ridiculous API) 的一个分支,crAPI 是 OWASP 为教授 API 安全测试而创建的一个故意存在漏洞的 Web 应用程序。crAPI 模拟了一个车辆所有者平台,包含覆盖 OWASP Top 10 API 漏洞的微服务。防御者的设计目标是清晰区分正常用户会话和敌对用户会话,这样在防御者保护网站免受攻击者攻击时,正常用户不会感受到任何用户体验质量下降。

我们的分支(crapi-fork/)增加了:

  • 植入的蜜罐(诱饵凭据、端点、令牌)用于攻击者检测
  • 攻击面上共嵌入12个 CTF 风格的旗帜
  • 一个并行的"影子"栈,包含相同的服务和独立的数据库,用于安全地观察攻击者
  • 基于 nginx Lua 的会话路由,透明地将可疑会话从生产环境重定向到影子环境

crapi-original/ 中保留了一份原始副本,以便在实验之间重置环境。

Mahoraga Defender 架构

双环境

  • 生产环境 (Prod):通过 nginx 反向代理(端口 8888)服务真实用户
  • 影子环境 (Shadow):完全相同的诱饵栈,拥有独立的数据库,透明地接收重定向的攻击者流量

Agent 流程管线

  • 编排器 (Orchestrator):协调整个管线。管理 Agent 生命周期、补丁/审查队列、工单状态、部署和崩溃恢复。运行时可以上下扩展修复者/审查者 Agent 的数量。
  • 观察者 (Watcher)(基于规则):监控生产环境流量日志,并使用模式匹配(暴力破解、注入、枚举、蜜罐访问等)对会话进行威胁等级评分。当威胁分数超过阈值时,触发重定向操作。
  • 影子分析器 (Shadow Analyzer)(LLM Agent):按可配置的时间间隔读取影子环境流量日志,检测成功的漏洞利用。对日志条目去重,检测攻击模式,并将确认的漏洞利用推送到修复队列。
  • 修复者 (Fixer)(LLM Agent):接收漏洞报告,读取相关源代码,并直接在 crapi-fork/ 中打补丁。在沙箱化的 bash 环境中运行,访问权限仅限于 crapi-fork/。
  • 审查者 (Reviewer)(LLM Agent):验证补丁的正确性、范围和安全性。批准的补丁触发部署操作;拒绝的补丁连同反馈一起返回给修复者。

部署时,Python 服务通过 gunicorn 进行热重载(即时生效),而 Java/Go 服务则通过 docker compose up -d --build 重新构建。

为什么没有测试 Agent? 我们曾考虑添加一个专用的用户测试 Agent 和一个单独的测试环境,但为了保持系统轻量,两者都移除了。

如何启动

准备工作

  • 建议使用 conda 或 python 虚拟环境(例如 conda create -n XYZ python=3.13,然后 conda activate XYZ)。
  • 安装依赖:pip install -r requirements.txt

完整防御者 vs 攻击者实验

  1. 在项目根目录下运行 ./start.sh —— 从 crapi-original/ 重置 crapi-fork/ 源代码,重建所有服务,植入旗帜和蜜罐。
  2. 运行防御者:python3 -m harness.main --app-url http://localhost:8888 -v。
  3. 开始对 localhost:8888 上的网站进行渗透测试(挑战描述在 localhost:8888/challenge)。如果使用 AI Agent 进行渗透测试,Agent 不应获得对内部 docker 进程的任何访问权限,否则视为作弊。
  4. 渗透测试期间,监视 localhost:3000 上的防御者仪表盘,以查看实时日志、Agent 操作、补丁、捕获的旗帜等。
  5. 会话结束后,运行 docker compose down -v 移除为本项目启动的 docker 容器和数据库。

仪表盘

仪表盘:http://localhost:3000

在所有标签页上可见一个全局 Agent 状态栏,显示 Agent 健康状态(活跃/挂起/空闲/错误)并带有扩缩控制。

日志

实时分屏的生产/影子请求日志查看器,带有严重级别颜色标记和流量分组

Agent

每个 Agent 的活动馈送,包含系统提示、工具调用和 LLM 模型标签

管线

看板:已检测 → 正在修复 → 正在审查 → 已部署,带有可调整大小的详情面板

补丁

每个补丁的代码差异、修改的文件、回滚命令和时间线

LLM 配置

系统使用任何兼容 OpenAI 的 API。在 config/llm.yaml 中配置模型:

root@kitploit:~
# 影子分析器 — 读取影子日志以检测漏洞利用(无工具调用)
shadow_analyzer:
  provider: gemini
  model: gemini-2.5-flash
  api_key_env: GEMINI_API_KEY # defined in harness/.env
  pricing:
    input_per_million: 0.30
    output_per_million: 2.50

# 修复者 — 修补源代码(工具调用 Agent)
fixer:
  provider: gemini
  model: gemini-3-flash-preview
  api_key_env: GEMINI_API_KEY # defined in harness/.env
  pricing:
    input_per_million: 0.50
    output_per_million: 3.00

# 审查者 — 验证补丁(工具调用 Agent)
reviewer:
  provider: gemini
  model: gemini-3-flash-preview
  api_key_env: GEMINI_API_KEY # defined in harness/.env
  pricing:
    input_per_million: 0.50
    output_per_million: 3.00

要切换提供商,更改 provider 和 model,然后在 harness/.env 中设置相应的 API Key:

支持的提供商:OpenAI, Gemini, Anthropic, Groq, Together, Ollama, Mistral, DeepSeek, Fireworks, xAI, Perplexity, OpenRouter, Zhipu。 通过将提供商的基础 URL 添加到 YAML 的 providers 部分,可以添加自定义提供商。

root@kitploit:~
providers:
  openai: https://api.openai.com/v1
  gemini: https://generativelanguage.googleapis.com/v1beta/openai/
  anthropic: https://api.anthropic.com/v1/
  groq: https://api.groq.com/openai/v1
  ... # 需要时添加更多

注意:只有少数 API 提供商具有足够高的速率限制以支持 3 个以上的 Agent 同时工作。Google 的 Gemini 是其中之一。

技术栈

  • LLM:任何兼容 OpenAI 的 API(默认:Gemini 3 Flash Preview 用于 Agent,Gemini 2.5 Flash 用于分析器)
  • 目标应用:修改后的 crAPI(Python/Django, Java/Spring Boot, Go, MongoDB, PostgreSQL)
  • 路由:使用 Lua 脚本的 nginx 实现透明会话重定向
  • 评分:基于 Redis 的威胁评分,通过 FastAPI 控制平面实现
  • 仪表盘:React + Tailwind CSS,由 FastAPI 提供服务并通过 WebSocket 实现实时更新
  • 编排:Python asyncio 结合基于队列的 Agent 协调

特别鸣谢

特别感谢 d3lta05 (LinkedIn) 和 aleemladha 在渗透测试方面的帮助。

下载工具