Skip to content

01 Data Sources and Processing

jiale li edited this page Sep 26, 2026 · 9 revisions

AI 安全数据源与处理基线

English | 中文

本文固定 SecFusionAgent 在需求阶段的数据源分类、来源权威、本地持久化、索引、更新、检索与跨源关联策略,并记录当前已经完成的风险分类导向数据源补充。M1 情报监测、M2 证据留存与规范化、M3 情报富化共享这套基线。数据库产品、消息系统、向量检索实现、调度器、抓取框架和 Agent orchestration 由 Technical Design 决定。

赛题给出的 AI 安全风险参考分为四类:AI 基础设施 / 推理框架、模型与数据层、AI 应用与智能体、供应链。四类在需求层保持并列。本文固定通用数据处理策略和 AI 基础设施监测对象;模型/数据与 Agent/Application 专项语义见 04-AI-Model-Data-and-Agent-Application-Security,供应链 relation 与复用边界见 02-CTI-Baseline-Reuse-and-Ownership。

通用数据源

赛题要求持续监测 CVE/NVD、安全社区、厂商公告、安全博客,并同步采集 AI 安全论文、技术标准与政策法规;富化阶段继续关联论文、受影响互联网资产、PoC、CVSS 与影响评估。不同来源持有的事实和更新机制不同,系统按来源能力分配本地责任。

产品数据源 taxonomy 与处理路径是两个轴

当前产品 source taxonomy 固定为八类,并与 Website / source inventory 使用同一顺序:

  1. vulnerability:漏洞数据库;
  2. development:代码与开发平台;
  3. academic:学术研究;
  4. vendor:厂商技术材料与项目公告;
  5. independent:独立安全研究与安全社区;
  6. normative:法规、标准与治理框架;
  7. assets:互联网资产情报;
  8. incidents:事件与新闻信号。

八类描述产品需要覆盖的外部信息空间和 fact ownership,是 source inventory 的 coverage taxonomy,不等同于 SourceDefinition.source_class 的 runtime 细分类,也不要求 provider/source_id 一一互斥。一个 provider 可以产生多个 source stream;同一可执行 source stream 在确实承担多类信息职责时也可以支撑多个 coverage category。分类判断使用四项:事实归属、变化频率、重取成本、本地长期价值。例如 GitHub Global Advisory 支撑漏洞更新,而 target repo / PR / commit / release 支撑开发关系;Unit 42 一类独立研究源既可承担 independent research coverage,也可为 incidents 提供 forensic material。

source taxonomy 与 processing path 正交。M1–M3 的外部数据进入四条主处理路径:Bug Stream、Structured Development Index、Insight Corpus、Incident Watch;互联网资产走 M3 on-demand side path。processing path 决定发现、版本、retention、promotion 和 rebuild 机制,不改变 source authority。多个 source stream 共享处理机制时,source role、upstream source、authority、evidence maturity、applicability 与 provenance 仍逐条保留。

access mode 还是第三个独立属性,只描述 API/Git/RSS/Web/search/query 等“怎样拿到外部数据”。它不定义 source taxonomy,也不等同 processing path。Incident Watch 可以通过 RSS、Web、API 或 telemetry 接入;GitHub 的不同 source stream 可以共享 API access,却进入不同 processing path。

因此 assets 同时满足两个描述:它是正式的第七类产品数据源;它的处理路径是 time_bounded 的 M3 on-demand side path。赛题要求覆盖 ≥7 类来源,产品实际冻结八类。

