安全工程

安全调查 Agent 要在证据图上回溯,而不是在日志里自由聊天

SherAgent 的生产实践表明,SOC 调查自动化的关键不是让 LLM 直接判断告警,而是用受约束查询、语义剪枝、调查树和显式失败终态,在日志缺失与依赖爆炸之间建立可审计的 query-filter-backtracking 控制环。

来源说明

本文基于 2026-07-13 的每日深度技术研究发布流程写成。当天最强的新材料不是又一个“多 Agent 安全平台”,而是一套在真实 SOC 中运行的调查控制环:SherAgent 从告警的 Point of Interest 出发,在 provenance 数据上反复执行受约束查询、语义过滤、分支选择和回溯,专门处理生产环境里同时存在的两类问题——日志缺失造成的因果链断裂,以及宽查询造成的依赖爆炸。

核心来源如下:

  • Zhenyuan Li、Zhengkai Wang、Ling Jiang 等:SherAgent: Scaling Attack Investigation in the Wild via LLM-Empowered Iterative Query-Filter Backtracking, arXiv:2607.09176v1,提交于 2026-07-10。作者与一家服务数十亿用户的大型互联网企业 SOC 合作,研究超过 10,000 个高严重度告警,并报告系统已在生产中处理 53,849 个真实告警。
  • arXiv HTML:SherAgent 全文。本文据此核对了 query generation、branch filtering、investigation tree、re-query、终止条件、实验集选择、基线、错误归因和用户研究。
  • Fang 等:Back-Propagating System Dependency Impact for Attack Investigation,USENIX Security 2022。DepImpact 用判别式 dependency weight、反向影响传播和正向因果分析裁剪攻击依赖图,是 SherAgent 对比的传统 provenance investigation 基线之一。
  • Open Cybersecurity Schema Framework:OCSF 官方 schema 仓库。OCSF 为安全事件提供跨产品的标准化类别、事件类、对象和属性;SherAgent 的生产日志基础设施使用 OCSF 规范组织进程、文件和网络活动。
  • 本站 2026-06-15:Agent 编排在网络安全里的正确位置。那篇文章讨论 SOC、白盒扫描、检测工程和修复验证的通用编排原则;本文只讨论告警调查中的 provenance query-filter-backtracking。

事实边界:SherAgent 的系统机制、样本、指标和作者报告结果来自论文。本文没有访问其私有生产数据,也没有复现系统。本文提出的 InvestigationCase 数据模型、权限划分、状态机、质量门、SOP 和一周验证计划是我的工程建议,不是论文作者声明的通用生产标准。全文只讨论组织自有或明确授权环境中的防御调查,不提供针对第三方目标的攻击流程。

站内重复检查:本站已有安全 Agent 通用编排、白盒扫描验证漏斗、Agent 安全审计门和代码 Agent 证据包。本文的差异点是一个更窄的运行时问题:如何让 Agent 在不完整、嘈杂的 provenance telemetry 上推进调查,并且让“证据不足,无法定位入口”成为合法结果,而不是生成一个听起来合理的故事。

稳定 slug:2026-07-13-provenance-investigation-query-filter-backtracking

先给结论

SOC 调查 Agent 的核心产品不应该是聊天窗口,而应该是一棵可回放的调查树。

Agent 可以帮助分析命令行、文件路径、URL 和威胁情报,也可以根据当前证据调整查询范围;但它不应该自由生成任意 SQL、一次吞下所有相邻日志,再直接输出“攻击入口”。生产系统需要把模型夹在两个确定性边界之间:前面是可审计的查询模板和数据权限,后面是结构约束、证据充分性规则和人工复核。

flowchart LR
  A["Alert / POI"] --> B["Query planner<br/>template + bounded predicates"]
  B --> C["Provenance store<br/>process / file / network"]
  C --> D["Semantic filter<br/>rank + counter-evidence"]
  D --> E["Investigation tree<br/>New / Tracing / Used"]
  E --> F{"Evidence sufficient?"}
  F -->|"yes"| G["Evidence-backed report"]
  F -->|"no, branches remain"| H["Adjust query / backtrack"]
  H --> B
  F -->|"no, exhausted"| I["Uninvestigable<br/>missing evidence"]
  G --> J["Human verification / response"]
  I --> J

