NDR/NTA

流量分析与响应

cyber-security-llm-agents

slides: https://static.rainfocus.com/rsac/us24/sess/1696450051794001VeSx/finalwebsite/2024_USA24_HTA-W08_01-From-Chatbot-to-Destroyer-of-Endpoints-Can-ChatGPT-Automate-EDR-Bypasses_1714416872968001dNfW.pdf

  • internet_agent: 「执行体」,具有下载网页文本和 detect_telemetry_gaps 功能(就是用 curl 下载 JSON 数据然后用 jq 过滤一下)
  • caldera_agent: 「执行体」,负责调用 caldera 的接口和返回结果
  • cmd_exec_agent: 「执行体」,负责切换到不同的工作目录执行系统命令
  • task_coordinator_agent: 「思考者」,负责处理用户输入进行决策,然后通过以上「执行体」执行具体操作

actions/agent_actions.py: 这个文件保存 prompts 字典,根据不同的「场景」使用不同的预设的提示词

startup

开始时通过场景从 actions/agent_actions.py 提取对应的提示词、对话 agent、其他配置项等,然后生出初始的任务参数,参数格式参考 AutoGen 文档

scenario_tasks dmeo

[{'recipient': <autogen.agentchat.conversable_agent.ConversableAgent object at 0x742d3b3499a0>, 'message': 'Get the ID of the active Caldera operation.', 'silent': False, 'clear_history': True, 'summary_method': 'last_msg', 'carryover': 'Replace this placeholder with the ID of the active Caldera operation.'}, {'recipient': <autogen.agentchat.conversable_agent.ConversableAgent object at 0x742d3b3499a0>, 'message': 'Get the PAW of the active Caldera agent by calling /api/v2/agents.', 'silent': False, 'clear_history': True, 'summary_method': 'last_msg', 'carryover': 'Replace this placeholder with the PAW of the active Caldera agent.'}, {'recipient': <autogen.agentchat.conversable_agent.ConversableAgent object at 0x742d3b3499a0>, 'message': 'Use powershell to display a message box on the desktop of the active Caldera agent containing a cyber security joke.', 'silent': False, 'clear_history': True, 'summary_method': 'last_msg'}]

可以看见初始对话都是面对 task_coordinator_agent 的,它是用户和应用沟通的桥梁,至于其他智能体都由它来「沟通交流」