Drana-Infinity
本地托管的安全研究AI助手,用自然语言驱动全链路渗透测试工作流
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地托管的安全研究AI助手,用自然语言驱动全链路渗透测试工作流
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你在挖某个众测项目,资产梳理要做子域名枚举、端口扫描、WAF检测、目录爆破……每一步都要在多个工具之间来回切换、复制粘贴输出结果、还要记住那些复杂的命令行参数。有没有一种工具,能把这些都串联起来,还能用自然语言和你对话,让机器帮你自动执行命令、分析结果?
Drana-Infinity 正是为解决这一痛点而生的。它由独立安全研究员 IHA089 开发,是一个本地托管的 AI 助手,专门面向网络安全、道德黑客和漏洞赏金猎手。它不是通用聊天机器人,而是一个会主动执行命令、调用工具、分析结果的安全研究工作台。
Drana-Infinity 的核心是一个基于 Flask 的 Web 应用,配合 Flask-SocketIO 实现实时双向通信。服务端使用 gevent/eventlet 作为异步引擎,能够在单线程中处理大量并发连接而无需多线程开销。
整体代码约 55KB 的主文件 drana_infinity.py 承载了全部核心逻辑,采用分层模块化设计:
数据库使用 SQLite,包含 6 张核心表:users(用户)、projects(项目)、interceptor_projects(拦截项目)、traffic(流量记录)、chats(对话)、messages(消息)、command_outputs(命令输出)。通过 SQLite 的外键约束保证了数据完整性。
Drana-Infinity 的工作流可以概括为以下几个核心场景:
1. Recon 自动化(信息收集)
内置的 CommandExecutor 类封装了 shell 命令执行逻辑,并内置错误签名识别(如 "QUITTING!"、"Error:"、"failed to initialize"、"command not found"),自动判断命令是否成功。用户无需手动检查每个工具的返回码,AI 会自动汇总分析所有输出。
2. AI 对话 + 工具调用
用户可以在 Web UI 中用自然语言下达指令,例如"帮我扫描这个域名的所有子域名"。Drana-Infinity 会调用 assetfinder、subfinder、amass 等工具,并将结果喂给本地 LLM(支持 Ollama)进行汇总分析。通过 RAG 模块,还能引用本地知识库(如历史 recon 报告、安全文档)增强回答质量。
3. HTTP 拦截引擎(Drana Interceptor)
内置的 mitmproxy 代理引擎可以在后台运行,捕获并记录所有 HTTP(S) 流量。用户将浏览器代理指向 Drana-Infinity 后,所有请求/响应都会被 SQLite 记录下来,供后续 AI 分析。proxy_crawler.py 还支持自动化爬取指定目标。
4. JavaScript 敏感信息提取
js_recon.py 专门负责从页面 JS 文件中提取端点、API key 模式、TODO 注释、硬编码凭证等敏感信息。这是许多安全测试中容易被忽略但又极为关键的步骤。
5. 多模型支持
通过 get_model.py 动态加载 LLM,默认支持 Ollama(本地模型如 llama3)。也支持接入 OpenAI 等商业 API 作为备选。用户可根据硬件条件选择合适的模型,数据始终留存在本地。
ChromaDB 集成的 RAG 模块是 Drana-Infinity 的核心技术亮点之一。当用户的提问涉及历史项目或特定领域知识时,系统会先在本地向量数据库中检索相关上下文,再交给 LLM 生成答案。这意味着即使用户没有联网,也能基于本地积累的 recon 数据和安全文档获得高质量回答。
所有聊天记录和命令输出都持久化到 SQLite,项目之间完全隔离,支持多用户(通过 user_hash 匿名标识)。
优点:
局限:
值得注意的是,Drana-Infinity 的 GitHub topics 包含 "wormgpt"——这是一个以恶意用途著称的开源 AI 项目标签。这意味着 Drana-Infinity 的设计初衷并非完全"白帽"。作者在描述中强调"道德黑客"和"漏洞赏金",但在当前开源社区的语境下,这类工具的边界往往较为模糊。使用者应始终确保行为在法律和道德框架内。
Drana-Infinity 代表了一个正在兴起的方向:用 LLM 将碎片化的安全工具串联成统一的智能工作流。类似的项目(如 Ghost autofill、AutoRecon 的 AI 增强版)都在探索这一路径。随着开源 LLM 本地部署成本持续下降,这类工具的普及门槛会越来越低。
总结:Drana-Infinity 是一个面向安全研究人员的本地 AI 工作台,核心价值在于将多种安全工具的命令执行、结果分析、流量拦截、数据检索整合到一个 Flask + Socket.IO 的实时交互界面中,并借助本地 RAG 实现知识增强。它适合有一定技术背景的安全研究员或漏洞赏金猎人,而非普通用户。由于缺乏 Docker 支持,部署需要一定手动配置能力。