SherAgent 最值得复用的不是某个 prompt,而是 query -> filter -> update tree -> audit -> re-query/backtrack 这个闭环。它把 LLM 用在传统系统薄弱的语义判断上,同时用模板、状态和终止规则限制 LLM 的自由度。

我的工程判断是:第一版安全调查 Agent 只应该自动生成“证据包 + 建议结论”,不应该自动隔离主机、封禁账号、删除文件或关闭高危告警。它的首要质量指标也不是自报成功率,而是经分析员复核的入口定位正确率、错误结论率、不可调查识别率、证据压缩比和跨运行一致性。

技术问题:因果链断裂与依赖爆炸同时存在

provenance-based investigation 通常把系统活动表示成图:进程、文件、网络端点等是节点,创建、执行、读取、连接等活动是边。分析员从触发告警的 POI 向后追踪,寻找初始入口和中间步骤。

理想图里,这是一条连续反向路径。生产环境不是理想图。

生产问题典型原因直接后果错误补救
relationship missing采集丢失、日志合并、反取证两个真实相关实体没有边认定链条已到终点
entity missing虚拟设备、外部设备、保留期中间进程或文件完全不存在在全库做无限宽搜索
attribute missing字段裁剪、规范化损失缺 CmdLine、路径或 URL让模型凭常识补全
dependency explosionhub process、共享文件、宽时间窗返回数百至数万无关节点把所有结果塞给 LLM
semantic ambiguity正常运维与恶意行为结构相似路径连通但意图判断错误把“异常”等同于“恶意”

SherAgent 论文的经验研究指出,真实调查失败的主因包括 telemetry 缺失、查询噪声、无效查询调整和错误结果判断。论文从生产数据中选出的 125 个 broken-chain case 里,系统针对 relationship、entity 和 attribute missing 报告的恢复成功率分别为 93.9%、78.3% 和 88.9%。这说明断链不是一个统一异常,三类缺失需要不同查询恢复策略。

另一端是依赖爆炸。查询过窄会漏掉断链两侧的证据;查询过宽又会让模型在噪声里迷路。论文的对比中,SherAgent 平均分析约 136 个节点,最终调查树保留 14 个;传统对比系统可能分析数百到上万个节点。这不是“越少越好”的证明,而是表明调查系统必须分别度量检索负载和最终证据集规模。

真正的技术问题因此不是“LLM 能不能读日志”,而是:系统如何在每一轮都选择足够宽、但仍可解释的查询范围;如何保留替代分支;如何区分真实因果边与只由语义推断得到的潜在相关;以及何时承认现有 telemetry 不足以形成结论。

机制拆解一:让模型填查询参数,不让模型发明数据权限

SherAgent 用预定义 SQL 模板限制 query generation。模型负责根据当前 alert 或 branch 判断查询方向、实体、动作和匹配条件,模板负责限制允许访问的表、字段、谓词形状和返回规模。

这个边界很重要。完全固定的图遍历依赖连续边,遇到断链就停止;完全自由的 text-to-SQL 又可能扩大权限、产生昂贵查询、读取不必要字段,甚至让不可信日志内容影响查询结构。

我会把查询接口设计成受限对象,而不是 SQL 字符串:

type InvestigationQuery = {
  caseId: string;
  templateId:
    | "process-parent"
    | "process-children"
    | "file-origin"
    | "file-activity"
    | "network-origin";
  entity: {
    type: "process" | "file" | "network_endpoint";
    normalizedValue: string;
  };
  timeWindow: { from: string; to: string };
  relaxationLevel: 0 | 1 | 2;
  maxRows: number;
  reason: string;
  parentEvidenceIds: string[];
};

执行器再把它编译成参数化查询。Agent 无权选择数据库、租户、任意列、任意 join 或无限时间范围。reasonparentEvidenceIds 让每次扩查询都能回答“基于什么证据、为什么需要更宽范围”。

论文给出的 adjustment 策略也值得产品化。例如 file source 查询无结果时,可以逐级移除扩展名或匹配父路径。关键是“逐级”:每次放宽都有明确级别、预算和回退点,而不是一句“请尝试别的搜索”。

query_policy:
  file-origin:
    level_0: exact_path
    level_1: normalized_name_without_extension
    level_2: parent_path_and_time_window
    max_rows: [50, 100, 200]
    max_attempts: 3
    forbidden_fields: [raw_secret, credential_value, unrelated_user_content]

