finansminister/llm-code-security-audit-script
GitHub: finansminister/llm-code-security-audit-script
一个用于自动化审计和量化评估大型语言模型所生成Python代码安全风险的科学框架。
Stars: 0 | Forks: 0
# Python代码生成的对比语义审计
## 概述
本仓库提供了一个高保真编排框架,旨在审计由大型语言模型(LLM)生成的Python代码的安全态势。通过利用**CodeQL**进行静态分析,并将结果映射到**OWASP Top 10 (2025)**,该工具量化了不同模型在其输出中引入常见弱点枚举(CWEs)的倾向。
该框架秉承**“安全优先”**的设计哲学,采用位级完整性验证、基于XOR的状态管理以及专业级遥测技术,以确保科学实验结果的可重复性和有效性。
## 技术架构与文件结构
仓库被组织成几个专门的层:**配置层**、**执行层**、**防御层**和**分析层**。每个文件都有明确的职责,以确保系统保持“状态感知”并在数学上有效。
### 根编排与配置
* **`main.py`**:“中央大脑”。管理执行生命周期、幂等会话恢复逻辑,并协调LLM生成与安全扫描之间的任务交接。
* **`config.py`**:“事实来源”。API超参数、目录映射以及驱动Rich CLI的`Telemetry`系统的集中清单。
* **`freeze_hashes.py`**:“设置工具”。用于生成`master_hashes.json`基线,捕获审计前框架源代码的原始状态。
### LLM接口层 (`src/llm/`)
* **`clients.py`**:“连接中心”。为Anthropic、Gemini和Mistral初始化专用API客户端,同时通过OpenRouter/OpenAI桥接支持Meta的Llama套件。
* **`generator.py`**:“流水线逻辑”。编排批量生成过程,遍历提示词并将LLM的响应持久化到会话目录中。
### 安全与完整性层 (`src/core/`)
* **`integrity.py`**:“验证器”。实现SHA-256位流检查,以检测源代码漂移,并确保LLM工件的密码学监管链。
* **`parser.py`**:“数据清洁器”。从原始的LLM Markdown响应中提取净化的Python源代码,确保扫描器的语法正确性。
### 分析扫描层 (`src/scanners/`)
* **`codeql.py`**:“自动化器”。CodeQL CLI的包装器。处理数据库初始化、查询执行(使用`python-security-and-quality`套件)以及SARIF报告生成。
* **`owasp.py`**:“映射引擎”。将来自CodeQL结果的原始CWE标识符与高层级的**OWASP Top 10 (2025)**类别进行关联,以提供语义上下文。
### 科学分析与日志层 (`src/analysis/`)
* **`audit.py`**:“记录器”。实现了自定义的**Tee I/O**系统,用于终端/文件的镜像日志记录,并维护每个API尝试的持久化JSONL审计跟踪。
* **`stats.py`**:“科学家”。执行自动化的数据聚合和统计显著性检验,包括**ANOVA**、**卡方检验**和**Kruskal-Wallis**检验。
## 技术特性
### 1. 健壮的会话恢复
该框架专为大规模批量审计而设计。在发生中断时,逻辑会检测现有的SARIF报告,并从磁盘“恢复”统计引擎,从而避免冗余的API调用成本并确保数据连续性。
### 2. 高可用性LLM访问
通过利用**OpenRouter**作为Meta/Llama套件的次级网关,该框架提供了一个弹性的故障转移机制,可绕过特定提供商的速率限制和认证障碍。
### 3. 原子数据完整性
所有统计摘要都通过**原子写操作**处理。系统先将数据写入临时缓冲区,然后再交换到最终的CSV输出,从而消除了在系统崩溃或I/O中断期间文件损坏的风险。
### 4. 高级遥测
由`Rich`库驱动,该框架提供了专业的CLI体验,包含实时状态旋转器、彩色编码的安全面板和实时漏洞通知。
## 快速开始
### 前置条件
* **CodeQL CLI**:必须已安装并在系统`PATH`中可用。
* **Python 3.10+**:使用了现代类型提示、海象运算符和上下文管理器。
### 安装
1. **克隆与安装**:
git clone https://github.com/finansminister/llm-code-security-audit-script.git
cd llm-code-security-audit-script
pip install -r requirements.txt
2. **环境配置**:创建一个包含您的API密钥(Anthropic、Gemini、Mistral和Meta)的`.env`文件。
3. **基线生成**:冻结您的源代码基线以启用完整性检查:
4. `python freeze_hashes.py`
### 使用说明
* 开始完整的审计运行(每个模型121个提示):`python3 main.py`
* 要运行快速诊断测试,请在`main.py`中设置`TEST_MODE = True`以触发有限的5个提示样本。
标签:CodeQL, CWE检测, OWASP Top 10, TLS抓取, XNOR技术, 云安全监控, 代码安全审计, 代码生成审计, 反取证, 安全扫描, 安全测试, 安全评估, 安全评估工具, 安全遥测, 完整性验证, 技术审计, 攻击性安全, 时序数据库, 时序注入, 模型比较, 漏洞分析, 科学实验, 路径探测, 软件安全, 逆向工具, 静态分析