网络安全证据标注工具

基于模型上下文协议(MCP)的AI代理工具,用于自动化处理安全分析任务,包括证据标注、威胁隔离和报告生成。

  • by NishchalSreevathsa
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 NishchalSreevathsa/Cyber-Evidence-Annotator

使用说明

🛡️ 网络证据标注员(MCP代理)

使用模型上下文协议(MCP)构建自治代理

📖 概述

这 网络证据标注器 是一个代理AI应用程序,演示了大型语言模型(LLM)如何走出浏览器来控制本地桌面应用程序和外部API。

使用 模型上下文协议(MCP),此工具允许安全分析师使用自然语言:

  1. 发射 本地桌面工具(MS Paint)查看证据。
  2. 分析和标记 带有分类印章的证据(例如“机密”)。
  3. 隔离威胁 通过操纵应用程序窗口。
  4. 报告 通过电子邮件(Gmail API集成)发现。

🚩 问题:SOC分析师倦怠

在现代安全运营中心(SOC)中,分析师将40%的时间花在重复的手动任务上:

  • 截取恶意软件分析的屏幕截图。
  • 手动打开图像编辑器以裁剪/突出显示证据。
  • 起草发送给首席信息安全官或事故响应团队的样板电子邮件。

这种上下文切换导致 警惕疲劳 以及倦怠,增加了错过真正威胁的风险。

💡 解决方案:代理自动化

我们用 AI 代理 它可以像人类一样“使用”计算机。

通过实施 MCP(模型上下文协议),我们规范了人工智能与工具的连接方式。人工智能不仅“生成文本”,它还能生成 行动 它们在主机操作系统上执行。


🏗️ 技术架构

该项目建立在三个核心支柱之上:

1.MCP服务器(mcp_server.py)

  • 角色: 代理人的“手”。
  • 技术: python mcp SDK, 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)。

设置

  1. 克隆存储库:

    git clone https://github.com/NishchalSreevathsa/session-4-mcp-agent.git
    cd session-4-mcp-agent
    
  2. 安装依赖关系:

    pip install -r Assignment/requirements.txt
    
  3. 运行应用程序:

    cd Assignment
    python talk2mcp.py
    
  4. 访问仪表板: 打开浏览器 http://localhost:8001.


🧪 测试用例

场景1:模拟模式(无API密钥)

非常适合测试速度和工具连接性。

命令 动作 预期输出
点击[发布证据] 启动Paint MS Paint以打开 evidence.png 加载。
点击[盖章:机密] 印章文本 日志: Stamped 'CONFIDENTIAL' on the evidence.
点击[绘制边界] 突出显示窗口 绘制窗口闪烁(最大化/恢复)。
键入“向首席信息安全官发送电子邮件” 发送警报 日志: Email sent to ciso@cybercorp.com...

场景2:人工智能代理模式(使用API密钥)

展示推理和意图理解。

  1. 输入你的 Google Gemini API密钥 在顶部输入框中。
  2. 键入复杂命令: “打开储物柜,标记为机密,然后通知老板。”
  3. 结果: LLM解释了这一点,并按顺序调用工具:
    • open_evidence_locker()
    • stamp_classification('CONFIDENTIAL')
    • send_gmail_alert(...)

🏁 结论

该项目表明 代理是新的应用程序通过使用MCP标准化工具接口,我们可以构建模块化、安全和强大的自动化系统,弥合人工智能推理和现实世界行动之间的差距。


由Nishchal Sreevathsa创建