论文把这种做法称为用 existence-based query 跨过严格连接缺失。我的补充边界是:跨过断链不等于修复因果关系。检索到的事件只能先形成 potential_correlation,不能直接伪装成观测到的因果边。

机制拆解二:语义过滤要同时输出支持与反证

传统 graph traversal 擅长连接,未必理解意图。相同的 file read,在数据外传场景里要追读取者,在解压场景里要追文件来源;相同的 PowerShell 父子关系可能是入侵链,也可能是正常开发工具行为。

SherAgent 为日志补充 CmdLine、完整路径、drive type 等语义字段,再让模型从候选事件中选择最可能推进调查的分支。论文报告其关键节点 Top-1 命中率为 95.4%,而对比的 DepImpact 为 14.2%。这个结果来自作者选定的生产评测集,不能直接外推到其他日志质量、威胁类型和基础模型,但它支持一个工程判断:语义判断应放在结构查询之后,承担排序和剪枝,而不是取代数据检索。

我会要求 filter 输出结构化判据:

{
  "candidate_event_id": "evt-1832",
  "decision": "keep",
  "relation": "potential_correlation",
  "support": [
    "command line references the queried script path",
    "event time is within 12 seconds of the POI"
  ],
  "counter_evidence": [
    "parent process is a commonly used IDE",
    "no direct process-to-file execution edge was collected"
  ],
  "next_query_template": "file-origin",
  "confidence": 0.72
}

这里的 counter_evidence 不是装饰。没有反证字段,模型很容易把“能讲通”当成“已证实”。relation 也必须区分:

  • observed_causal:原始 telemetry 存在直接事件。
  • derived_causal:由多条确定性规则推导,可重放。
  • potential_correlation:基于时间、路径或命令语义提出,待验证。
  • rejected:曾被考虑但已被证据否定。

最终报告可以包含 potential correlation,但不能把它渲染成已观测事实。

机制拆解三:调查树是工作状态,不是对话历史

SherAgent 用 tree-structured state 记录调查进度,边带有 source、sink、relationship、timestamp 和补充语义,分支带 NewTracingUsed 状态。它的作用有三个:避免模型忘记长程调查状态;保留未探索替代分支;在当前路径失败时回溯,而不是从头重聊。

一个最小状态机可以这样实现:

stateDiagram-v2
  [*] --> New
  New --> Tracing: selected by priority policy
  Tracing --> Used: query produced reviewed evidence
  Tracing --> Exhausted: budget reached or no useful results
  Tracing --> New: newly discovered branches
  Used --> Reopened: global audit finds contradiction
  Reopened --> Tracing
  New --> Rejected: counter-evidence dominates
  Exhausted --> [*]
  Rejected --> [*]

对应的数据对象应独立于 prompt:

type InvestigationCase = {
  id: string;
  alertRef: string;
  tenantId: string;
  poi: EvidenceRef;
  status:
    | "investigating"
    | "entry-identified"
    | "uninvestigable"
    | "needs-human-review";
  nodes: Array<{
    id: string;
    entityType: "process" | "file" | "network_endpoint";
    evidenceRefs: string[];
  }>;
  edges: Array<{
    source: string;
    sink: string;
    relation: "observed_causal" | "derived_causal" | "potential_correlation";
    evidenceRefs: string[];
  }>;
  branches: Array<{
    id: string;
    state: "new" | "tracing" | "used" | "exhausted" | "rejected";
    queryAttempts: string[];
    support: string[];
    counterEvidence: string[];
  }>;
  budgets: { maxQueries: number; maxRows: number; maxCostUsd: number };
  reviewer?: { id: string; verdict: string; timestamp: string };
};

调查树和聊天摘要的差异在于可寻址。系统可以检查某个结论引用了哪些 event ids、哪些 branch 尚未探索、某条 potential correlation 是何时加入的,也可以在新 telemetry 到达后只重开受影响分支。

机制拆解四:显式失败比幻觉成功更有价值

安全调查存在真实不可解情况:日志已经过期,关键设备没有采集,URL 被统一代理域名遮蔽,或者查询噪声持续压过有效事件。此时正确输出是 uninvestigable,并列出缺失证据,不是选一个最像入口的节点。

SherAgent 把最终判断与若干攻击类型的完成条件对照;若未定位入口但仍有未探索分支,就继续调查;若分支耗尽,就记录失败。论文专门选取了 25 个 legacy SOC baseline 会“幻觉成功”的不可调查案例,SherAgent 三次运行中分别仍在 3、2、2 个案例上产生幻觉成功,而 baseline 是 22、18、17 个。这说明结构化流程显著降低了问题,却没有消灭它。