Product category 典型来源 / 对象 外部持有的主要事实 SecFusionAgent 的责任
vulnerability CVE cvelistV5、NVD、OSV、CISA KEV、CNNVD/CNVD 漏洞身份、评分、弱点、受影响 package/version、已利用状态 维护 provider identity、被消费的证据版本与 canonical/source-specific enrichment
development GitHub advisory、repo、issue、PR、commit、release、package registry repo、版本、变更、advisory、开发历史、发布 建立稳定对象与开发关系,追踪新增、修改与 fix boundary
academic arXiv、Crossref、OpenAlex、OpenReview、Semantic Scholar、正式 proceedings paper identity、版本、发表状态、实验与评测 低成本 discovery + publication resolution;实际消费版本进入 durable evidence
vendor frontier lab / vendor research、PSIRT、security bulletin、system/model card 厂商观察、产品/模型版本、安全评测、patch/workaround 保留 first-party authority 与版本,抽取证据支持的 claim/control
independent Trail of Bits、Wiz、Unit 42、Talos、CERT/CC、oss-security、OWASP、MITRE ATLAS 等 独立复现、telemetry、漏洞研究、分类体系与跨厂商观察 保留独立来源链路,用于 corroboration、conflict 与新 relation/Insight
normative 国家网信办、国家标准平台、TC260、NIST、ISO、EUR-Lex 等 法规、标准、requirement、control、适用条件与状态 保存官方版本,抽取 requirement/control 并维护 jurisdiction/binding/version
assets Censys、Shodan、FOFA、ZoomEye 公网 host/service、端口、banner、证书、软件指纹与观测时间 以 query-bound AssetObservation 支撑受影响资产判断,保留 query 与 observed_at
incidents breaking news、telemetry、primary/forensic/authority source 现实事件信号、时间线、直接证据、处置与后续变化 建立 Signal→Candidate→durable Incident 生命周期,保留 source independence 与 material update

同一事件可以同时出现在多类来源。CVE 提供统一漏洞身份;NVD 在 CVE 基础上补充 CVSS、CWE、CPE 等信息;OSV 更接近 package/version/commit;CISA KEV 提供已知现实利用状态。GHSA、repo issue、PR 与 fix commit 补充受影响版本、真实修改边界和项目上下文。Vendor PSIRT 对自身产品版本与 patch 的判断通常具有更直接的权威;论文与研究博客覆盖 prompt injection、memory poisoning、RAG poisoning、Agent tool misuse 等不一定进入 CVE 的风险。

来源事实保留来源链路。后出现的评分、分析或修复信息形成新的观测,不覆盖首次披露和历史证据。

Source definition 与 runtime state

M1 把来源的静态能力定义与运行状态分开。source registry 持有“这个 source stream 是什么、怎样访问、怎样解释来源与时间”;cursor、next-due、failure/backoff 和 AcquisitionRun 属于 monitoring runtime state。

Definition 字段 语义
source_id / adapter_type 稳定来源身份与 provider adapter 类型
source_class runtime 细分类;不等同于八类 product coverage taxonomy
source_role / source_family / upstream_source primary/signal/forensic/authority 等作用、来源族与转载依赖
access_mode API、Git、RSS/feed、Web、search/query 等访问方式
update / identity / time semantics 如何发现变化、如何识别外部对象、如何解释 published/updated/observed/fetched time
auth / rate limit / access rights 凭据、限流与内容访问许可
retention_mode 选择 hot_window / selective_index / durable_managed / incident_signal / time_bounded processing path
schedule_policy 是否进入周期调度及其 cadence;可 query 不等于必须 schedule

运行状态单独保存 cursor、last attempt/success/change、next_due_at、failure/backoff/rate-limit state 和 durable AcquisitionRun。因此 live reachability、调度失败和 source taxonomy 不会混成同一个字段;禁用 scheduler 也不会取消 source 的 query capability。

调度频率依据 update semantics 单独配置。成熟数据库优先使用 delta、API 或 Git 增量;GitHub 按 repo/advisory/release/issue/PR/commit 的变化同步;博客、厂商公告和社区使用 RSS、API、页面更新时间或条件请求;论文平台按发布日期和索引增量更新。统一固定轮询周期无法表达这些来源的更新语义。

Processing path 与 access strategy

access_mode 描述如何取得外部数据;retention_mode 决定取得后进入哪条生命周期。最终 M1–M3 固定五种 processing path:

