对威胁事件进行深入分析和情报收集
主要工具:
threat_event_analysis:深入威胁事件分析mitre_attack_mapping:MITRE ATT&CK框架映射ioc_extraction:指示器提取与丰富threat_actor_profiling:威胁行为者画像生成基于机器学习的攻击路径预测和杀伤链分析
主要工具:
next_ttp_prediction:基于ML的下一TTP预测kill_chain_analysis:杀伤链进度分析attack_timeline_reconstruction:攻击时间线重建业务影响评估和响应资源优化
主要工具:
business_impact_assessment:业务影响评估response_plan_generation:自动生成响应计划resource_prioritization:资源优先级确定自动化响应行动执行和审批工作流
主要工具:
execute_response_action:执行响应行动approve_response_action:批准行动list_available_playbooks:列出可用剧本execute_playbook:执行剧本rollback_action:回滚行动sentinel-advanced-mcp/
├── server.py # MCP服务器主程序
├── tools/ # MCP工具
│ ├── base.py # 工具基类
│ ├── threat_analyst_tools.py # TI分析工具
│ ├── attack_predictor_tools.py # 攻击预测工具
│ ├── response_coordinator_tools.py # 响应协调工具
│ └── automation_executor_tools.py # 自动化执行工具
├── ml_models/ # 机器学习模型
│ ├── ttp_predictor.py # TTP预测引擎
│ └── attack_graph.py # 攻击图分析
├── intelligence/ # 威胁情报
│ ├── mitre_attck.py # MITRE ATT&CK框架
│ └── ioc_enrichment.py # 指示器丰富
├── playbooks/ # 响应剧本
│ └── executor.py # 剧本执行引擎
└── utilities/ # 实用工具
├── task_manager.py # 异步任务管理
└── cache.py # 缓存
# 创建虚拟环境
python -m venv .venv
# 激活虚拟环境(Windows)
.venv\Scripts\activate
# 激活虚拟环境(Linux/Mac)
source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 复制环境变量文件
cp .env.example .env
# 编辑.env文件(输入Azure信息)
vi .env
所需环境变量:
AZURE_SUBSCRIPTION_ID=your-subscription-id
AZURE_RESOURCE_GROUP=your-resource-group
AZURE_WORKSPACE_NAME=
AZURE_WORKSPACE_ID=your-workspace-guid
选项A:Azure CLI(推荐用于开发/测试)
az login
az account set --subscription your-subscription-id
选项B:服务主体(推荐用于生产)
# 设置在.env中
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
python server.py
# 深入事件分析
{
"tool": "threat_event_analysis",
"parameters": {
"incident_number": 12345,
"timespan": "24h"
}
}
# 结果:
# - MITRE ATT&CK映射
# - 提取的IoC列表
# - 威胁总结和建议
# 基于观察到的TTP预测
{
"tool": "next_ttp_prediction",
"parameters": {
"observed_tactics": ["TA0001", "TA0002", "TA0003"],
"observed_techniques": ["T1566", "T1059", "T1053"],
"time_elapsed_minutes": 120,
"top_k": 5
}
}
# 结果:
# - 下一预期战术(带概率)
# - 下一预期技术(带概率)
# - 攻击可能性分析
# - 防御建议
# 自动生成响应计划
{
"tool": "response_plan_generation",
"parameters": {
"incident_number": 12345,
"auto_match": true
}
}
# 结果:
# - 匹配的剧本
# - 执行计划(行动列表)
# - 审批要求
# - 预期影响
# 执行勒索软件响应剧本
{
"tool": "execute_playbook",
"parameters": {
"playbook_id": "pb_ransomware_001",
"incident_data": {
"host": "DESKTOP-001",
"account": "user@company.com",
"severity": "Critical"
},
"auto_approve": false,
"execute_immediately": false
}
}
# 结果:
# - 生成的行动列表
# - 待审批的行动
# - 自动批准的行动
# - 下一步指南
此MCP服务器仅设计用于测试/开发环境。
生产使用额外考虑:
Azure Sentinel:
Microsoft.OperationalInsights/workspaces/readMicrosoft.OperationalInsights/workspaces/query/*/readMicrosoft.SecurityInsights/*/read自动化执行(可选):
Microsoft.SecurityInsights/incidents/writeMicrosoft.Logic/workflows/run/action# 添加到playbooks/executor.py
custom_playbook = ResponsePlaybook(
playbook_id="pb_custom_001",
name="自定义响应剧本",
description="特定场景的响应",
trigger_conditions={
"severity": ["Critical"],
"techniques": ["T1234"]
},
actions=[
ResponseAction(
action_id="act_custom_001",
action_type=ActionType.BLOCK_IP,
target="恶意IP",
requires_approval=False
)
],
execution_mode="semi_auto"
)
# tools/custom_tools.py
from tools.base import MCPToolBase
class MyCustomTool(MCPToolBase):
name = "my_custom_tool"
description = "自定义分析工具"
async def run(self, ctx: Context, **kwargs) -> Dict:
# 实现
return self.wrap_result({"data": "结果"})
def register_tools(mcp: FastMCP):
MyCustomTool.register(mcp)
# 重新认证Azure CLI
az logout
az login
az account set --subscription your-subscription-id
# 在task_manager.py中增加超时
timeout=120.0 # 默认60秒
# 检查Python路径
export PYTHONPATH="${PYTHONPATH}:$(pwd)"
版权所有 (c) 2025 jmstar85. 保留所有权利。
本软件及其相关文档文件(以下简称“软件”)是jmstar85的专属财产。软件的所有权利、所有权和利益均归jmstar85所有。
本项目仅供教育和研究目的使用。
软件按“现状”提供,不附带任何形式的保证,无论是明示的还是暗示的。在任何情况下,版权所有者均不对因使用软件而产生的任何索赔、损害或其他责任负责。
如有许可咨询或请求,请联系仓库所有者。
欢迎功能改进和错误修复。
构建日期:2025 版本:1.0.0