生产 release gate 应至少包含:

终态必要条件允许的自动动作
entry-identified入口实体、证据链、替代解释、完整性检查均存在生成报告、开调查工单
uninvestigable分支耗尽或关键 telemetry 明确缺失请求补采、延长保留、转人工
needs-human-review高影响但证据冲突;预算耗尽但仍有候选分派资深分析员
benign-explained正常行为解释有原始证据且无未决高风险分支建议关闭,仍需策略许可

任何终态都不应仅由一段自然语言结论触发主机隔离、账户禁用或数据删除。动作层需要独立策略和人工批准。

工程判断:把 LLM 放在查询编译器与证据验证器之间

我会把生产架构拆成五层:

flowchart TB
  subgraph Data["Telemetry plane"]
    A["EDR / SIEM / cloud logs"] --> B["OCSF normalization"]
    B --> C["Provenance store"]
  end
  subgraph Control["Deterministic control plane"]
    D["Case state machine"]
    E["Query compiler + RBAC"]
    F["Budget / timeout / audit"]
  end
  subgraph Semantic["Bounded model plane"]
    G["Query intent selector"]
    H["Semantic branch ranker"]
    I["Evidence sufficiency reviewer"]
  end
  subgraph Evidence["Evidence plane"]
    J["Investigation tree"]
    K["Immutable query results"]
    L["Rendered report"]
  end
  subgraph Human["Decision plane"]
    M["SOC analyst"] --> N["Response workflow"]
  end
  D --> G --> E --> C
  C --> K --> H --> J
  J --> I --> D
  F --> D
  J --> L --> M

工具栈不必照抄论文。第一版可用现有 SIEM/ClickHouse/数据湖承载查询,用 OCSF 或内部等价 schema 统一 process/file/network 事件,用关系表或轻量图视图构造 investigation tree,用工作流引擎持久化状态。是否使用图数据库取决于已有基础设施;核心是边类型和证据引用,而不是某个数据库品牌。

模型也不需要同时承担三种角色。query intent selector、branch ranker 和 sufficiency reviewer 可以使用不同 prompt,最好对高风险结论使用独立模型或确定性规则复核,降低同一偏差贯穿全流程的概率。

一个可落地的执行 SOP

1. Intake 与权限固定

输入是 alert_id、tenant、POI、时间窗、允许的数据域和调查预算。系统在任务开始时签发只读、case-scoped 凭据。Agent 不获得响应权限,也不能切换 tenant。

2. 建立初始证据

把告警原文、关联 event id、检测规则版本、资产和身份上下文写入 immutable case bundle。缺少这些字段时先补数据,不启动开放式推理。

3. 选择受约束查询

Agent 只能从模板表中选择 query intent 并填参数。编译器负责参数化、RBAC、行数限制、时间窗和敏感字段裁剪。每次查询记录 input hash、template version、执行耗时和结果引用。

4. 语义排序与树更新

模型对候选事件给出支持、反证、关系类型和 next step。结构验证器拒绝没有证据引用的边;potential correlation 保持显式标签。每轮只推进少量高优先分支,其余保留为 new

5. 全局审计与回溯

每轮后检查时间顺序、实体一致性、分支冲突、未探索替代路径和预算。当前分支无进展时,先执行预定义 relaxation,再标记 exhausted 并回到其他分支。

6. 形成终态

满足入口类型的证据规则时生成候选报告;所有分支耗尽时输出 uninvestigable;存在高影响冲突时转 needs-human-review。报告必须从 investigation tree 和原始证据渲染,不能让模型重写 verdict。

7. 人工审核与反馈

分析员确认入口、纠正关系、补充缺失事件并选择响应动作。反馈进入评测集和查询策略 backlog,不直接无审核地写回 prompt 或规则库。

数据与权限边界

组件可读可写明确禁止
query planner脱敏 case state、模板目录query object原始数据库、任意 SQL
query executorquery object、case credentialimmutable result set跨 tenant、超预算查询
branch ranker当前结果、调查树、允许的威胁知识branch scores、evidence refs修改原始日志
state machine结构化结果、策略branch state、case status自行执行响应动作
report renderer已验证 tree、终态signed report改写证据等级
SOC analyst完整 case bundleverdict、response approval绕过审计修改历史证据

