FlySecAgent 是一款先进的网络安全智能助手,构建于强大的大语言模型和灵活的 MCP (Model-Controller-Plugin) 架构之上。它旨在通过自然语言交互,为网络安全专业人员和爱好者提供全面的支持。FlySecAgent 不仅能够执行渗透测试任务、查询最新的安全漏洞信息、分析复杂的流量数据包,还能利用集成的知识库进行上下文感知的增强回答,确保信息的准确性和深度。通过 MCP 服务器,FlySecAgent 可以无缝调用各种外部安全工具(如 Nmap, Gobuster, Metasploit 等),从而扩展其能力边界,应对多样化的安全挑战。无论是进行主动防御、事件响应还是安全研究,FlySecAgent 都能成为您得力的助手。
这是一个基于大语言模型和MCP(Model-Controller-Plugin)和Rag架构的网络安全智能助手项目。它旨在通过自然语言交互,帮助用户执行渗透测试任务、查询安全信息、分析流量包等。
自然语言交互: 用户可以通过自然语言向AI助手提问和下达指令。
MCP服务器集成: 通过 mcp.json
配置文件,可以灵活集成和管理多个MCP服务器,扩展助手的能力。
工具调用: AI助手能够根据用户请求,调用配置的MCP服务器提供的工具(例如:nmap, gobuster, fofa, tavily-search等)。
对话历史记忆: 支持多轮对话,能够记住之前的交互内容。
流式输出: AI的回答可以流式输出,提供更好的用户体验。
知识库增强 (可选): 支持通过本地知识库Rag(knowledge_base_docs
目录)来增强AI的回答质量。
可配置模型: 支持配置不同的语言模型参数。
启动效果
sqlmap调用效果:
此外还可以调用dirsearch,nmap等工具
克隆仓库:
git clone https://github.com/hnking-star/FlySecAgent.git
cd agent
创建并激活虚拟环境 (推荐):
python -m venv .venv
.venv\Scripts\acti
vate
- macOS/Linux:
bash
source .venv/bin/activate
```
安装依赖:
pip install -r requirements.txt
安装 uv
(重要):
本项目使用 uv
作为 Python 包的运行器和部分场景下的安装器。
start.bat
脚本会自动尝试为您安装 uv
。pip install uv
或者参考 uv
的官方文档进行安装。
确保 uv
已成功安装并可以从命令行调用。配置MCP服务器:
修改 mcp.json
文件,根据您的环境和需求配置MCP服务器。确保每个服务器的启动命令和参数正确无误。例如,您可能需要更新 TAVILY_API_KEY
或其他服务器特定的路径/参数。
准备知识库 (可选):
如果您希望使用知识库增强功能,请将相关的文本文件(例如 .txt
)放入 knowledge_base_docs
文件夹中。
运行主程序:
python main.py
程序启动后,您可以根据提示输入您的问题或指令。
agent/
├── .venv/ # Python虚拟环境 (被.gitignore忽略)
├── knowledge_base_docs/ # 知识库文档存放目录
│ └── ...
├── .gitignore # Git忽略文件配置
├── main.py # 主程序入口
├── mcp.json # MCP服务器配置文件
├── rag_embedding.py # RAG嵌入相关 (如果使用)
├── rag_split.py # RAG文本分割相关 (如果使用)
├── README.md # 项目说明文件
├── requirements.txt # Python依赖列表
├── LICENSE # 项目许可证
└── ... (其他脚本或配置文件)
.env
)BASE_URL=https://api.302.ai
API_KEY=your_r_api_key
MODEL_NAME=gpt-4o
EMBEDDING_API_KEY=your_embedding_api_key
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
上面对应的是所用模型api和key,下面对应的是embedding的key和url(使用阿里云的)
mcp.json
)此文件用于定义AI助手可以连接和使用的MCP服务器。每个服务器条目应包含:
name
: 服务器的唯一名称。params
: 启动服务器所需的参数,通常包括 command
和 args
。cache_tools_list
: 是否缓存工具列表。MCP示例服务器配置:
stdio
{
"name": "tavily-search",
"params": {
"command": "uv",
"args": [
"--directory",
"F:\\ai\\mcp\\mcp_tool\\mcp-server-tavily",
"run",
"tavily-search"
],
"env": {
"TAVILY_API_KEY": "your_tavily_api_key_here",
"PYTHONIOENCODING": "utf-8"
}
},
"cache_tools_list": true
}
请确保将示例中的路径和API密钥替换为您自己的配置。
sse
{"name":"mcpname",
"url":"http://127.0.0.1:8009/sse"
},
在knowledge_base_docs添加相应的文件即可
{ "mcpServers": { "flysecagent": { "command": "uv", "args": [ "--directory", "F:\\ai\\mcp\\mcp_tool\\mcp-server-tavily", "run", "tavily-search" ] } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories