安全代理系统

基于LangGraph和MCP的多代理系统,专注于安全操作、代码分析和Mantis防御集成。

  • by perryjr1444-ux
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 perryjr1444-ux/langgraph-mcp-agents

使用说明

██╗      █████╗ ███╗   ██╗ ██████╗  ██████╗ ██████╗  █████╗ ██████╗ ██╗  ██╗
██║     ██╔══██╗████╗  ██║██╔════╝ ██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║  ██║
██║     ███████║██╔██╗ ██║██║  ███╗██║  ███╗██████╔╝███████║██████╔╝███████║
██║     ██╔══██║██║╚██╗██║██║   ██║██║   ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║
███████╗██║  ██║██║ ╚████║╚██████╔╝╚██████╔╝██║  ██║██║  ██║██║     ██║  ██║
╚══════╝╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝  ╚═╝

███╗   ███╗ ██████╗██████╗      █████╗  ██████╗ ███████╗███╗   ██╗████████╗
████╗ ████║██╔════╝██╔══██╗    ██╔══██╗██╔════╝ ██╔════╝████╗  ██║╚══██╔══╝
██╔████╔██║██║     ██████╔╝    ███████║██║  ███╗█████╗  ██╔██╗ ██║   ██║
██║╚██╔╝██║██║     ██╔═══╝     ██╔══██║██║   ██║██╔══╝  ██║╚██╗██║   ██║
██║ ╚═╝ ██║╚██████╗██║         ██║  ██║╚██████╔╝███████╗██║ ╚████║   ██║
╚═╝     ╚═╝ ╚═════╝╚═╝         ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚═╝  ╚═══╝   ╚═╝

🤖 使用LangGraph和MCP的自主安全代理

用于安全操作、代码分析和Mantis防御集成的多代理系统

🏗️ 建筑

graph TD
    A[User Input] --> B[LangGraph Orchestrator]
    B --> C[Code Analysis Agent]
    B --> D[Knowledge Agent]
    B --> E[Mantis Defense Agent]
    B --> F[Red Team Agent]
    B --> G[Research Agent]

    C --> H[MCP Tool Layer]
    D --> H
    E --> H
    F --> H
    G --> H

    H --> I[Mantis MCP Server]
    H --> J[Memory MCP Server]
    H --> K[Learning Loop MCP]

    I --> L[Security Operations]
    J --> L
    K --> L

    style B fill:#f9f,stroke:#333,stroke-width:4px
    style H fill:#bbf,stroke:#333,stroke-width:2px
    style L fill:#bfb,stroke:#333,stroke-width:2px

多代理系统 通过LangGraph编排、MCP工具集成和持久状态管理。

🌟 特性

专业安全代理

  • 🔍 代码分析代理 -静态分析、漏洞检测、安全模式
  • 🧠 知识代理 -内存持久性、上下文检索、模式匹配
  • 🛡️ Mantis集成代理 -防御快速注射,LLM攻击检测
  • ⚔️ 红队特工 -自动化渗透测试、攻击模拟
  • 🔬 研究代理 -威胁情报、CVE分析、安全研究
  • 🔄 工作流代理 -多代理编排、任务协调

MCP集成

  • 模型上下文协议 -Claude和其他LLM的统一工具界面
  • 实时通信 -WebSocket和HTTP流媒体支持
  • 状态管理 -跨会话的持久对话上下文
  • 工具链 -多步骤自动化工作流程

LangGraph功能

  • 可视化调试 -用于图形可视化的LangGraph Studio集成
  • 州检查站 -暂停、恢复和重放代理执行
  • 循环中的人类 -敏感操作的交互式审批门
  • 并行执行 -并行代理处理以提高性能

入门指南

  1. 安装依赖项,以及 LangGraph 界面,它将用于运行服务器。
cd path/to/your/app
pip install -e . "langgraph-cli[inmem]"
  1. (可选)根据需要自定义代码和项目。创建一个 .env 如果你需要使用机密文件。
cp .env.example .env

如果要启用LangSmith跟踪,请将LangSmith API密钥添加到 .env 文件。

# .env
LANGSMITH_API_KEY=lsv2...
  1. 启动LangGraph服务器。
langgraph dev

有关开始使用LangGraph Server的更多信息, 看这里.

如何自定义

  1. 定义运行时上下文:修改 Context 类在 graph.py 文件,以显示每个助手要配置的参数。例如,在聊天机器人应用程序中,您可能希望定义要使用的动态系统提示或LLM。有关LangGraph中运行时上下文的更多信息, 看这里.

  2. 扩展图形:应用程序的核心逻辑在 graph.py。您可以修改此文件以添加新节点、边或更改信息流。

发展

在LangGraph Studio中迭代图形时,您可以编辑过去的状态,并从以前的状态重新运行应用程序以调试特定节点。本地更改将通过热重新加载自动应用。

后续请求扩展了相同的线程。您可以使用以下命令创建一个全新的线程,清除以前的历史记录 + 右上角的按钮。

有关更高级的功能和示例,请参阅 LangGraph文档这些资源可以帮助您根据特定用例调整此模板,并构建更复杂的会话代理。

LangGraph Studio还与 朗史密斯 用于更深入的跟踪和与队友的协作,使您能够分析和优化聊天机器人的性能。