日志内容本身是不可信输入。CmdLine、文件名和 URL 可能包含提示注入式文本,因此它们应作为 quoted data 进入模型,和系统指令、查询模板、威胁知识分角色隔离。模型输出也必须经过 schema validation,不能直接拼进 SQL 或响应 API。

可验证指标

第一版至少同时测正确性、证据质量、效率、稳定性和安全边界:

维度指标建议定义
调查正确性verified entry-point precision人工确认入口 / Agent 报告入口
覆盖investigable-case success rate正确定位入口 / 确认可调查案例
诚实失败uninvestigable precision/recall正确识别证据不足的能力
错误风险incorrect conclusion rate错入口、错因果或无效结论占比
断链恢复recovery success by missing type分 relationship/entity/attribute 统计
剪枝质量critical-node Top-k hit rate真实关键节点在排序前 k 的比例
证据压缩analyzed-to-retained ratio查询节点数 / 最终证据节点数
稳定性repeated-run agreement同一 case 多次运行终态一致率
效率p50/p95 time、queries、rows、cost每案端到端资源消耗
人效analyst minutes saved与盲测人工基线对比
权限policy violation count跨租户、超字段、超预算尝试

最需要警惕的是自报 success rate。SherAgent 论文指出,legacy tool 的自报成功率与人工审计后的 64.7% 存在明显差距。生产 dashboard 必须以抽检或完整标注后的 verified metric 为准,并同时展示抽检率。

成本估算与容量规划

论文报告 SherAgent 每次调查 API 成本低于 0.10 美元、耗时少于 4 分钟,10 名安全从业者的用户研究中有一半报告每案节省超过 10 分钟。这里不能直接换算成本收益:模型价格、日志查询成本、case 难度、人工工资和抽检比例都会改变结果。

内部试验可用下面的简单模型:

weekly_value = verified_cases * analyst_minutes_saved * loaded_hourly_cost / 60
weekly_cost  = model_cost + log_query_cost + storage_cost + review_minutes * loaded_hourly_cost / 60
roi          = (weekly_value - weekly_cost) / weekly_cost

容量规划还要单独看 p95,而不只看均值。少数 dependency explosion case 可能消耗大部分查询和 token。每案的 max queries、max rows、max model cost 和 wall-clock timeout 必须是硬预算,超限后转人工而不是无限续跑。

失败模式与回滚方案

失败模式影响检测回滚/兜底
日志已过保留期无法定位初始入口查询时间早于可用边界输出 uninvestigable,补采或延长保留
宽查询引入噪声走错分支、成本上升rows/query、分支熵异常回滚到上一个 tree checkpoint,缩窄谓词
relaxation 过度假相关变多potential correlation 占比升高降级关系等级,强制人工复核
模型被日志文本诱导查询偏航或越权建议schema/策略拒绝、canary fields丢弃该轮输出,切换安全模板
同一模型重复自证幻觉被写成结论缺独立 evidence refs独立 reviewer 或确定性完成条件复核
终止条件过早漏掉真实入口仍有高优先 new branchreopen case,恢复 checkpoint
终止条件过晚查询风暴budget/timeout 告警标记 needs-human-review
报告夸大关系推测被当成事实report/tree relation mismatch只从结构化 tree 渲染报告
自动响应误触发业务中断response policy audit第一版禁用自动响应,保留人工批准

回滚单位应是调查状态,不是数据库。每次 tree 更新写 append-only event,并周期性做 checkpoint。错误分支可以标记 rejected 或回滚到前一 checkpoint,但原始 query result 和模型判断不能被覆盖删除,便于事故复盘和策略改进。

一周内如何实现与验证

我不会第一周就接生产自动响应。目标是用历史 case 做 shadow evaluation,证明调查树和受约束查询比现有聊天式助手更可复核。

第 1 天:定义 schema 与样本。 选 30-50 个已结案告警,覆盖完整链、relationship missing、entity missing、attribute missing 和不可调查案例。冻结 ground truth 与分析员说明。

第 2 天:实现五类 query template。 只覆盖 process parent/child、file origin/activity、network origin;加入 tenant、时间窗、max rows 和字段 allowlist。

第 3 天:实现 investigation tree。 支持 branch state、三类关系、evidence ref、checkpoint 和预算。先用规则驱动,不接模型也能回放。

