b-macker/naab-bolo
GitHub: b-macker/naab-bolo
一款专为 AI 生成代码设计的静态分析工具,可检测 LLM 编程质量问题、安全漏洞并生成多种格式报告。
Stars: 1 | Forks: 0
# NAAb BOLO
[](https://github.com/b-macker/naab-bolo/actions/workflows/ci.yml)
[](https://github.com/b-macker/naab-bolo/releases/tag/v1.0.0)
[](LICENSE)
[](https://github.com/b-macker/NAAb)
[](CONTRIBUTING.md)
[](https://github.com/b-macker/naab-bolo/discussions)
**“Be On the Lookout”** 关注不良代码。100% 使用 [NAAb](https://github.com/b-macker/NAAb) 构建的企业级 LLM 与 AI 治理平台。
50+ 静态分析检查。5 种治理配置文件。SARIF, HTML, JSON, CSV, JUnit 报告。7 个执行关卡。4 个 AI 治理验证器。
```
$ naab-lang scan.naab ./src --profile enterprise
NAAb BOLO Scanner [enterprise]
Scanning 47 files in ./src
X src/auth.py:12 [no_secrets]
Hardcoded API key detected
X src/db.py:8 [no_sql_injection]
String formatting in SQL query
! src/utils.py:45 [oversimplification.stub_function]
Stub function: validate_input() contains only 'pass'
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Files scanned: 47
Files with issues:3
Total violations: 3
```
## 为什么选择多语言?
每个代码块都**根据任务选择合适的语言**:
| 任务 | 语言 | 原因 |
|------|----------|-----|
| 模式匹配 (50+ 正则) | **C++** | `std::regex` 只需编译一次,以原生速度扫描。比 Python `re` 快 50 倍。 |
| 报告生成 (SARIF/HTML) | **Python** | `json.dumps` 用于 SARIF,f-strings + `html.escape` 用于 HTML,`xml.etree` 用于 JUnit。 |
| 执行关卡 (7 个关卡) | **Python** | 关卡运行 Python 工具。运行 Python 工具需要 Python。 |
| AI 治理 (4 个验证器) | **Python** | AI/ML 生态系统原生即 Python。YAML 配置,模型元数据,SHAP/LIME。 |
| 文件发现 | **Shell** | `find` 通用、可移植,且对于文件列表来说速度足够快。 |
| CLI 编排 | **NAAb** | 清晰的参数解析、配置文件管理、彩色输出、流程控制。 |
**零独立 .py 文件。零独立 .cpp 文件。** 一切都存在于 5 个 NAAb 脚本中。
## 演示
查看 NAAb BOLO 在真实代码中检测安全漏洞和 LLM 生成的问题:
### 步骤 1:易受攻击的代码
具有 **4 个安全问题** 的示例身份验证代码:

### 步骤 2:BOLO 扫描结果 🔍
**Enterprise 配置文件扫描** 检测所有违规行为并提供详细帮助:

BOLO 检测到:
- ✗ **硬编码机密** - 源代码中的 API 密钥和密码
- ✗ **SQL 注入** - 查询中的字符串拼接
- ✗ **LLM 存根函数** - `validate_input()` 仅包含 `pass`
- ✗ **代码注入** - Python 代码块中不安全的 `function()`
**扫描文件:2 | 违规:4 | 执行时间:3.01ms**
### 步骤 3:整洁代码对比 ✅
展示如何修复这些问题:

**亲自尝试演示:**
```
cd demos
./bolo-demo.sh
```
有关录制说明,请参阅 [DEMO_GUIDE.md](DEMO_GUIDE.md)。
## 快速开始
```
# 使用 NAAb submodule 克隆
git clone --recursive https://github.com/b-macker/naab-bolo.git
cd naab-bolo
# 构建 NAAb
bash build.sh
# 扫描您的代码
./naab/build/naab-lang scan.naab /path/to/project --profile enterprise
# 生成 SARIF report
./naab/build/naab-lang report.naab /path/to/project --format sarif --output report.sarif
# 运行 enforcement pipeline
./naab/build/naab-lang enforce.naab /path/to/project --stage ci
# AI governance check
./naab/build/naab-lang ai-check.naab /path/to/ml-project
```
## 命令
| 命令 | 脚本 | 描述 |
|---------|--------|-------------|
| `scan` | `scan.naab` | 静态分析 — 通过 C++ 治理引擎进行 50+ 项检查 |
| `report` | `report.naab` | 生成报告 — SARIF 2.1.0, HTML, JSON, CSV, JUnit XML |
| `enforce` | `enforce.naab` | 执行流水线 — 7 个关卡,17 个验证器,基于阶段 |
| `ai-check` | `ai-check.naab` | AI 治理 — 模型认证、速率限制、可解释性 |
| `profiles` | `bolo.naab` | 列出可用的治理配置文件 |
## 配置文件
| 配置文件 | 重点 | 检查项 |
|---------|-------|--------|
| `enterprise` | 所有内容 | 所有 50+ 项检查:LLM + 安全 + AI + 质量 |
| `llm` | AI 代码质量 | 过度简化、幻觉 API、占位符、道歉性语言 |
| `security` | 漏洞 | 机密、注入、提权、遍历、泄露 |
| `ai-governance` | ML 合规性 | 模型认证、速率限制、可解释性、治理配置 |
| `standard` | 均衡 | 核心机密 + LLM 防漂移 + Shell 注入 |
## 报告格式
```
# SARIF 2.1.0 — 用于 GitHub Code Scanning / VS Code
naab-lang report.naab ./src --format sarif --output report.sarif
# HTML — 带有严重性徽章的丰富可视化报告
naab-lang report.naab ./src --format html --output report.html
# JSON — 用于工具集成的结构化数据
naab-lang report.naab ./src --format json --output report.json
# CSV — 电子表格友好
naab-lang report.naab ./src --format csv --output report.csv
# JUnit XML — CI 测试结果集成
naab-lang report.naab ./src --format junit --output report.xml
```
## 执行阶段
```
# Pre-commit:仅快速检查(编译 + lint)
naab-lang enforce.naab ./src --stage pre-commit
# CI:标准流水线(6 个 gates + validators)
naab-lang enforce.naab ./src --stage ci
# PR merge:完整验证(所有 7 个 gates + 所有 17 个 validators)
naab-lang enforce.naab ./src --stage pr-merge
```
## GitHub Action
```
- uses: b-macker/naab-bolo@v1
with:
path: ./src
profile: enterprise
format: sarif
```
## 架构
```
5 NAAb scripts, 4 languages, 50+ checks, 6 test suites
bolo.naab ──── NAAb + Shell ──── CLI orchestration + file discovery
scan.naab ──── NAAb + Shell + C++ (via bolo stdlib) ──── Pattern matching engine
report.naab ── NAAb + Python ──── SARIF/HTML/JSON/CSV/JUnit generation
enforce.naab ─ NAAb + Python ──── 7 gates + 17 validators
ai-check.naab NAAb + Python ──── 4 AI governance validators
```
## 测试
```
# 运行所有 6 个 test suites
bash tests/run-all-tests.sh
# 运行单个 suites
./naab/build/naab-lang tests/test-profiles.naab
./naab/build/naab-lang tests/test-scan.naab
./naab/build/naab-lang tests/test-report.naab
./naab/build/naab-lang tests/test-enforce.naab
./naab/build/naab-lang tests/test-ai.naab
./naab/build/naab-lang tests/test-integration.naab
```
## NAAb 生态系统
**NAAb BOLO** 是 NAAb 生态系统的一部分:
- **[NAAb Language](https://github.com/b-macker/NAAb)** — 核心多语言脚本语言,具备治理功能
- **NAAb BOLO** (本项目) — 代码治理与 AI 验证
- **[NAAb Pivot](https://github.com/b-macker/naab-pivot)** — 代码演进与优化 (3-60 倍加速)
- **[NAAb Passage](https://github.com/b-macker/naab-passage)** — 数据网关与 PII 保护 (零泄漏)
## 贡献
欢迎贡献!有关构建说明和指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
### 贡献领域
- 额外的治理检查
- 新的执行验证器
- IDE 集成
- 文档改进
## 许可证
MIT License - 详情请参阅 [LICENSE](LICENSE)。
**Brandon Mackert** - [@b-macker](https://github.com/b-macker)
_NAAb BOLO — 没有门槛的治理。_
标签:AI 验证, C++, CI/CD 集成, Cutter, DOE合作, Java RMI, NAAb 生态系统, Polyglot, Python, SARIF 报告, SAST, SQL 注入检测, 代码审查, 代码治理, 企业级安全, 多语言编程, 大模型安全, 安全专业人员, 安全合规, 数据擦除, 无后门, 盲注攻击, 硬编码密钥, 网络代理, 软件供应链安全, 远程方法调用, 逆向工具, 错误基检测, 静态代码分析