bb1nfosec/MLASTG
GitHub: bb1nfosec/MLASTG
一个面向机器学习系统的企业级安全测试框架,提供对齐国际标准的验证标准、测试指南和缺陷枚举。
Stars: 2 | Forks: 0
# MLSec 应用安全测试指南 (MLASTG)
**面向机器学习系统的企业与国防级安全测试**
[](README.md)
[](README.zh-CN.md)
## 概述
**MLSec 应用安全测试指南 (MLASTG)** 是一个全面的开源框架,用于对涵盖完整威胁场景的机器学习 (ML) 系统进行安全测试——从传统的 ML 分类器到深度神经网络和大型语言模型 (LLM)。
受 **[OWASP 移动应用安全测试指南 (MASTG)](https://github.com/OWASP/MASTG)** 启发,并与 **[MITRE ATLAS](https://atlas.mitre.org/)**、**[NIST AI RMF](https://www.nist.gov/itl/ai-risk-management-framework)** 和 **[OWASP AI Exchange](https://owaspai.org/)** 保持一致,MLASTG 提供:
- **验证标准 (MLASVS)** — 验证内容,按控制类别组织,分为 L1(标准)和 L2(纵深防御)级别
- **测试指南 (MLASTG)** — 测试方法,提供映射到控制措施的详细分步测试用例
- **缺陷枚举 (MLASWE)** — ML/LLM 系统特有的常见安全缺陷
- **可执行测试脚本** — 使用行业标准工具(ART、SecML 等)的基于 Python 的测试框架
## 为什么选择 MLASTG?
| 问题 | MLASTG 解决方案 |
|---------|----------------|
| ML 安全缺乏标准化、可测试的验证框架 | MLASVS 提供清晰的、可验证的控制措施,并映射到 MITRE ATLAS 战术 |
| 现有指南分散在 OWASP、NIST 和供应商文档中 | 统一的参考资料,整合了所有主要框架并提供交叉引用 |
| 对抗性 ML 的测试程序缺乏详细文档 | 详细的分步测试用例及配套的 Python 脚本 |
| 企业/国防环境需要纵深防御 | 双层验证(L1 标准 / L2 纵深防御) |
| ML 供应链没有 SBOM/SCA 标准 | ML-SBOM 要求和供应链验证控制措施 |
## 架构
```
MLASVS (The Standard) ─── What to verify
│
├── Maps to ───► MITRE ATLAS Tactics & Techniques
├── Aligns to ──► NIST AI RMF, OWASP AI Exchange
└── Referenced by ──► MLASWE Weakness IDs
│
▼
MLASTG (The Testing Guide) ─── How to test
│
├── Test Cases ──► MLASTG-TEST-XXXX (step-by-step procedures)
├── Techniques ──► MLASTG-TECH-XXXX (tools & methods)
└── Companion Scripts ──► tests/*.py (executable test harnesses)
│
▼
MLASWE (Weakness Enumeration) ─── What can go wrong
│
└── MLASWE-XXXX identifiers for each weakness class
```
## 控制类别
| 类别 | ID | 覆盖范围 | L1 控制 | L2 控制 |
|----------|----|----------|-------------|--------------|
| 数据安全与隐私 | **MLASVS-DATA** | 来源、净化、差分隐私、访问控制 | 18 | 12 |
| 模型安全 | **MLASVS-MODEL** | 对抗鲁棒性、提取/反演预防、后门检测 | 15 | 15 |
| LLM 专属安全 | **MLASVS-LLM** | 提示注入、输出处理、代理行为、上下文隔离 | 14 | 10 |
| 供应链安全 | **MLASVS-SUPPLY** | ML-SBOM、基础模型审查、依赖扫描 | 12 | 10 |
| 流水线与 MLOps | **MLASVS-PIPELINE** | CI/CD、特征存储、模型注册表、工件完整性 | 10 | 10 |
| 运行时与基础设施 | **MLASVS-INFRA** | 服务安全、API 安全、监控、事件响应 | 12 | 10 |
| 治理与合规 | **MLASVS-GOV** | 风险治理、偏差/公平性、审计日志、法规 | 10 | 10 |
**总控制措施数:** 91 L1 + 77 L2 = **168 项可验证控制措施**
## 测试级别
### L1 — 标准安全
适用于所有处于生产环境的 ML 应用的基线控制措施。涵盖:
- 基础数据保护和访问控制
- 基本的对抗鲁棒性验证
- 标准的供应链安全卫生
- 基本的监控和日志记录
### L2 — 纵深防御
适用于高风险、企业/国防和受监管环境的增强控制措施。增加:
- 严格的对抗鲁棒性认证
- 差分隐私保证
- 全面的红蓝对抗
- 包含来源验证的完整 ML-SBOM
- 具备自动化响应的持续运行时监控
## 快速开始
### 对于安全测试人员
1. 查看 **MLASVS** 以确定适用的控制措施
2. 使用 **MLASTG 测试方法论** 规划您的评估
3. 执行映射到您目标控制措施的测试用例
4. 参考 **MLASWE** 对发现的问题进行缺陷分类
5. 运行配套的**测试脚本**以进行自动化验证
### 对于组织
1. 采用 **MLASVS** 作为您的内部 ML 安全标准
2. 将现有的控制措施映射到 MLASVS 类别
3. 使用 **MLASTG 检查清单》进行差距分析
4. 以 L1 为最低要求实施缺失的控制措施
## 映射到行业标准框架
| 框架 | MLASTG 对齐方式 |
|-----------|-----------------|
| MITRE ATLAS | 每个 MLASVS 控制措施都映射到相关的 MITRE ATLAS 战术/技术 |
| NIST AI RMF 1.0 | MLASVS 控制措施支持所有四项 RMF 功能(治理、映射、测量、管理) |
| OWASP AI Exchange | 与 OWASP AI 威胁/控制矩阵进行交叉引用 |
| OWASP LLM Top 10 | 作为 MLASVS-LLM 控制措施,完全覆盖所有 10 项 LLM 风险 |
| OWASP ML Top 10 | 覆盖所有 10 项 ML 安全漏洞 |
| NSA/CISA AI 安全指南 | 控制措施与安全部署指南保持一致 |
| EU AI Act | MLASVS-GOV 控制措施映射到法规要求 |
### ATLAS Navigator
在 [MITRE ATLAS Navigator](https://mitre-attack.github.io/atlas-navigator/) 中可视化 MLASTG 覆盖范围:
1. 下载 [Navigator Layer JSON](docs/ATLAS-Mapping/2-atlas-navigator-layer.json)
2. 打开 ATLAS Navigator → **Layer Controls** → **Import Layer**
3. 覆盖范围将以热力图形式显示:🟢 完全覆盖,🟡 部分覆盖,🔴 未覆盖
## 项目结构
```
MLASTG/
├── README.md ← This file
├── mkdocs.yml ← Documentation site config
├── docs/
│ ├── index.md ← Home / Overview
│ ├── MLASVS/ ← Verification Standard
│ │ ├── 0x00-Introduction.md
│ │ ├── 0x01-Using-This-Standard.md
│ │ ├── V1-DATA/ ← Data Security controls
│ │ ├── V2-MODEL/ ← Model Security controls
│ │ ├── V3-LLM/ ← LLM Security controls
│ │ ├── V4-SUPPLY/ ← Supply Chain controls
│ │ ├── V5-PIPELINE/ ← Pipeline controls
│ │ ├── V6-INFRA/ ← Runtime & Infra controls
│ │ └── V7-GOV/ ← Governance controls
│ ├── MLASTG/ ← Testing Guide
│ │ ├── 0x00-Testing-Methodology.md
│ │ ├── 0x01-Testing-Tools.md
│ │ ├── DATA-Tests/ ← Data security tests
│ │ ├── MODEL-Tests/ ← Model security tests
│ │ ├── LLM-Tests/ ← LLM security tests
│ │ ├── SUPPLY-Tests/ ← Supply chain tests
│ │ ├── PIPELINE-Tests/ ← Pipeline tests
│ │ ├── INFRA-Tests/ ← Infra tests
│ │ └── GOV-Tests/ ← Governance tests
│ ├── MLASWE/ ← Weakness Enumeration
│ └── assets/ ← Images, diagrams
├── tests/ ← Python test scripts
│ ├── data/ ← Data security test harnesses
│ ├── model/ ← Model security test harnesses
│ ├── llm/ ← LLM security test harnesses
│ ├── supply/ ← Supply chain test harnesses
│ ├── pipeline/ ← Pipeline test harnesses
│ ├── infra/ ← Runtime test harnesses
│ └── gov/ ← Governance assessment tools
└── demos/ ← Example vulnerable models & apps
```
## 许可协议
本作品采用 **知识共享署名-相同方式共享 4.0 国际许可协议 (CC BY-SA 4.0)** 进行许可。
## 致谢
- **OWASP MASTG** — 本项目的灵感和结构模型
- **MITRE ATLAS** — 对抗性威胁分类法基础
- **NIST AI RMF** — 风险管理框架对齐
- **OWASP AI Exchange** — 交叉引用的威胁和控制矩阵
- **IBM ART** — 对抗鲁棒性测试工具
- 所有 AI/ML 安全社区的贡献者
标签:Apex, CSP, DLL 劫持, 人工智能安全, 合规性, 合规框架, 大语言模型, 安全标准, 安全测试, 攻击性安全, 机器学习, 逆向工具