UPG - Web UI
概念
Unsafety Propagation Graph (UPG) 详细概念介绍见 RAPx book 《Unsafe Code Audit》。
要点:
- Endogenous:指直接的不安全操作(比如调用不安全函数、解引用裸指针、访问
static mut等);作为安全属性的内生性,它天然地具有 checked、delegated 等操作。 - Exogenous:指影响被调用的不安全函数的情况(比如构造函数、具有可变性的方法等); 作为安全属性的外生性,该影响没有直接反映在调用上。比如参数的类型(或结构体字段) 不变量潜在地被其他方式修改,从而安全属性的满足需要考虑这些情况。