第 4 天:接入两个模型角色。 一个只做 query intent/参数选择,一个只做 branch ranking/support/counter-evidence。所有输出走 JSON Schema 校验。

第 5 天:实现终止门和报告 renderer。 把 entry-identified、uninvestigable、needs-human-review 做成显式状态;报告完全从 tree 渲染。

第 6 天:三次重复盲测。 对每个历史 case 运行三次,记录正确率、错误率、不可调查识别、Top-k、节点规模、时间、成本和一致率;与当前人工流程或 naive LLM baseline 对比。

第 7 天:分析员复核。 不展示系统名称,随机化报告顺序,让分析员评估入口、证据完整性、清晰度和节省时间。只有错误结论率和权限违规均在预设阈值内,才进入只读 shadow deployment。

一个务实的首周放行门可以是:零跨租户/越权查询;所有结论都有原始 evidence refs;不可调查案例不被强行判成功;相较 naive baseline,错误结论率下降且分析员复核时间有统计上稳定的改善。不要用“模型写得更专业”作为放行理由。

适用场景

这套方法适合已经有较成熟 EDR/SIEM、结构化 process/file/network telemetry 和安全分析员团队的组织,用于高严重度告警的只读调查、证据整理和入口定位。它尤其适合断链常见、单案需要反复改查询、人工主要耗时在日志筛选的环境。

它不适合日志基础薄弱、事件身份无法稳定关联、没有 ground truth 与复核人员的团队。也不适合把自由文本日志直接交给高权限 Agent,再期待模型自动完成处置。调查自动化不能弥补完全没有采集的数据;61.8% 的论文错误案例被归因为日志保留期到期,这个结果本身就在提醒:数据工程可能比换更强模型更重要。

局限分析

第一,论文虽报告处理 53,849 个生产告警,但持续成功率来自每天 10 个案例、共 980 个案例的 spot-check,约占全部告警 2%。这比实验室数据强得多,但不是全量 ground truth。

第二,细粒度对比集是有选择的。125 个案例来自存在日志缺失的子集,另有 25 个专门挑选的 baseline 幻觉成功案例,以及 50 个日志完整的随机案例。作者也明确承认该选择对 SOC baseline 不利。92.2% 实验成功率应在这个采样边界内理解。

第三,生产环境、schema、查询模板、五类攻击完成条件和安全团队经验高度相关。把模板迁移到另一家公司并不会自动复现结果,尤其是 SaaS、容器、身份云和 OT 环境的实体关系不同。

第四,作者使用 DeepSeek-V3.1、64k max completion tokens 和 0.6 temperature,并展示框架跨多个模型仍有优势;但 88.5% 三次运行一致率说明非确定性仍然存在。高风险结论不能只运行一次。

第五,potential correlation 能跨过断链,也会引入伪因果风险。时间接近、路径相似和命令行引用只是关联信号,必须在报告中保留关系等级和证据缺口。

第六,本文没有复现论文,也没有评估隐私、数据驻留、模型供应链和敏感日志出域问题。真实部署需要本地模型或合规推理端点、字段脱敏、访问审计和数据保留策略。

自审

  • 事实可靠性:关键数字、机制和限制均核对论文全文;OCSF 与 DepImpact 使用官方仓库或论文原文。
  • 来源完整性:区分论文作者报告、既有方法和本文工程建议;未把生产 spot-check 写成全量人工验证。
  • 原创性:没有复述 abstract,而是把 query-filter-backtracking 转译为受限查询对象、调查树状态机、关系等级、权限矩阵、质量门和一周实验。
  • 站内差异:不重复安全 Agent 通用编排或白盒扫描验证,聚焦 provenance investigation 的断链、依赖爆炸和诚实失败。
  • 工程价值:包含架构图、状态机、数据模型、配置示例、SOP、指标、成本模型、失败回滚和上线计划。
  • 安全边界:只讨论授权环境中的防御调查;第一版明确只读,不提供第三方攻击步骤,不允许 Agent 自动执行高风险响应。
  • 标题与边界:标题表达系统设计判断,不夸大论文结果;文章明确写出采样偏差、2% 抽检、模型非确定性和不可推广部分。
  • 发布判断:材料足够支撑一篇安全工程支柱补充,达到“真实问题、原始来源、机制拆解、工程判断、失败分析、可验证方案”的发布门槛。