多代理安全分析平台

一个模块化、由AI驱动的网络安全平台,提供全面的安全分析、威胁建模和事件响应功能。

  • by canstralian
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 canstralian/cYBERsECmcp

使用说明


许可证:apache-2.0 标题:CyberSec MCP多代理安全栈 sdk:毕业 表情符号🛡️ 颜色来源:红色 颜色:灰色 short_description:用于渗透测试、威胁建模和事件响应的模块化AI代理 sdk版本:5.33.2

🛡️ CyberSec MCP多代理安全栈

A. 模块化、人工智能代理驱动的网络安全平台 使用MCP(模型上下文协议)和Gradio构建,具有四个专门的代理,它们协同工作,提供全面的安全分析、威胁建模和事件响应。

🎯 代理堆栈概述

系统执行 四名专业安全特工 其可以独立操作或通过编排层协作:

1. 🗺️ 系统制图员

将复杂的系统(基础设施、代码库、网络)映射到清晰的依赖关系图和叙述中。

  • 痴迷于反馈循环、依赖关系和故障模式
  • 总是问: “如果此节点死亡,会发生什么?”
  • 工具: map_system, analyze_blast_radius

2. 🎯 红队建筑师

将系统设计为攻击者已经存在于其中。

  • 威胁模型中的每一个特征都带有假设违规的心态
  • 识别攻击路径、横向移动和权限升级路线
  • 建议最低限度的强制安全边界
  • 工具: threat_model_system, assume_breach

3. 📊 信号蒸馏器

生活在日志流、指标和事件消防水带中。

  • 条纹噪声、表面图案、自动检测异常
  • 痴迷于基线和 “过去24小时发生了什么变化”
  • 关联安全事件以识别攻击链
  • 工具: analyze_logs, detect_anomalies, correlate_security_events

4. 📋 随叫随到的战略家

在运行手册、失败树和事件时间表中思考。

  • 编写和更新事件响应剧本
  • 模拟中断和故障级联
  • 建议进行灾难恢复演习
  • 冷静、程序化、从不戏剧化
  • 工具: create_incident_runbook, simulate_component_failure, suggest_security_drills

🔄 代理编排器

协调多代理堆栈、路由任务和组合输出。

  • 工具: full_security_assessment -使用所有代理运行完整分析

🚀 快速开始

在本地运行

pip install -r requirements.txt
python app.py

打开浏览器 http://localhost:7860

在拥抱面部空间上部署

  1. 将此存储库推送到新的拥抱面部空间
  2. 选择 Gradio SDK (5.33.2+版本)
  3. 太空将自动发射

📖 使用示例

全面安全评估

# Analyze entire system with all agents
target = "web_app"  # or "network"
result = full_security_assessment(target)

输出:完整的安全态势,包括系统图、威胁模型、故障模拟和风险评分。

系统制图员

# Map a web application
system_map = map_system("web_app")
# Analyze what happens if database fails
blast_radius = analyze_blast_radius("main_db")

用例:

  • 攻击面测绘
  • 依赖性分析
  • 单点故障识别
  • 级联故障预测

红队建筑师

# Generate threat model
threats = threat_model_system("web_app")
# Simulate attacker compromising frontend
attack_paths = assume_breach("frontend", "web_app")

用例:

  • 新功能的威胁建模
  • 假设进行了安全审查
  • 信任边界分析
  • 横向运动路径识别

信号蒸馏器

# Analyze logs for anomalies
log_data = """
ERROR: Authentication failed for user admin
WARNING: Multiple login attempts from 1.2.3.4
ERROR: Authorization bypass attempt detected
"""
analysis = analyze_logs(log_data, "24h")

# Detect metric anomalies
metrics = {"failed_logins": 150, "cpu_usage": 95}
anomalies = detect_anomalies(metrics)

# Correlate security events
events = [
    {"timestamp": "2024-01-01T10:00:00", "source_ip": "1.2.3.4", "event": "login_attempt"},
    {"timestamp": "2024-01-01T10:01:00", "source_ip": "1.2.3.4", "event": "failed_login"},
    {"timestamp": "2024-01-01T10:02:00", "source_ip": "1.2.3.4", "event": "successful_login"}
]
incident_chains = correlate_security_events(events)

用例:

  • 安全事件分析
  • 异常检测
  • 攻击链识别
  • 基线建立

