🛡️ 网络证据标注员(MCP代理)
*使用模型上下文协议(MCP)构建自治代理*
📖 概述
这 网络证据标注器 是一个代理AI应用程序,演示了大型语言模型(LLM)如何走出浏览器来控制本地桌面应用程序和外部API。
使用 模型上下文协议(MCP),此工具允许安全分析师使用自然语言:
- 发射 本地桌面工具(MS Paint)查看证据。
- 分析和标记 带有分类印章的证据(例如“机密”)。
- 隔离威胁 通过操纵应用程序窗口。
- 报告 通过电子邮件(Gmail API集成)发现。
______________________________________________________________________
🚩 问题:SOC分析师倦怠
在现代安全运营中心(SOC)中,分析师将40%的时间花在重复的手动任务上:
- 截取恶意软件分析的屏幕截图。
- 手动打开图像编辑器以裁剪/突出显示证据。
- 起草发送给首席信息安全官或事故响应团队的样板电子邮件。
这种上下文切换导致 警惕疲劳 以及倦怠,增加了错过真正威胁的风险。
💡 解决方案:代理自动化
我们用 AI 代理 它可以像人类一样“使用”计算机。
通过实施 MCP(模型上下文协议),我们规范了人工智能与工具的连接方式。人工智能不仅“生成文本”,它还能生成 行动 它们在主机操作系统上执行。
______________________________________________________________________
🏗️ 技术架构
该项目建立在三个核心支柱之上:
1.MCP服务器(mcp_server.py)
- 角色: 代理人的“手”。
- 技术: python
mcpSDK,pywinauto. - 功能: 将工具暴露给AI:
- open_evidence_locker:启动 mspaint.exe 有具体的证据文件。 - stamp_classification:在活动窗口中键入文本。 - draw_threat_border:操纵窗口状态(最大化/恢复)以发出警报信号。 - send_gmail_alert:模拟通过Gmail API发送紧急电子邮件。
2.MCP客户端(talk2mcp.py)
- 角色: 代理人的“耳朵”和“大脑”。
- 技术: FastAPI,Uvicorn,Jinja2。
- 功能:
- 托管以网络为主题的Web UI(http://localhost:8001). - 接受用户命令(“打开储物柜”)。 - 模拟模式: 使用强大的关键字匹配进行即时离线执行。 - LLM模式: 用途 Google Gemini API 推理和规划复杂的工作流程。
3.应用的关键概念
- 异步: 在整个服务器中用于处理并发工具调用,而不会阻塞UI。就像厨师在炉子上管理多个锅一样。
- 装饰人员: 用于注册工具(
@server.call_tool()),就像一个“VIP列表”或Web应用程序防火墙(WAF),用额外的逻辑包装功能。 - Dotenv: 安全管理配置和API密钥(“保险库”)。
______________________________________________________________________
🚀 安装与使用
先决条件
- Python 3.10或更高版本。
- Windows操作系统(必需
pywinauto控制MS Paint)。
设置
- 克隆存储库:
git clone https://github.com/NishchalSreevathsa/session-4-mcp-agent.git
cd session-4-mcp-agent- 安装依赖关系:
pip install -r Assignment/requirements.txt- 运行应用程序:
cd Assignment
python talk2mcp.py- 访问仪表板:
打开浏览器 http://localhost:8001.
______________________________________________________________________
🧪 测试用例
场景1:模拟模式(无API密钥)
*非常适合测试速度和工具连接性。*
| 命令 | 动作 | 预期输出 |
|---|---|---|
| 点击\[发布证据\] | 启动Paint | MS Paint以打开 evidence.png 加载。 |
| 点击\[盖章:机密\] | 印章文本 | 日志: Stamped 'CONFIDENTIAL' on the evidence. |
| 点击\[绘制边界\] | 突出显示窗口 | 绘制窗口闪烁(最大化/恢复)。 |
| 键入“向首席信息安全官发送电子邮件” | 发送警报 | 日志: Email sent to ciso@cybercorp.com... |
场景2:人工智能代理模式(使用API密钥)
*展示推理和意图理解。*
- 输入你的 Google Gemini API密钥 在顶部输入框中。
- 键入复杂命令: *“打开储物柜,标记为机密,然后通知老板。”*
- 结果: LLM解释了这一点,并按顺序调用工具:
- open_evidence_locker() - stamp_classification('CONFIDENTIAL') - send_gmail_alert(...)
______________________________________________________________________
🏁 结论
该项目表明 代理是新的应用程序通过使用MCP标准化工具接口,我们可以构建模块化、安全和强大的自动化系统,弥合人工智能推理和现实世界行动之间的差距。
______________________________________________________________________
*由Nishchal Sreevathsa创建*
