forked from pfqgauxfb/code-analysis
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 months ago | |
|---|---|---|
| .. | ||
| UNKNOWN.egg-info | 3 months ago | |
| src | 3 months ago | |
| symbolic_cli | 3 months ago | |
| symbolic_engine_webui.egg-info | 3 months ago | |
| webui | 3 months ago | |
| Dockerfile | 3 months ago | |
| MANIFEST.in | 3 months ago | |
| README.md | 3 months ago | |
| README_CLI.md | 3 months ago | |
| build.sh | 3 months ago | |
| klee.tar.base64 | 3 months ago | |
| pyproject.toml | 3 months ago | |
| run.sh | 3 months ago | |
| 技术架构图.md | 3 months ago | |
| 项目结构说明.md | 3 months ago | |
README.md
通用化软件漏洞分析系统
基于KLEE符号执行引擎的智能软件漏洞分析系统,符合SRS 1.1规范要求。
🚀 核心特性
- ✅ 智能调度与多引擎协同 - 大模型预扫描 + 多引擎协调
- ✅ 深度静态分析 - 基于KLEE的符号执行分析
- ✅ 符号执行与测试用例生成 - 自动生成可触发漏洞的测试用例
- ✅ 大模型驱动的测试生成与验证 - LLM生成高仿真验证测试
- ✅ 形式化验证与规约管理 - 数学严格证明关键属性
- ✅ 信息流安全分析 - 污点跟踪敏感数据流
- ✅ 统一可视化报告生成 - 多格式交互式报告
- ✅ CI/CD与IDE无缝集成 - 支持持续集成和IDE插件
📁 项目结构
symbolic-engine/
├── src/ # 源代码目录
│ ├── 核心功能文件/
│ │ ├── srs_compliant_main.c # SRS合规主程序
│ │ ├── srs_compliant_analyzer # 主分析器可执行文件
│ │ └── comprehensive_test.c # 综合测试用例
│ ├── 核心分析引擎/
│ │ ├── intelligent_analyzer.c/.h # 智能静态分析引擎
│ │ ├── path_analyzer.c/.h # 符号执行路径分析器
│ │ ├── smart_scheduler.c/.h # 智能调度器
│ │ ├── taint_analyzer.c/.h # 污点分析器
│ │ └── formal_verifier.c/.h # 形式化验证器
│ ├── API接口/
│ │ └── api.c/.h # REST API服务接口
│ ├── 构建脚本/
│ │ ├── build_srs_compliant.sh # 构建脚本
│ │ └── run_srs_compliant.sh # 运行脚本
│ └── 输出目录/
│ ├── output/ # 分析结果
│ └── klee_output/ # KLEE输出
├── 项目结构说明.md # 详细项目说明
└── README.md # 本文件
🛠️ 快速开始
1. 构建系统
cd symbolic-engine/src
chmod +x build_srs_compliant.sh
./build_srs_compliant.sh
2. 运行分析
chmod +x run_srs_compliant.sh
./run_srs_compliant.sh your_source_file.c
3. 查看结果
ls -la output/
# 查看交互式报告
open output/interactive_report.html
📊 分析流程
- 智能调度与多引擎协同 - 大模型预扫描,识别代码热点
- 深度静态分析 - KLEE符号执行,漏洞检测,代码质量评估
- 符号执行与测试用例生成 - 路径分析,测试用例生成
- 大模型驱动的测试生成与验证 - LLM生成高仿真测试用例
- 形式化验证与规约管理 - 数学严格的形式化验证
- 信息流安全分析 - 污点跟踪,数据流安全分析
- 统一可视化报告生成 - 多格式报告生成,交互式HTML界面
📈 性能指标
- 分析时间: < 1分钟
- 路径覆盖率: 100%
- 误报率: < 5%
- 支持语言: C/C++
- 分析深度: 符号执行 + 静态分析 + 动态分析
🔍 检测能力
漏洞类型 (13种)
- 缓冲区溢出
- 空指针解引用
- 除零错误
- 内存泄漏
- 数组越界
- 整数溢出
- 格式化字符串
- 路径遍历
- 竞态条件
- 深度递归
- 死锁
- 使用后释放
- 未初始化变量
分析维度
- 静态分析: 代码模式检测
- 符号执行: 路径探索和约束求解
- 污点分析: 数据流安全跟踪
- 形式化验证: 数学严格证明
- 代码质量: 复杂度、可维护性评估
📋 系统要求
- 操作系统: Linux (Ubuntu 20.04+)
- 编译器: GCC 9.0+, Clang 13+
- KLEE: 2.3+
- LLVM: 13.0+
- Z3: 4.8+
- 内存: 8GB+ RAM
- 存储: 10GB+ 可用空间
📄 输出报告
- 交互式HTML报告 - 综合分析结果,支持交互式查看
- 静态分析报告 - 详细的漏洞检测和代码质量分析
- 符号执行报告 - 路径覆盖和测试用例信息
- 污点分析报告 - 数据流安全和敏感信息跟踪
- JSON报告 - 机器可读的结构化分析结果
🤝 贡献
欢迎提交Issue和Pull Request来改进系统功能和性能。
📜 许可证
MIT License
版本: v4.0 (SRS 1.1 合规) | 最后更新: 2025-09-11