随叫随到的战略家

# Create incident response runbook
runbook = create_incident_runbook("database breach", severity="critical")

# Simulate component failure
impact = simulate_component_failure("api_gateway", "web_app")

# Generate drill scenarios
drills = suggest_security_drills("web_app")

用例:

  • 事件响应准备
  • 灾难恢复规划
  • 桌面运动设计
  • 事故后学习

🏗️ 项目结构

cYBERsECmcp/
├── app.py                 # Gradio UI with multi-agent interface
├── app/
│   ├── __init__.py
│   ├── agents.py         # Four specialized security agents
│   ├── server.py         # MCP server configuration
│   ├── tools.py          # MCP tool registration
│   ├── lifespan.py       # Lifecycle management
│   └── context.py        # Application context
├── fake_database.py      # Mock database interface
├── requirements.txt      # Python dependencies
└── README.md            # This file

🔧 扩展代理堆栈

添加新代理

  1. 定义代理类 在 app/agents.py:
class MyNewAgent:
    def analyze_something(self, target: str) -> Dict[str, Any]:
        # Your agent logic here
        return {"result": "analysis"}
  1. 注册MCP工具 在 app/tools.py:
@mcp.tool()
def my_agent_tool(target: str) -> str:
    agent = MyNewAgent()
    result = agent.analyze_something(target)
    return json.dumps(result, indent=2)
  1. 添加UI组件 在 app.py:
with gr.Tab("🔮 My New Agent"):
    # Add Gradio components
    pass

组合代理

代理可以组合成 “代理堆栈” 对于特定用例:

示例:安全审查堆栈

  • 红队架构师(威胁建模)
  • 系统制图员(依赖关系映射)
  • 随叫随到策略师(事件准备)

示例:SOC操作堆栈

  • 信号蒸馏器(日志分析)
  • 红队架构师(攻击路径检测)
  • 随叫随到策略师(自动执行runbook)

🛠️ MCP工具参考

系统制图工具

工具 说明 参数
map_system 映射系统拓扑 target, config?
analyze_blast_radius 分析故障影响 node_id

红队建筑师工具

工具 说明 参数
threat_model_system 生成威胁模型 target, config?
assume_breach 模拟违规情况 entry_point, target

信号蒸馏器工具

工具 说明 参数
analyze_logs 分析日志模式 log_data, time_window
detect_anomalies 检测度量异常 metrics
correlate_security_events 关联事件 events

随叫随到的战略家工具

工具 说明 参数
create_incident_runbook 创建runbook scenario, severity
simulate_component_failure 模拟停机 component, target
suggest_security_drills 建议演习 target

编排器工具

工具 说明 参数
full_security_assessment 完整分析 target, config?

🎓 设计理念

这些代理人遵循 模块化电路设计模式 -每个可以是:

  • 插入不同的项目 独立地
  • 组合成自定义堆栈 针对特定用例
  • 扩展了新功能 不影响他人
  • 更换或升级 单独地

关键原则

  1. 关注点分离 -每个代理都有一个明确的目的
  2. 可组合性 -代理人能够很好地合作和独立工作
  3. 假设存在违规心态 -默认安全,而非事后考虑
  4. 业务重点 -专为真实世界的事件响应而构建
  5. 最少的戏剧性 -冷静、程序化、可操作的产出

🔒 安全注意事项

该平台专为 仅限授权安全测试:

  • 重要的约会 经适当授权
  • 紫色团队演习 在受控环境中
  • 安全性研究 脆弱性评估
  • CTF竞赛 以及培训场景

非卖品:

  • 未经授权访问系统
  • 恶意攻击或利用
  • DoS攻击或破坏性行为

📦 依赖项

  • FastMCP -模型上下文协议服务器
  • 格拉迪奥 -Web UI框架
  • Python 3.8+ -核心运行时

🤝 贡献

欢迎投稿!感兴趣的领域:

  • 其他专业代理(见15个代理角色)
  • 真实世界的工具集成(nmap、Metasploit等)
  • 增强的威胁建模能力
  • 用于异常检测的机器学习
  • 可视化改进

📄 许可证

Apache 2.0-有关详细信息,请参阅LICENSE文件。


🙏 致谢

灵感来自 15个模块化代理角色 可插拔AI系统的设计模式。

建于❤️ 网络安全和人工智能社区。


现代威胁环境的多代理安全架构。