使用说明
许可证: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
在拥抱面部空间上部署
- 将此存储库推送到新的拥抱面部空间
- 选择 Gradio SDK (5.33.2+版本)
- 太空将自动发射
📖 使用示例
全面安全评估
# 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
🔧 扩展代理堆栈
添加新代理
- 定义代理类 在
app/agents.py:
class MyNewAgent:
def analyze_something(self, target: str) -> Dict[str, Any]:
# Your agent logic here
return {"result": "analysis"}
- 注册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)
- 添加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? |
🎓 设计理念
这些代理人遵循 模块化电路设计模式 -每个可以是:
- 插入不同的项目 独立地
- 组合成自定义堆栈 针对特定用例
- 扩展了新功能 不影响他人
- 更换或升级 单独地
关键原则
- 关注点分离 -每个代理都有一个明确的目的
- 可组合性 -代理人能够很好地合作和独立工作
- 假设存在违规心态 -默认安全,而非事后考虑
- 业务重点 -专为真实世界的事件响应而构建
- 最少的戏剧性 -冷静、程序化、可操作的产出
🔒 安全注意事项
该平台专为 仅限授权安全测试:
- 重要的约会 经适当授权
- 紫色团队演习 在受控环境中
- 安全性研究 脆弱性评估
- CTF竞赛 以及培训场景
非卖品:
- 未经授权访问系统
- 恶意攻击或利用
- DoS攻击或破坏性行为
📦 依赖项
- FastMCP -模型上下文协议服务器
- 格拉迪奥 -Web UI框架
- Python 3.8+ -核心运行时
🤝 贡献
欢迎投稿!感兴趣的领域:
- 其他专业代理(见15个代理角色)
- 真实世界的工具集成(nmap、Metasploit等)
- 增强的威胁建模能力
- 用于异常检测的机器学习
- 可视化改进
📄 许可证
Apache 2.0-有关详细信息,请参阅LICENSE文件。
🙏 致谢
灵感来自 15个模块化代理角色 可插拔AI系统的设计模式。
建于❤️ 网络安全和人工智能社区。
现代威胁环境的多代理安全架构。