prakash-p-a/htb-ai-red-teamer

GitHub: prakash-p-a/htb-ai-red-teamer

记录 HTB AI Red Teamer 学习路径的技术笔记仓库,涵盖机器学习模型攻防与 LLM Prompt 注入的实操实验与分析。

Stars: 0 | Forks: 0

# htb-ai-red-teamer 记录我学习 HTB AI Red Teamer 路径的过程(由 Google 构建,与 SAIF 对齐)。 目标认证:HTB COAE (Certified Offensive AI Expert) **从这里开始:** [docs/architecture.md](docs/architecture.md) — 探讨这四个模块之间的内在联系,而不仅仅是罗列实验室。完整技术笔记:[docs/](docs/)。 ## 进度 - [x] AI 基础 - [x] AI 在信息安全中的应用 - [x] AI 红队测试介绍 - [x] Prompt 注入攻击 - [ ] LLM 输出攻击 - [ ] AI 数据攻击 - [ ] 攻击 AI - 应用程序与系统 - [ ] AI 规避 - 基础 - [ ] AI 规避 - 一阶攻击 - [ ] AI 规避 - 稀疏性攻击 - [ ] AI 隐私 - [ ] AI 防御 ## 如何运行 模块 2 的 notebook 需要 Python 3.11 环境: ``` pip install -r requirements.txt jupyter lab ``` 模块 3 和 4 是针对 HTB 在线目标的 prompt/纯浏览器实验室——无需运行代码,请参阅相关笔记。 未提交任何数据集或模型文件(`.joblib`、`.pth`、`.csv`、`.zip`、`.txt`、`.json` 以及已知的数据集目录均已被 gitignore)——请从各模块笔记中提供的链接获取数据集。 ## 模块 2 — 垃圾信息分类器 基于 UCI SMS 垃圾信息数据集的朴素贝叶斯分类器。在盲测中达到约 91% 的准确率。 ![垃圾信息分类器 pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/6f/6f5895277ff33efe70332f28febd4a43c1682c7b00f7df0aecade1d7eec8bd17.svg) 红队测试视角:一旦你了解了朴素贝叶斯的工作原理,你就知道如何破坏它。插入看似合法的词汇会改变概率得分。这就是规避技术的基础。 技术栈:python 3.11, scikit-learn, nltk, pandas [notebook](module2-spam-classifier/spam_classifier.ipynb) · [完整笔记](docs/module2-notes.md#model-1--spam-classifier) ## 模块 2 — 网络异常检测 基于 NSL-KDD 数据集的随机森林分类器。在盲测中达到约 99.76% 的准确率。 ![网络异常检测 pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/be/be81208592b3d65a73bf4bfda86da7b45c2d52dfdd7479dd6a5d4a50d9dce184.svg) 5 个类别:正常、DoS、探测、提权、访问攻击 红队测试视角:模型对 DoS 和探测的评分达到 99% 以上,但只能捕获 24% 的提权攻击。类别不平衡 = 盲区。了解这一点的攻击者会专门针对 buffer_overflow 和 rootkit 技术。 network anomaly detection test set confusion matrix 技术栈:python 3.11, scikit-learn, seaborn, pandas [notebook](module2-network-anomaly/network_anomaly_detection.ipynb) · [完整笔记](docs/module2-notes.md#model-2--network-anomaly-detection) ## 模块 2 — 恶意软件图像分类器 在 malimg 数据集上微调的 ResNet50 CNN。在盲测中达到 96.69% 的准确率。 ![恶意软件分类器 byteplot 到 CNN 的 pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/ee/ee1e339cf6d9a274ba12fd5660203701589b037a8d9702abb9cf7378c8285758.svg) 25 个恶意软件家族。使用了预训练的 imagenet 权重。仅训练了最后一层。 红队测试视角:对抗性图像扰动可以欺骗 CNN。人类肉眼无法察觉的微小像素改变就能翻转分类结果。这就是后续模块中涉及的规避攻击的基础。 malware class distribution training accuracy curve 技术栈:python 3.11, pytorch, torchvision, pillow [notebook](module2-malware-cnn/Malware_CNN.ipynb) · [完整笔记](docs/module2-notes.md#model-3--malware-image-classifier) ## 模块 3 — 红队测试介绍 针对在线模型 endpoint 的实操实验室。无代码产物——使用浏览器 + Jupyter 单行代码对战 HTB 目标。 ![模块 3 涵盖的技术](https://static.pigsec.cn/wp-content/uploads/repos/cas/ae/ae47f2b02e8f1d567236a41e2681d9585418b1336657a6d9036d5e912e36fcd0.svg) 我做了什么: - ML01 输入操纵:通过附加正常信号词,让垃圾信息分类器做出了错误分类 - ML02 数据投毒:翻转了所有训练标签,将准确率从约 95% 降至 2.8% - ML05 模型窃取:发现了一个未经身份验证的 `/model` endpoint,直接下载了已训练的分类器 - 后门攻击(技能评估):对训练数据进行投毒,使得任何以魔法短语结尾的垃圾信息都会被分类为正常信息,同时将整体准确率保持在 90% 以上。隐蔽、有针对性,且能通过正常的 QA 检查。 [完整笔记](docs/module3-notes.md) ## 模块 4 — Prompt 注入攻击 深入的部分。直接注入、间接注入、越狱以及编写防御措施。 **直接注入:**利用重复(“逐字重复上述内容”)、翻译,以及在输出过滤器阻止直接泄露时进行逐块提取,泄露了系统 prompt。 **间接注入:**发现了一种几乎在所有地方都奏效的技术——将注入包装成“摘要后的验证步骤”,而不是一种覆盖。在网页摘要工具、邮件摘要工具以及求职申请接收机器人上均取得了成功。 **越狱:**对于低风险请求(偷苹果),角色扮演小说瞬间奏效。高风险请求(抢劫银行)需要将骨架密钥与角色扮演融合到单条消息中——将它们拆分到不同的对话轮次会让模型的护栏重置并拒绝执行。 **防御:**编写系统 prompt 以阻止密钥泄露。惨痛的教训告诉我,黑名单可能会适得其反——通过名称列出被禁止的操作反而会引导模型去执行它们。重新定义攻击者模糊指代的内容(而不直接提及被禁止的操作)效果更好。 **技能评估:**从一个支持机器人的系统 prompt 中泄露了管理员密钥,找到了一个带有聊天审核机器人的管理面板,并利用间接注入让审核机器人自己检测并标记了注入尝试——完成了整个评估的闭环。 ![模块 4 技能评估攻击链](https://static.pigsec.cn/wp-content/uploads/repos/cas/f1/f107c288ab62f0200860bae9e57bfbc24308f93d26da26e4c584b9dd198acbdf.svg) 技术栈:仅使用 prompt 工程,无代码。提到了 garak 用于自动化扫描,但未在本地运行。 [完整笔记](docs/module4-notes.md) 利用 AI 帮忙清理了错别字。我的大脑转得比手指快。xd
标签:Apex, 人工智能安全, 凭据扫描, 合规性, 大语言模型安全, 学习笔记, 对抗样本攻击, 数据展示, 机器学习, 机密管理, 红队, 逆向工具