Hot Bug / hot_window

CVE/NVD 等高频 current vulnerability feed/query 进入可驱逐 working set。外部 canonical source 继续持有完整历史;被调查、引用、评测或形成长期 relation 的记录显式 promotion 到 durable Evidence/Knowledge。

Structured Development Index / selective_index

GitHub repo、issue、PR、commit、release 等稳定对象持续同步结构化身份与关系,正文/附件按需要固定。该路径承担 repo graph、fix boundary 和 release containment 等确定性关系。

Insight Corpus / durable_managed

厂商报告、博客、邮件列表、论文、规范文档和 forensic report 保存可复核原文/快照、元信息、content hash、解析结果与索引状态。正文语义变化产生新 revision;派生 chunk/embedding/semantic output 可以从固定版本重建。

Incident Watch / incident_signal

breaking/telemetry/researcher signal 先进入短生命周期 Signal/IncidentCandidate;达到 promotion 条件后形成 durable Incident。转载依赖通过 upstream_source 折叠,后续 material signal 追加 revision/timeline/evidence。

On-demand Observation / time_bounded

Internet asset intelligence、部分高成本 provider query 按漏洞或调查需要触发。结果保存 query、provider、filter、observed_at 与返回对象;只有被引用、评测或形成长期关系的 observation 再显式 promotion。

同一 provider 可以产生不同 source stream 并进入不同 path;单个 SourceDefinition.retention_mode 只选择一个 path,需要另一种生命周期时建立另一 source stream 或通过 promotion 转换状态。

本地数据层

本地状态按照 authority 与可重建关系分层;数据库产品只是实现选择。

数据层 保存内容 Authority / rebuild 语义
Source Definition + runtime state source capability、访问/时间/retention semantics;cursor、AcquisitionRun、health/backoff M1 runtime authority;不承载安全事实
Observation / Evidence Artifact 外部来源在某 revision 实际提供的字段、页面、文档或原始 bytes 外部证据固定层;immutable after acceptance
Canonical Knowledge Object / ExternalIdentifier / Claim / Relation 与 Knowledge revision/change 系统规范化事实与关系;每条 accepted assertion 回链 Evidence
Specialized durable state Managed Document、Normative Document/Requirement/Control、SecurityIncident/timeline 等 生命周期专用 durable state;不强塞进一个通用 object 表
Current Projection current vulnerability/fix/repo/incident 等 read model 从 durable state 可重建,不是 evidence authority
Retrieval Index full-text、dense vector、metadata/filter/index revision 从 document/knowledge state 可重建
Insight / analysis 主题、机制、攻击链、关联解释与 evidence-backed candidate 派生结果,引用固定证据和输入 revision

新外部读取无论由 M1 scheduler 还是 M3/M5 follow-up 触发,都重新进入 Acquisition + M2 Evidence boundary;M3/M5 不直接把 HTTP/tool output 写成事实。模型输出也不提升来源权威。

证据版本管理

一条被系统消费的证据需要恢复来源、外部对象 ID、原始 URL、来源发布时间、来源更新时间、抓取时间、外部版本或等价版本信息、content hash、被使用的原始字段或快照,以及从它抽取出的 normalized facts。

外部 mutable record 每次有语义变化时产生新观测。系统通过外部版本、ETag/Last-Modified、content hash 或 provider 自带更新时间判断变化。抓取失败和“内容没有变化”分别记录,避免把 source outage 解释成没有新情报。

同一来源重复抓取保持幂等。同一外部版本不产生重复观测;页面内容改变而外部版本未变化时,以 content hash 保留新的观测版本并记录异常。

Identity、去重与冲突

M2 使用强 identifier 和可复现 deterministic cross-reference 建立跨源稳定身份。CVE/GHSA/OSV/CNVD/CNNVD ID、repo full name、package PURL 或 ecosystem+name、commit SHA、DOI/arXiv ID 等原样保留为 ExternalIdentifier;不同 namespace 只有在来源明确 cross-reference 或 deterministic mapping 能证明同一对象时才自动归并。

