静态调用图分析
从字节码、AST 和源代码中提取调用图。跟踪从入口点到易受攻击符号的路径。
- • 语言支持:Go、Rust、C#、Java、Python、JavaScript、C/C++
- • 处理虚拟调度、接口调用、保守近似的反射
- • 生成每个节点具有可达性状态的 DAG
可达性作为证据
三层分析 - 静态调用图、二进制符号匹配、运行时 eBPF 探针 - 生成签名的 DSSE 证明,可显著减少误报。
这对您的业务意味着什么
仅修复您的应用实际可达的漏洞——跳过其余部分。Stella 证明哪些 CVE 可达,让您的团队专注于真实风险,而非扫描器噪声。 Reachability分析证明易受攻击的代码是否确实被您的应用程序调用——过滤扫描器噪声中的误报
最高 70-90%
典型噪声降低
观察范围因技术栈和覆盖范围而异。
3
分析层
静态调用图、二进制符号、运行时 eBPF 探针
100%
签名且可重放
每个可达性裁决都是 DSSE 签名证据
每一层都提供逐渐更强有力的证据,证明易受攻击的函数可以(或不可)从您的应用程序代码访问。 CVE公共漏洞和暴露 - 公开已知安全漏洞的唯一标识符
从字节码、AST 和源代码中提取调用图。跟踪从入口点到易受攻击符号的路径。
将易受攻击的符号与编译的二进制导出进行匹配。确认代码确实已链接。
可选的生产分析。捕获执行期间的实际函数调用。
eBPF扩展伯克利包过滤器 — 一种Linux内核技术,运行沙箱程序实现高性能可观测性和运行时分析,无需内核模块 工具结果:显著减少误报。重点关注 12 个可到达的 CVE,而不是 487 个理论上的。
可达性证据经过内容寻址,以进行重复数据删除和验证。节点哈希可实现版本之间的高效差异。
节点哈希
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 视为一流判决,为每个严重性设置明确的阈值,并在证据包中记录审核者覆盖原因。
DSSEDead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准 带有 in-toto一个通过验证每个步骤按计划由授权参与者执行来保护软件供应链的框架 SLSA软件制品供应链安全等级 — 确保软件制品在整个供应链中完整性的框架 谓词的信封格式 无需网络访问即可由审核员验证 确定性重放产生位相同的结果 存档图形和跟踪以供离线验证 内容寻址存储路径 cas://reachability_graphs/<hh>/<sha>.tar.zst cas://runtime_traces/<hh>/<sha>.tar.zst每个可达性分析都会生成存储在内容寻址存储中的加密签名证明。 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
基于 Tetragon 的可选检测可捕获生产中的实际函数执行,提供最高置信度的可达性证据。
捕获的探测数据
symbol_id: 规范符号标识
code_id: 代码段标识
hit_count: 执行频率
loader_base: 内存基址
cas_uri: 内容寻址引用
探针批量向 /api/v1/observations 提交观察结果。每个观察都包含底层工件的 CAS URI。
安装Stella Ops 并开始通过三层分析生成签名的可达性证明。