可达性作为证据

证明漏洞代码是否真的被调用

三层分析 - 静态调用图、二进制符号匹配、运行时 eBPF 探针 - 生成签名的 DSSE 证明,可显著减少误报。

这对您的业务意味着什么

仅修复您的应用实际可达的漏洞——跳过其余部分。Stella 证明哪些 CVE 可达,让您的团队专注于真实风险,而非扫描器噪声。 Reachability分析证明易受攻击的代码是否确实被您的应用程序调用——过滤扫描器噪声中的误报

30 秒高管摘要

最高 70-90%

典型噪声降低

观察范围因技术栈和覆盖范围而异。

3

分析层

静态调用图、二进制符号、运行时 eBPF 探针

100%

签名且可重放

每个可达性裁决都是 DSSE 签名证据

三层分析

每一层都提供逐渐更强有力的证据,证明易受攻击的函数可以(或不可)从您的应用程序代码访问。 CVE公共漏洞和暴露 - 公开已知安全漏洞的唯一标识符

层 1

静态调用图分析

从字节码、AST 和源代码中提取调用图。跟踪从入口点到易受攻击符号的路径。

  • • 语言支持:Go、Rust、C#、Java、Python、JavaScript、C/C++
  • • 处理虚拟调度、接口调用、保守近似的反射
  • • 生成每个节点具有可达性状态的 DAG
层 2

二进制符号分析

将易受攻击的符号与编译的二进制导出进行匹配。确认代码确实已链接。

  • •从ELF、PE、Mach-O中提取符号表
  • • 交叉引用 DWARF/PDB 调试信息(如果可用)
层 3

运行时eBPF 探针

可选的生产分析。捕获执行期间的实际函数调用。

  • • 基于 Tetragon 的 eBPF扩展伯克利包过滤器 — 一种Linux内核技术,运行沙箱程序实现高性能可观测性和运行时分析,无需内核模块 工具
  • •记录symbol_id、code_id、hit_count、 loader_base
  • • 隐私保护:未捕获任何参数值

结果:显著减少误报。重点关注 12 个可到达的 CVE,而不是 487 个理论上的。

Implementation: node hash joins

可达性证据经过内容寻址,以进行重复数据删除和验证。节点哈希可实现版本之间的高效差异。 节点哈希 SHA256(normalize(purl) + ":" + normalize(symbol)) 路径哈希 SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash) Top-K 重要路径保留在证据束中。路径按执行频率(来自运行时)或调用深度(来自静态)进行排名。
Read more

可达性证据经过内容寻址,以进行重复数据删除和验证。节点哈希可实现版本之间的高效差异。

节点哈希

SHA256(normalize(purl) + ":" + normalize(symbol))

路径哈希

SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash)

Top-K 重要路径保留在证据束中。路径按执行频率(来自运行时)或调用深度(来自静态)进行排名。

未知作为一流状态

当分析无法确定可达性时,会显式跟踪不确定性 - 不会隐藏或默默地假定安全。

可达性桶默认权重
入口点1.0
直接调用0.85
运行时确认0.45
未知0.5
不可达0.0

所有路径的最终得分 = max(bucket_weights)。未知节点有助于风险评分,而不是被忽略。

策略门控的可达性覆盖矩阵

在生产中启用硬阻止之前,请验证您自己的代码语料库的覆盖范围。下面的矩阵描述了如何评估每种语言/运行时路径以及应如何处理未知数。

语言/运行时静态调用路径二进制/符号证据运行时证据未知时默认门
Go、Rust、C/C++验证直接和传递调用路径提取验证符号/build-id 匹配准确性高风险服务的可选 eBPF 确认按政策审查或阻止关键发现
Java 和 JVM 语言验证方法级可达性和动态调度案例验证字节码/jar 符号映射建议用于反射路径的运行时跟踪将未知数据路由至手动审核通道
。网验证 IL 调用图和包沿袭验证发布版本中的 PDB/符号解析修剪/AOT 场景的运行时确认在做出决定之前审查未知因素
节点、Python、Ruby、PHP验证框架入口点和动态导入边界符号证据在设计上是部分动态调度的强烈推荐运行时跟踪将未知保持为明确状态并需要批准

政策建议:将 unknown 视为一流判决,为每个严重性设置明确的阈值,并在证据包中记录审核者覆盖原因。

Implementation: signed proofs

每个可达性分析都会生成存储在内容寻址存储中的加密签名证明。 DSSE?Dead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准 DSSEDead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准 带有 in-toto一个通过验证每个步骤按计划由授权参与者执行来保护软件供应链的框架 SLSA软件制品供应链安全等级 — 确保软件制品在整个供应链中完整性的框架 谓词的信封格式 无需网络访问即可由审核员验证 确定性重放产生位相同的结果 存档图形和跟踪以供离线验证 内容寻址存储路径 cas://reachability_graphs/<hh>/<sha>.tar.zst cas://runtime_traces/<hh>/<sha>.tar.zst
Read more

每个可达性分析都会生成存储在内容寻址存储中的加密签名证明。 DSSEDead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准

  • DSSEDead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准 带有 in-toto一个通过验证每个步骤按计划由授权参与者执行来保护软件供应链的框架 SLSA软件制品供应链安全等级 — 确保软件制品在整个供应链中完整性的框架 谓词的信封格式
  • 无需网络访问即可由审核员验证
  • 确定性重放产生位相同的结果
  • 存档图形和跟踪以供离线验证

内容寻址存储路径

cas://reachability_graphs/<hh>/<sha>.tar.zst

cas://runtime_traces/<hh>/<sha>.tar.zst

Implementation: eBPF probes

基于 Tetragon 的可选检测可捕获生产中的实际函数执行,提供最高置信度的可达性证据。 捕获的探测数据 symbol_id: 规范符号标识 code_id: 代码段标识 hit_count: 执行频率 loader_base: 内存基址 cas_uri: 内容寻址引用 探针批量向 /api/v1/observations 提交观察结果。每个观察都包含底层工件的 CAS URI。
Read more

基于 Tetragon 的可选检测可捕获生产中的实际函数执行,提供最高置信度的可达性证据。

捕获的探测数据

symbol_id: 规范符号标识

code_id: 代码段标识

hit_count: 执行频率

loader_base: 内存基址

cas_uri: 内容寻址引用

探针批量向 /api/v1/observations 提交观察结果。每个观察都包含底层工件的 CAS URI。

准备好显著减少误报了吗?

安装Stella Ops 并开始通过三层分析生成签名的可达性证明。