mirror of
https://github.com/FunnyWolf/agentic-soc-platform.git
synced 2026-08-22 13:12:56 +02:00
update prompt
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="ASP" type="Python.DjangoServer" factoryName="Django server">
|
||||
<module name="agentic-soc-platform" />
|
||||
<option name="ENV_FILES" value="" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
<env name="DJANGO_SETTINGS_MODULE" value="ASP.settings" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="SDK_NAME" value="uv (agentic-soc-platform)" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="false" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="net.ashald.envfile">
|
||||
<option name="IS_ENABLED" value="false" />
|
||||
<option name="IS_SUBST" value="false" />
|
||||
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
|
||||
<option name="IS_IGNORE_MISSING_FILES" value="false" />
|
||||
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
|
||||
<ENTRIES>
|
||||
<ENTRY IS_ENABLED="true" PARSER="runconfig" IS_EXECUTABLE="false" />
|
||||
</ENTRIES>
|
||||
</EXTENSION>
|
||||
<option name="launchJavascriptDebuger" value="false" />
|
||||
<option name="port" value="7000" />
|
||||
<option name="host" value="0.0.0.0" />
|
||||
<option name="additionalOptions" value="" />
|
||||
<option name="browserUrl" value="" />
|
||||
<option name="runTestServer" value="false" />
|
||||
<option name="runNoReload" value="false" />
|
||||
<option name="useCustomRunCommand" value="false" />
|
||||
<option name="customRunCommand" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
@@ -1,6 +1,6 @@
|
||||
以下是本次会话的数据:
|
||||
|
||||
### 案件背景 (Case Context)
|
||||
### 案件原始信息 (Case Context)
|
||||
|
||||
{case}
|
||||
|
||||
|
||||
@@ -32,8 +32,7 @@ Objective)。
|
||||
1. **威胁预判 (Prioritize)**:优先分析`严重`或`高`级别的警报,它们是调查的起点。
|
||||
2. **确定支点 (Identify Pivot)**:从警报涉及的实体中,选择最可疑、信息最丰富的作为调查的“支点”。通常是具有不良信誉的外部IP、或发生异常行为的关键内部资产。
|
||||
3. **构建假设 (Formulate Hypothesis)**:基于警报类型,提出一个可被验证的假设性目标,旨在确认威胁的真实性并评估其影响。
|
||||
* *示例*:对于“高危警报:检测到PowerShell混淆执行”,您的目标应该是:“确认在主机 `DEV-WEB-03`
|
||||
上检测到PowerShell混淆执行警报后,是否存在成功的代码执行或持久化后门”。
|
||||
* *示例*:对于“高危警报:检测到PowerShell混淆执行”,您的目标应该是:“确认在主机 `DEV-WEB-03`上检测到PowerShell混淆执行警报后,是否存在成功的代码执行或持久化后门”。
|
||||
|
||||
# 输出约束
|
||||
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
|
||||
请根据以下信息,生成下一步的调查计划。
|
||||
|
||||
### 本轮猎杀的“作战目标”
|
||||
### 案件原始信息
|
||||
|
||||
{case}
|
||||
|
||||
### "作战目标"
|
||||
|
||||
<hunting_objective>{hunting_objective}</hunting_objective>
|
||||
|
||||
@@ -10,7 +14,7 @@
|
||||
|
||||
<iteration_count>{iteration_count}</iteration_count>
|
||||
|
||||
### “调查发现”
|
||||
### 历史"调查发现"
|
||||
|
||||
以下是迄今为止收集到的所有调查发现、问题及结论:
|
||||
|
||||
@@ -20,11 +24,11 @@
|
||||
|
||||
**核心任务**:
|
||||
|
||||
综合上述所有信息(“作战目标”、“当前迭代轮次”以及**特别是**“调查发现”),请判断:
|
||||
综合上述所有信息("案件原始信息"、"作战目标"、"当前迭代轮次"以及**特别是**"调查发现"),请判断:
|
||||
|
||||
1. 是否需要进行进一步调查来完成“作战目标”?
|
||||
1. 是否需要进行进一步调查来实现"作战目标"?
|
||||
2. 如果需要,下一步最合理、最有效且可并行执行的调查问题是什么?
|
||||
|
||||
如果“作战目标”已达成,或者无法进行进一步调查,请返回一个空计划(`current_plan` 为空列表)。
|
||||
如果"作战目标"已达成,或者无法进行进一步调查,请返回一个空计划(`current_plan` 为空列表)。
|
||||
|
||||
**请严格遵循系统提示中定义的JSON格式进行输出。**
|
||||
|
||||
@@ -2,15 +2,21 @@
|
||||
|
||||
### 1. 猎杀目标
|
||||
|
||||
<hunting_objective>{hunting_objective}</hunting_objective>
|
||||
<hunting_objective>
|
||||
{hunting_objective}
|
||||
</hunting_objective>
|
||||
|
||||
### 2. 调查过程(推理与任务)
|
||||
|
||||
<investigation_history>{planning_history}</investigation_history>
|
||||
<investigation_history>
|
||||
{planning_history}
|
||||
</investigation_history>
|
||||
|
||||
### 3. 技术发现(收集的证据)
|
||||
|
||||
<findings>{findings}</findings>
|
||||
<findings>
|
||||
{findings}
|
||||
</findings>
|
||||
|
||||
---
|
||||
基于上述内容,请撰写最终威胁猎杀报告。
|
||||
@@ -30,7 +30,7 @@ class PlanningRecord(BaseModel):
|
||||
# 可以在这里增加 helper 方法,方便转字符串
|
||||
def to_markdown(self) -> str:
|
||||
tasks_str = ", ".join(self.plan)
|
||||
return (f"### Round {self.iteration}\n"
|
||||
return (f"#### Round {self.iteration}\n"
|
||||
f"**Reasoning:** {self.rationale}\n"
|
||||
f"**Tasks Executed:** {tasks_str}\n")
|
||||
|
||||
@@ -54,18 +54,18 @@ class Finding(BaseModel):
|
||||
tool_calls: List = Field(default_factory=list, description="工具调用记录")
|
||||
|
||||
def to_markdown(self) -> str:
|
||||
return (f"---\n"
|
||||
return (f"\n"
|
||||
f"**Question:** {self.question}\n"
|
||||
f"**Reasoning:** {self.reasoning}\n"
|
||||
f"**Answer:** {self.answer}\n"
|
||||
f"---\n"
|
||||
f"\n\n\n"
|
||||
)
|
||||
|
||||
def to_markdown_for_planning(self) -> str:
|
||||
return (f"---\n"
|
||||
return (f"\n"
|
||||
f"**Question:** {self.question}\n"
|
||||
f"**Answer:** {self.answer}\n"
|
||||
f"---\n"
|
||||
f"\n\n\n"
|
||||
)
|
||||
|
||||
|
||||
@@ -402,7 +402,8 @@ class Playbook(LanggraphPlaybook):
|
||||
|
||||
findings_str = "\n".join(history_md_list)
|
||||
|
||||
human_message = self.load_human_prompt_template("Planner_Human", lang=PROMPT_LANG).format(hunting_objective=hunting_objective,
|
||||
human_message = self.load_human_prompt_template("Planner_Human", lang=PROMPT_LANG).format(case=state.case,
|
||||
hunting_objective=hunting_objective,
|
||||
findings=findings_str,
|
||||
iteration_count=iteration_count,
|
||||
)
|
||||
|
||||
@@ -362,7 +362,7 @@ class Playbook(object):
|
||||
return row_id
|
||||
|
||||
@staticmethod
|
||||
def update_status_and_remark(row_id, status: StatusType, remark):
|
||||
def update_status_and_remark(row_id, status: PlaybookStatusType, remark):
|
||||
fields = [
|
||||
{"id": "job_status", "value": status},
|
||||
{"id": "remark", "value": remark},
|
||||
|
||||
Reference in New Issue
Block a user