名称/标题相似或 embedding proximity 只能形成 candidate,不能直接 merge durable object。无法确定同一性的记录保持分离,后续调查可以补证据再合并。

来源冲突保留平行 assertion。CVSS、applicability、fix status 等字段可以同时存在多个 source value;Current Projection 可以根据 authority/time 选择展示值,但不会删除或改写原 assertion。高权威来源更新后触发 projection、relation 与 derived index 重算。

检索与路由

查询层先判断用户或内部任务需要的对象类型,再选择数据路径。精确 ID、repo、package、version 和发布查询优先使用结构化对象与外部 query;跨对象依赖和修复传播使用 canonical Knowledge relation / structured graph state;博客、论文和长文中的机制解释使用全文与向量检索;需要最新外部状态或资产观测时触发 provider query。

一次查询可以合并多条路径。结构化结果负责确定对象和版本,文档检索补充解释与证据,canonical/structured relation 连接上下游,外部 query 刷新高时效字段。最终回答引用证据观测,retrieval index 的命中结果本身不作为事实来源。

检索索引持有 source_id、object/relation ID、证据版本与 index version。embedding model、chunking 或 ranking 逻辑改变时可以重建索引,并保留评测集所需的 index version。

数据生命周期

阶段 系统行为 产物
discover 发现来源新增、修改或 query target source ref / AcquisitionRun
acquire 获取外部 payload 并保留 source/object/revision identity IngestEnvelope
evidence 固定 Observation / Artifact / locator M2 Evidence
normalize 建立稳定 object/identifier 与 source-specific projection canonical/specialized state
link / enrich 建立 evidence-backed claim/relation、applicability、fix、PoC、asset 等 versioned Knowledge / specialized relation
project / index 构建 Current Projection、full-text/dense index rebuildable read/index state
analyze 形成 evidence-backed Insight/cluster/机制解释 derived analysis
serve 向 M4/M5/M6 暴露可追溯 current state、conflict、unknown 和 evidence investigation / decision input

任何派生层更新失败时,证据与 normalized object 保持可用;索引和洞察可以从上游状态重建。该约束防止检索实现反向成为知识的 source of truth。

风险分类导向的数据源补充

通用数据源解决“从哪里持续发现和获取材料”。四类 AI 安全风险定义各自的 anchor object、专项 relation、风险分类体系与评测集入口;各类共享 source registry、证据、object/relation 和 retrieval kernel。

AI 基础设施 / 推理框架

AI 基础设施风险目前具有最清晰的结构化对象体系:公开 repo、发布、advisory、issue、PR、commit、package、container 与 integration 可以围绕 repo 建立稳定 graph。本篇固定该类第一批监测对象和漏洞功能层。

以下数据为 2026-09-24 的调研快照。Stars 反映社区规模,repo-native advisory 表示仓库自身公开的 GitHub Security Advisory 数量;该数字不代表完整漏洞数量,NVIDIA PSIRT、GitHub Advisory Database、CVE 和公开 security issue 仍需要共同查询。

