AI Pentest Copilot
AI Pentest Copilot是一款创新的AI驱动工具,旨在提升渗透测试和网络安全培训。
概述
AI Pentest Copilot 是一款先进的网络安全平台,能够自主执行涵盖 Active Directory、云端、Wi-Fi 和内部网络等多种环境的全谱渗透测试。通过利用人工智能能力,该工具为用户提供了从逐步指导到完全自主作的灵活性。
主要特色:
-
作模式:
- 助理模式:非常适合学习和指导练习,为初学者和实习生提供逐步指导。
- 渗透测试模式(半自动):用户从AI推荐的动作中选择,非常适合结构化入侵演练。
- BAS模式(全自动):完全自主执行,用于对手模拟和深度评估。
-
测试方法:
- 学习者模式:利用工具内部知识库进行测试。
- 知识模式:根据定制的、针对组织的指令执行测试。
-
部署灵活性:
- 独立代理、虚拟机或企业集成平台。
- 在Windows上无缝适应使用Windows配置的环境,如WSL配置的Linux命令。
-
人工智能集成:
- 连接本地生成式人工智能模型或安全的在线服务,遵守多样的安全政策。
使用场景
- 网络安全培训:
- 使用助理模式培训实习生和初级团队成员,进行实践学习。
- 结构化测试:
- 使用渗透测试模式执行针对性的渗透测试,进行受控模拟。
- 对手模拟:
- 使用BAS模式进行全面评估,用于对手模拟。
入门指南
前提条件
-
系统需求:
- 作系统:Windows(基于Linux的作使用WSL)
- 硬件:最低8GB内存(推荐16GB),支持虚拟化的现代CPU。
-
依赖关系:
- Python 3.9+
- 必备的Python包(参见 requirements.txt)
- Python 3.9+
安装
-
克隆仓库:
git clone https://github.com/TheMalwareGuardian/AIPentestCopilot
cd AIPentestCopilot -
(可选)搭建虚拟环境:
python -m venv venv
.\venv\Scripts\activate -
安装依赖:
pip install -r requirements.txt
-
编辑配置文件"CopilotBackend/config.ini"来设置必要的API密钥
运行工具
-
启动后端:导航到 CopilotBackend 目录,运行后端服务器。
cd CopilotBackend python app.py -
部署前端:进入CopilotFrontend目录,按照设置说明运行前端接口。
cd CopilotFrontend npm install npm start -
一旦前端和后端都运行,你可以通过网页界面"http://localhost:3000/"访问AI Pentest Copilot,使用凭证"lazy:pentest"。
网页界面
以下是一些展示 AI Pentest Copilot 功能和用户界面的截图。

图1:AI Pentest Copilot的登录页面,用户通过认证访问平台。这一步确保了安全的访问和基于角色的正确功能。(默认凭证:懒惰,渗透测试)
图2:主仪表盘提供了工具的概览,包括可用的模式(助手、渗透测试和BAS)、当前评估以及快速访问关键功能。

图3:Mitre ATT&CK 企业矩阵集成以结构化的方式展示战术和技术,使用户能够可视化对手行为并据此映射安全评估。

图4:BAS资源部分列出了关键资产,如上传的文件、知识库或评估过程中所需的配置。用户可以通过这个界面高效管理这些资源......

图5:之前的对话和评估列表,允许用户无缝恢复或回顾之前的工作。此功能支持渗透测试的连续性。

图6:助手模式下之前聊天的详细视图,展示了为用户执行渗透测试任务提供的逐步指导。

图7:新评估页面允许用户配置并启动新的渗透测试或模拟,选择合适的环境和目标。


图8:对手模拟聊天界面演示了命令的执行及其结果的分析。该工具可以直接提取并执行命令,并且根据指定次数自动执行。


图9:Pentester 聊天界面展示了半自动模式,用户可以收到 AI 推荐并选择执行的特定动作。这种模式非常适合结构化但亲自作的互动。
重要通知
这个仓库包含了我最初开发的PoC,用来启动项目并展示其潜力。由于这个PoC相比最终项目的企业限制更少,这就是我在CiberEmprende活动上分享的版本,现在应同事们对类似解决方案的兴趣请求,我将上传到这里。
需要注意的是,该PoC具有以下特征:
- 它仅适用于GPT模型,不支持本地AI模型(你只需要修改几个函数,不需要太多作)。
- 专注于基于Active Directory的审计。要启用其他类型的评估,如云端或Wi-Fi审计,用户需要扩展和修改代码。
- 虽然展示了核心功能,但出于安全和专有原因,关键组件和高级功能被省略。
- 由于公司政策限制内部开发和具体实现细节的发布,代码故意在无注释或精炼结构的情况下共享。
- 项目以"现状"形式提供,用户被鼓励根据自身需求进行调整和扩展。