红队 vs 蓝队:对抗性机器学习战斗模拟
一个全面的对抗性机器学习安全模拟,红队攻击者与蓝队防御者在30分钟AI/ML安全战场景中展开对抗。
本系统模拟真实世界的AI/ML安全场景,其中:
战斗持续30分钟,共10轮,最终结果决定AI/ML安全系统对现代应用是否足够健壮。
ai-security-battle/
├── database/ # 数据库层
│ ├── schema.sql # 数据库模式
│ ├── db_config.py # 数据库管理器与仓库
│ ├── models.py # 数据模型
│ └── seed_data.py # 使用样本数据初始化
│
├── blue_team/ # 蓝队(防御方)
│ ├── ml_models/ # 用于防御的ML模型
│ ├── defenses/ # 防御机制
│ ├── monitoring/ # 监控系统
│ ├── api/ # API端点
│ └── blue_agent.py # 蓝队协调器
│
├── red_team/ # 红队(攻击方)
│ ├── attacks/ # 攻击实现
│ ├── reconnaissance/ # 探测与扫描
│ ├── adaptation/ # 策略自适应
│ └── red_agent.py # 红队协调器
│
├── battle_engine/ # 战斗协调
│ ├── orchestrator.py # 主战斗控制器
│ ├── round_manager.py # 回合计时
│ ├── scoring_system.py # 得分追踪
│ └── logger.py # 事件日志
│
├── shared/ # 共享工具
│ ├── config.py # 配置
│ ├── constants.py # 常量与枚举
│ └── utils.py # 工具函数
│
├── results/ # 战斗结果与日志
├── tests/ # 单元测试
├── docker/ # Docker配置
├── requirements.txt # Python依赖项
├── setup.py # 包安装脚本
├── run_battle.py # 主入口点
└── README.md # 本文件
cd ai-security-battle
# 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate # 在Windows上
# 安装依赖
pip install -r requirements.txt
python database/seed_data.py
# 标准战斗(30分钟,10轮)
python run_battle.py
# 快速战斗(10分钟,5轮)
python run_battle.py --quick
# 自定义配置
python run_battle.py --rounds 8 --duration 20
# 初始化数据库并运行
python run_battle.py --init
编辑 shared/config.py 以自定义战斗设置、防御参数和攻击配置。
pytest tests/ -v
MIT许可证 - 仅用于教育和研究目的
专为AI/ML安全研究与教育构建 🚀