Repo Stars 功能位置 repo-native advisory 当前重点风险面 监测集合
vllm-project/vllm 92.6k LLM inference engine / server 83 资源耗尽、输入校验、反序列化、SSRF、cache、multimodal、distributed serving Core
sgl-project/sglang 36.4k LLM/VLM serving framework 0 API/control plane、pickle/RCE、auth、cache、PD/KV、profiling Core
ggml-org/llama.cpp 129.4k native inference runtime / GGUF 13 parser、memory corruption、GGUF、RPC、model loading Core
ollama/ollama 181.6k local model runtime / serving 0 model pull/create、SSRF、model 产物、API exposure Core
BerriAI/litellm 59.5k LLM gateway / proxy 14 auth、SSRF、credential、MCP、SQLi、sandbox、command execution Core
huggingface/transformers 166.6k model loader / runtime interface 0 malicious model/config、remote code、检查点、path Core
triton-inference-server/server 11.0k production model server 0 backend/plugin、model repository、network API、native runtime Core
NVIDIA/TensorRT-LLM 14.7k NVIDIA optimized LLM runtime 0 native/runtime、container、dependency、distributed serving Core
ray-project/ray 43.9k distributed runtime / Ray Serve 4 deserialization RCE、dashboard/auth、distributed control plane Extended
bentoml/BentoML 8.9k packaging / serving / deployment 11 build 流水线、Dockerfile、archive、path、deserialization Extended
LMCache/LMCache 11.9k KV cache layer 0 cache integrity/isolation、hash、connector Extended
kvcache-ai/Mooncake 6.7k distributed KV / transfer engine 0 network transport、KV state、RDMA/disaggregation、dependency Extended
ai-dynamo/dynamo 8.2k datacenter distributed inference 0 routing、distributed execution、multimodal、control plane Extended
kserve/kserve 6.0k Kubernetes inference control plane 0 RBAC、准入、routing、deployment config Extended
safetensors/safetensors 3.9k model 产物 format 0 parser / format 边界 Extended

Hugging Face TGI 保留历史漏洞和上下游关系;其 repo 已进入 archive 状态,不进入当前 Core 监测集合。

功能层

层 对象 主要边界 典型风险
L0 model 产物 / loading Transformers、safetensors、GGUF、tokenizer、检查点、LoRA 不可信模型制品进入 runtime unsafe deserialization、remote code、path、恶意 config/model
L1 native runtime / parser llama.cpp、TensorRT-LLM、CUDA kernel、custom op 文件/张量进入 native memory 与计算 OOB、heap overflow、integer overflow、RPC memory corruption
L2 inference / serving vLLM、SGLang、Ollama、Triton 网络请求进入调度器、loader、backend resource exhaustion、SSRF、parser、debug/admin endpoint、multimodal、LoRA
L3 distributed serving / KV Ray、LMCache、Mooncake、Dynamo、PD/KV connector cache 与状态跨进程、节点和网络传输 cache poisoning、cross-request isolation、timing side channel、unsafe serialization、transport integrity
L4 gateway / routing / auth LiteLLM 与 inference gateway 用户、provider、credential、tool/MCP 之间的控制面 auth bypass、privilege escalation、SSRF、credential exposure、SQLi/SSTI、sandbox escape
L5 build / packaging / deployment BentoML、KServe 及相关 build/deploy component source/config 进入可执行部署状态 command/template injection、archive/path traversal、deserialization、RBAC/configuration

vLLM 当前 repo-native advisories 中,资源消耗、无限制资源分配、输入校验、不可信反序列化和 SSRF 占主要位置,风险集中在 request、media/model loader、调度器、cache、backend 与 native runtime 的转换边界。llama.cpp 公开记录集中在 heap/OOB、整数溢出和 RPC memory safety。LiteLLM 暴露 auth、SSRF、credential、SQLi、SSTI、MCP 与 sandbox 问题;BentoML 集中在 build、Dockerfile、archive/path 与 deserialization。

这组分布支持后续把 glue/control plane 接缝作为重点观察对象:OpenAI-compatible API 与 request parsing、model/media loader、serializer/deserializer、调度器/cache、optional backend、distributed connector、native runtime 之间的转换,以及 config/archive 到 build/runtime 的转换。该观察描述公开漏洞的聚集位置,不将开发方式写成漏洞因果。

SGLang 的 profiling、server information、LoRA loading、weight update、debug/test 等高权限接口进入同类入口检查。公开材料中 /start_profile 存在 server crash bug,当前证据不足以单独定性为安全漏洞;同一服务周边已有反序列化 RCE、secret exposure 和上传路径问题。关联时继续检查 endpoint、认证条件、request-controlled path、serialization 与 privileged 工作进程。

Repo graph

AI Infra 以 repo 为 anchor 建立以下关系:

