AeonDave/malskill
GitHub: AeonDave/malskill
一个面向 AI agent 的全频谱攻防安全技能合集,通过高信噪比的结构化技能文件为自治 agent 提供攻击工具使用、实战方法论与角色编排能力。
Stars: 6 | Forks: 1

面向 AI agent 的全频谱安全技能合集 - 基于开放的 [AgentSkills](https://agentskills.io) 规范构建。
每个技能都是一个独立的文件夹,包含一个 `SKILL.md`,可为任何 AI agent 提供深厚的领域知识:命令语法、实际工作流、决策逻辑、边缘情况以及操作注意事项。
该合集涵盖了以安全为核心的 agent 所需的全部范围:攻击性工具执行、主动漏洞利用、后渗透、凭证攻击、防御性制品分析、恶意软件理解、私人攻防 CTF/实验室解题,以及构建自定义工具的开发工作流。这些类别是相辅相成的——有效的安全工作需要在单个任务中在攻击者、分析师、开发者和实验室解题者的视角之间进行切换。
本仓库优先为攻防安全工作进行策展。诸如 `coding/`、`knowledge/`、`behaviours/`、`ai/`、`hardware/` 和 `commands/` 等支持领域仅当它们能直接改善当前主动安全任务时,才属于本仓库。
## 为什么选择 Malskill?(Agent 范式)
大多数公开的 AI 技能仓库都失败了,因为它们把 LLM 当作人类学生或硬盘来对待。它们直接将 10,000 行的 SecLists payload、庞大的工具手册和理论教科书倾倒在 context window 中。这会导致 **注意力稀释** 和 context 崩溃——agent 会产生幻觉,运行未经授权的破坏性命令,或者迷失在描述漏洞的历史中,而不是去利用它。
Malskill 则有着根本的不同。它被设计为用于自治 agent 的 **Software Contract**:
- **高信噪比**:零理论废话。技能使用严格的 `Cognitive Stance -> The Loop -> Strict Rules` 结构。
- **负向约束**:LLM 具有“急于取悦”的倾向,经常会出于好心而跳过步骤。我们使用严格的负向边界(*“不要运行扫描器”*、*“证据优先”*、*“在 /dev/shm 中执行”*)来防止幻觉并执行 OPSEC。
- **关注点分离**:我们将 **Roles**(身份与约束)、**Techniques**(方法论)和 **Tools**(命令执行)进行了深度分离。agent 只在需要时加载恰好所需的内容,从而保持 context window 的纯净。
- **重方法论而非 Payload**:Malskill 不会向 prompt 中喂入静态的 Wordlists。它会教 agent *去哪里* 下载它们,或者 *如何* 使用宿主 OS 工具安全地遍历它们。
## 技能剖析
- `SKILL.md` - 基础工作流、路由和任务指导。
- `references/` - 针对特定子任务的按需加载深入解析;它们用于扩展父技能,不应作为 README 风格的概述、培训材料或设计理念。
- `scripts/` - agent 可以运行的确定性辅助工具。
- `assets/` - 模板或静态支持材料。
## 分类
### `offensive-tools/` - 攻击工具技能
每个工具对应一个技能,按攻击阶段组织。每个技能涵盖工具的工作原理、关键标志、目标场景、输出解析和 OPSEC 注意事项。
该领域明确关注 **如何使用特定工具** 来达成目标。
| 子类别 | 示例 |
|------------|---------|
| `windows/` | bloodhound, certipy, crackmapexec, impacket, mimikatz, rubeus |
| `vuln-scanners/` | burpsuite, dalfox, nuclei, sqlmap, testssl, trivy |
| `recon/` | dnsx, feroxbuster, gobuster, httpx, massdns, shodan |
| `network/` | chisel, ligolo-ng, masscan, mitmproxy, nmap, responder |
| `cryptography/` | rsactftool, sagemath, cyberchef |
| `web/` | commix, corsy, jwt-tool, smuggler, xsstrike, zap |
| `fuzzing/` | aflplusplus, arjun, boofuzz, dotdotpwn, ffuf, restler |
| `osint/` | amass, ghunt, maigret, phoneinfoga, spiderfoot, theharvester |
| `forensic/` | capa, tcpdump, volatility3, wireshark, yara, zeek |
| `rev/` | binaryninja, frida, gdb, ghidra, radare2, windbg |
| `wireless/` | aircrack-ng, kismet, lswifi, sparrow-wifi, wifite |
| `linux/` | linpeas, linux-persistence, mimipenguin, pwncat, ssh-key-scanner |
| `shells/` | reverse-ssh, revshells, shellerator, weevely3 |
| `cracking/` | hashcat, hydra, john |
| `exploits/` | beef, metasploit, searchsploit, vuln-research |
**关于 `forensic/` 的说明**:这些技能的存在是因为安全工作通常需要分析攻击产生的制品——了解防御者能看到什么、恢复入侵后证据、评估检测面以及验证 OPSEC。像 `volatility3`、`capa` 和 `yara` 这样的工具,对于想要了解 EDR 行为的红队操作员和蓝队分析师一样有用。
### `offensive-coding/` - 攻击性开发技能
用于从零开始构建攻击性工具的技能:shellcode、loaders、BOFs、syscall stubs、evasion primitives 以及 Windows 内部原理。面向进行工具开发,而不仅仅是工具执行的 agent。
- **BOF**:`bof-dev/c-bof`、`bof-dev/cpp-bof` - Beacon Object File 开发工作流
- **Evasion**:`edr-evasion-dev`、`indirect-syscall-dev`、`sleep-masking-dev`、`stack-spoofing-dev` - 技术层面的开发模式
- **漏洞利用与 payload 开发**:`heap-exploitation-dev`、`rop-development-dev`、`shellcode-dev`
- **内部原理**:`windows-internals-dev`、`linux-internals-dev` - OS API、结构和内存布局知识
- **C2**:`adaptixc2-dev` - 特定框架的开发
### `offensive-techniques/` - 方法论与实战技术技能
该领域明确关注 **一般情况下如何执行某项技术**,独立于某一个特定工具。
- 包括策略、流程、决策流和工作流模式。
- 可能会提到哪些工具是合适的,但**不会**成为工具手册。
示例:
- `offensive-tools/fuzzing/` = *工具级指南*(标志、命令模式、特定工具技巧)
- `offensive-techniques/fuzzing-technique/` = *模糊测试方法论*(测试框架思维、语料库策略、活动设计、验证逻辑)
这两层是互补的,并且是刻意分开的。
### `offensive-roles/` - 主管与操作员角色技能
以任务为导向的角色技能,用于在精确的垂直操作员之间进行监督和委派攻击性工作。Roles 将 `*-technique` 方法论技能与优化后的工具技能组合在一起;它们不会取代任何一层。
| 技能 | 角色 |
|-------|------|
| `offensive-supervisor-role` | OODA 编排者。掌控任务、范围、委派和严格的证据关卡 |
| `offensive-recon-role` | 产出范围化的目标包、资产清单和外部攻击面发现 |
| `offensive-osint-role` | 执行被动的、零触动的公开来源、身份和泄露凭证研究 |
| `offensive-web-role` | 应用层操作员。处理 API 映射、输入篡改和 OWASP 级别的漏洞验证 |
| `offensive-cloud-role` | 云/SaaS/IAM 操作员。专注于主体身份、元数据 endpoint 和 blob 存储 |
| `offensive-windows-role` | Windows 操作员。处理 AD 枚举、access token、IPC 以及 OPSEC 感知的本地提权 |
| `offensive-linux-role` | Linux 操作员。Living-off-the-Land (LotL) 执行、主机分诊和 Unix 权限提升 |
| `offensive-mobile-role` | 移动端操作员。处理 APK/IPA 静态分析、流量拦截和 Frida 插桩 |
| `offensive-reverse-role` | 逆向工程师。针对二进制文件、恶意软件和未知协议进行静态与动态分析 |
| `offensive-hardware-role` | 硬件操作员。通过 UART、JTAG、SPI 进行物理设备入侵和嵌入式数据提取 |
| `offensive-forensic-role` | 取证操作员。从内存转储、磁盘镜像和 PCAP 中提取凭证和时间线 |
### `offensive-ctf/` - 私人攻防 CTF 与实验室解题技能
针对 flag 类目标、谜题类制品、离线目标包和私人实验室场景的挑战解题工作流。该领域有意与 `offensive-techniques/` 中的实战方法论区分开。
- 专门的 `*-ctf` 技能涵盖 web、crypto、pwn、reverse、forensics、OSINT、AI/ML、malware、misc、ICS/OT、hardware/embedded、blockchain/Web3 以及 writeup 工作流。
- 选择与主要制品匹配的 `*-ctf` 类别;仅当 bundle 确实属于跨领域时才并行加载多个。
CTF 技能可能会引用技术和工具技能,但它们始终针对受控实验室目标进行优化,而非现实世界中的实战技术。
### `coding/` - 语言模式与工具
针对安全工具中最常用语言的惯用代码模式、测试策略和性能指南。这些技能赋予了 agent 编写、审查和改进代码的能力——而不仅仅是运行现有工具。
- **汇编** - x86-64/ARM64 模式、syscall stubs、shellcode、evasion primitives、测试
- **C / C++** - 安全模式、现代惯用法、fuzzing、sanitizers
- **Rust** - 所有权、API 设计、性能、unsafe 模式
- **Go** - 惯用模式、并发、性能
- **Python** - 模式、async、pytest 工作流
- **跨领域** - TDD、测试可靠性和系统性 debug 工作流
### `knowledge/` 和 `behaviours/` - 研究与元技能
支持工作流本身的技能:设计、实现规划、研究、分析、证据质量、验证关卡、编排、审查分诊和文档自动化。
这些类别是支持层。仅当它们能改善当前的 offsec 任务时才加载它们,而不是作为背景阅读。
| 技能 | 角色 |
|-------|------|
| `skill-creator` | 创建、验证并打包新技能 |
| `agent-md-creator` | 引导并维护 `AGENTS.md` 文件 |
| `readme-md-creator` | 创建并维护高信噪比的 README 文件 |
| `design-before-implementation` | 在构建之前明确范围、替代方案、约束和成功标准 |
| `implementation-planning` | 将批准的设计转化为可执行、可验证的任务计划 |
| `evidence-before-claims` | 基于可重现的证据和客观的不确定性来限制安全声明 |
| `verification-before-completion` | 在声称工作完成或修复之前要求进行最新的验证 |
| `external-feedback-triage` | 在采取行动之前验证审查、扫描器发现、PoC 和模型建议 |
| `deep-research-offensive` | 带有来源链的、有文件支持的攻击性安全研究 |
| `deep-research-generic` | 通用深度研究 |
| `cve-search` | CVE 枚举和公开 PoC 收集 |
| `poc-weaponization` | 安全地评估、改编和重写原始的公开概念验证 |
### `ai/` - AI 框架技能
- **`langchain-py`** - 面向生产的 LangChain Python 工作流
### `hardware/` - 嵌入式技能
- **`arduino`**
### `commands/` - Agent 行为与命令模式
- **`1337`** - 超级压缩的攻击性操作员模式,可实现最大的信号/token 效率
## 快速开始
```
# Clone
git clone && cd malskill
# 交互式安装(选择 skills、目标路径、格式、布局)
./install.sh # Bash
.\install.ps1 # PowerShell
# 安装单个 skill(将文件夹复制到 agent skill 目录中)
cp -r offensive-tools/windows/mimikatz ~/.agents/skills/
# 安装所有 offensive-tools skills
cp -r offensive-tools/*/* ~/.agents/skills/
# 安装所有私有 offensive CTF skills
cp -r offensive-ctf/* ~/.agents/skills/
# 保留布局进行安装(按类别分组)
./install.sh --skills offensive-tools/windows/mimikatz --format folder --layout group --destination ~/.agents/skills
```
技能就是普通的文件夹 - 无需构建步骤,没有运行时依赖。将技能文件夹复制到您的 agent 读取技能的任何位置,它就会自动激活。
**支持的输出格式:**
- `folder` - 直接复制技能目录
- `.skill` - 可分发的 archive(标准 zip,保留技能文件夹名称)
- `zip` - 内容相同的标准 zip
**支持的安装布局:**
- `flat` - 所有选定的技能直接位于目标根目录下
- `group` - 在目标根目录下保留分类结构
## 验证
```
# 验证单个 skill
python knowledge/skill-creator/scripts/quick_validate.py offensive-tools/windows/mimikatz
# 检查已更改文件的最终换行符和 git diff 空白字符问题
python knowledge/skill-creator/scripts/check_changed_files.py
# 验证整个部分(Bash)
find offensive-tools/windows -type f -name SKILL.md -exec dirname {} \; | sort -u | \
while IFS= read -r dir; do python knowledge/skill-creator/scripts/quick_validate.py "$dir"; done
# 验证整个部分(PowerShell)
Get-ChildItem offensive-tools/windows -Directory | ForEach-Object {
python knowledge/skill-creator/scripts/quick_validate.py $_.FullName
}
# 将 skill 打包为 .skill 归档文件
python knowledge/skill-creator/scripts/package_skill.py offensive-tools/windows/mimikatz
```
## 范围边界(重要)
- 当核心问题是:**“我该如何用好这个特定工具?”** 时,将技能放入 `offensive-tools/`
- 当核心问题是:**“无论使用什么工具,我该如何很好地执行这项?”** 时,将技能放入 `offensive-techniques/`
- 当核心问题是:**“我该如何解决这个受控实验室、挑战或 flag 类目标?”** 时,将技能放入 `offensive-ctf/`
不要在同一个技能中混淆这些目的。将实战技术放在 `offensive-techniques/`,工具手册放在 `offensive-tools/`,实验室/挑战解题放在 `offensive-ctf/`。
每个技能文件夹至少包含一个带有有效 YAML frontmatter 的 `SKILL.md`。有些还包括用于自动化辅助的 `scripts/`、用于按需加载的特定子任务深度解析的 `references/`,以及用于模板的 `assets/`。
标签:AI合规, AI智能体, DLL 劫持, Go语言工具, 大语言模型, 应用安全, 网络安全, 逆向工具, 防御加固, 隐私保护