20000419/FirmSem
GitHub: 20000419/FirmSem
FirmSem 是一个用于审计编译器优化后的发布二进制文件中源码级安全义务是否仍保持运行时强制执行能力的可复现研究制品。
Stars: 0 | Forks: 0
# FirmSem
FirmSem 提供了一个精简的实现和冻结的公开数据,用于审计
在编译器优化的二进制文件中,已批准的源码级安全义务
是否仍然具有同等的
运行时强制执行机制。
公开代码库被刻意保持得很小。它包含可复用的核心代码、
精选的最终数据、标注协议以及可执行的安全影响示例。完整的原始记录、标注回传和重生成日志保存在
GitHub release 和 Zenodo 记录中附带的带有版本号的归档制品中。
## 安装
```
git clone https://github.com/20000419/FirmSem.git
cd FirmSem
python -m pip install -e .
python -m unittest discover -s tests -v
```
## 最小示例
```
from firmsem import extract_guard_ir
assembly = """
test %rdi, %rdi
je .Lfail
mov (%rdi), %eax
ret
"""
record = extract_guard_ir(assembly)
print(record.observed_guard_class)
print(record.unguarded_arg_access)
```
## 仓库结构
| 路径 | 内容 |
|---|---|
| `firmsem/` | GuardIR、义务匹配、级联、指标和模型评估工具 |
| `data/` | 精选的开发、项目留出集、机制留出集和安全影响记录 |
| `docs/annotation_protocol.md` | 已执行的 2+1 标注和裁决协议 |
| `docs/RESULTS.md` | 范围和冻结的结果摘要 |
| `docs/REPRODUCIBILITY.md` | 完整制品实验矩阵和经过验证的重放说明 |
| `examples/security_impact/` | GCC/Clang 安全影响重放源码和冻结的输出 |
| `tests/` | 小型公开回归测试套件 |
## 证据边界
FirmSem 验证选定的有源码支持的安全义务。它不是一个开放世界的
检测器,无法从任意剥离的函数中重建缺失的源码意图。公开结果区分了保护机制存活、机制归因
和安全后果,而不是将它们视为可互换的声明。
## 归档版本
- GitHub release:
- 版本 DOI:
归档 ZIP 包含审计报告的数字所需的完整冻结证据。
它刻意排除了手稿草稿、内部同行评审
工作流程和私人工作笔记。
## 许可证
项目编写的代码采用 Apache-2.0 许可证。项目编写的 benchmark 元数据、
标注、文档、表格和图表采用 CC BY 4.0 许可证。第三方
摘录保留其上游条款;请参阅 `THIRD_PARTY_NOTICES.md`。
标签:逆向工具