关系 对象
vulnerability GHSA、CVE、公开 security issue、vendor PSIRT
implementation affected file/function、issue、fix PR、fix commit、sibling path、fix bypass/regression
发布 affected version、patched version、package、container digest
upstream dependency、parser/runtime、model format、集成进来的 component
downstream framework integration、connector、gateway、image、deployment project

一条 CVE/GHSA 继续关联 fix PR、commit、发布和 sibling code path。相同 serializer、auth decorator、URL parser、path handling、backend 或 privileged function 的其他 caller 用于发现同类问题。发布 relation 把代码修复映射到用户实际消费的 package/container;integration relation 用于判断同一组件问题是否传播到 vLLM、SGLang、TensorRT-LLM、LMCache、Mooncake 等多个项目。

模型与数据层

该类覆盖 prompt injection、system prompt leakage、data poisoning、model poisoning/backdoor、model extraction、privacy leakage 等对象和攻击方式。通用来源中的论文、研究博客、模型/数据平台、标准与安全社区已经进入 source registry;专项分类体系、文献证据链、评测集与研究监测对象见 04-AI-Model-Data-and-Agent-Application-Security。

AI 应用与智能体

该类覆盖 Agent tool use、permission、secret、memory/state、sandbox、browser/computer use、MCP/skill、多 Agent interaction 等风险。GitHub、厂商研究、论文、红队报告和应用安全材料继续复用通用数据层;专项 trust 边界、代表案例、事件 schema、安全测试对象和 runtime security requirements 见 04-AI-Model-Data-and-Agent-Application-Security。

供应链

供应链与前三类保持并列,关注 source、dependency、package、container、model/data 产物、plugin/skill、deployment 产物及其构建和分发关系。通用 object/relation 层表达 repo、commit、package、产物、dependency 和发布;当前范围覆盖 dependency、package、container image、model/data 产物、plugin/skill、build 与 deployment/distribution channel,传播 relation 与复用边界由 02-CTI-Baseline-Reuse-and-Ownership 持有。

AI Infra repo 的 package、container 和 dependency relation 继续记录,因为它们描述该 repo 的真实发布和影响传播;供应链传播判断继续遵守 02 固定的归属。

受影响互联网资产

赛题把受影响互联网资产列为 M3 富化维度。这里的资产指公网可观测的 host、service、Web application 或其他暴露端点。已知漏洞先解析受影响 product/version 与可识别 fingerprint,再通过 Internet asset intelligence 查找候选实例;结果记录观测时间、IP/domain、port、service、software/version、ASN/organization、region 与匹配依据。

资产测绘结果属于时间相关观测。banner 缺失、版本隐藏、服务升级和 fingerprint 误判会降低确定性,因此 candidate affected asset 与经额外证据确认的 affected asset 分开记录。具体平台、查询语法、地域范围和验证方法进入后续调研与探针。

需求阶段固定项

本报告固定以下 contract:产品 source coverage 使用八类 taxonomy;runtime source_class、access mode 与 processing path 独立;每个 SourceDefinition 选择单一 retention_mode,processing path 固定为 hot_window / selective_index / durable_managed / incident_signal / time_bounded;Source Definition 与 monitoring runtime state 分离;任何外部读取进入 Acquisition + Evidence boundary;Evidence、Canonical Knowledge、specialized durable state、Current Projection 与 Retrieval Index 分层;索引/投影可重建,跨源冲突和历史 assertion 保留;后续查询与调查只消费可追溯 state/evidence。

风险分类导向的数据源补充保持四类并列。AI 基础设施 / 推理框架的 Core/Extended repo、L0-L5 功能层与 repo graph 已固定;模型/数据与 Agent/Application 的分类体系、监测对象和证据 strategy 已由 04 固定;供应链对象和传播关系由 02 固定。M3 的受影响互联网资产已经固定基本对象、provider 类型和证据语义,具体 query、fingerprint 与验证策略进入 Technical Design / Probe。

Clone this wiki locally