dariuxas/ncl-skill
GitHub: dariuxas/ncl-skill
为 Codex 代理提供 Nuclei 模板编写、验证与扫描工作流设计能力的 Agent Skill,帮助安全人员高效且安全地进行自动化安全检测规则开发。
Stars: 0 | Forks: 0
# 在 Codex 中使用 Nuclei
[](https://github.com/projectdiscovery/nuclei/releases)
[](https://github.com/vercel-labs/skills)
[](https://skills.sh/dariuxas/ncl-skill)
[](https://openai.com/codex/)
此 [Agent Skill](https://github.com/vercel-labs/skills) 为 Codex 添加了版本感知的 [ProjectDiscovery Nuclei](https://github.com/projectdiscovery/nuclei) 指令。
它涵盖了安全的扫描规划、命令行界面 (CLI) 的使用、模板编写、严格验证、工作流以及 Flow。它还涵盖了动态应用安全测试 (DAST)、带外应用安全测试 (OAST)、headless 执行、JavaScript、代码模板以及所有当前的协议类型。
## 目录
- [安装该 skill](#install-the-skill)
- [前置条件](#prerequisites)
- [包含的内容](#what-is-included)
- [验证模板](#validate-a-template)
- [示例提示词](#example-prompts)
- [安全模型](#safety-model)
- [版本与来源策略](#version-and-source-policy)
- [贡献](#contributing)
## 核心亮点
- 最新的 Nuclei v3 指南,包含明确的旧版本到新版本的兼容性说明
- 高级 HTTP、原始 HTTP、身份验证链、payload 攻击、DAST、race、unsafe 和 pipelining 模式
- 涵盖 DNS、TCP、文件、SSL、WebSocket、WHOIS、headless、JavaScript、代码、Flow 及多协议
- Matchers、extractors、DSL 辅助程序、变量、预处理器、Interactsh/OAST、签名和信任指南
- 包含 loader 和 fan-out 注意事项的条件工作流设计
- 针对范围、secrets、重定向、速率限制、输出、持续集成与交付 (CI/CD) 以及生产环境安全的保守 CLI 默认设置
- 一个无依赖的 Python 包装器,用于严格的本地模板和工作流验证
- 用于常见编写模式的十七个非漏洞利用入门模板
- 核心路由,将每个任务引导至 10 个重点参考资料
## 安装该 skill
### 1. 预览可用的 skill
```
npx skills add dariuxas/ncl-skill --list
```
### 2. 为 Codex 全局安装
```
npx --yes skills@1.5.18 add dariuxas/ncl-skill \
--skill nuclei \
--agent codex \
--global \
--copy \
--yes
```
此仓库已使用 Skills CLI v1.5.18 进行验证。要使用最新版本,请将 `npx --yes skills@1.5.18` 替换为 `npx skills`。
### 3. 验证安装
```
npx skills ls --global --agent codex
```
安装后启动一个新的 Codex 任务,然后显式调用该 skill:
```
Use $nuclei to create a low-noise detection template for an authorized lab.
```
当任务明确涉及 Nuclei 时,Codex 也可以自动激活该 skill。
## 项目本地安装
通过省略 `--global`,仅为当前项目安装该 skill:
```
npx skills add dariuxas/ncl-skill \
--skill nuclei \
--agent codex \
--copy \
--yes
```
## 更新或移除
更新全局安装的 skill:
```
npx skills update nuclei --global --yes
```
将其从 Codex 中移除:
```
npx skills remove nuclei --global --agent codex --yes
```
## 前置条件
请先安装 agent 工具。当需要本地验证或目标执行时,请添加 Python 和 Nuclei。
### Skill 安装
- 可用 `npx` 的 Node.js
- Codex 或其他兼容 Agent Skills 的编码 agent
### 模板验证和扫描
- 用于内置验证包装器的 Python 3.9+
- 位于 `PATH` 中的 Nuclei CLI
- 在进行网络扫描之前,对每个目标和测试类别具有明确的授权
使用[官方方法](https://docs.projectdiscovery.io/opensource/nuclei/install)安装 Nuclei:
```
# macOS 或 Linux 配合 Homebrew
brew install nuclei
# 或者使用 Go 安装最新版本
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
```
验证运行时环境:
```
nuclei -version
nuclei -h
nuclei -ldf
```
运行时帮助和与已安装引擎匹配的 schema 优先于静态示例。
## 包含的内容
该仓库将可安装的 skill 保留在 `skills/nuclei/` 下:
```
skills/nuclei/
├── SKILL.md # Core routing and operating rules
├── agents/openai.yaml # Codex display metadata and default prompt
├── assets/template-starters/ # 17 safe structural starters
├── references/ # 10 focused advanced references
└── scripts/validate_template.py # Strict offline validation wrapper
```
### 参考覆盖范围
每个参考文档拥有 Nuclei 表面的一部分:
| 参考 | 覆盖范围 |
|---|---|
| `cli-operations.md` | 安装、输入、选择器、配置、身份验证、速率限制、输出、CI/CD、更新和信任 |
| `template-schema.md` | 顶层 schema、元数据、变量、协议字段映射和多协议行为 |
| `http.md` | 建模/原始请求、重定向、cookie、身份验证、提取、池化和 pipelining |
| `advanced-http.md` | payload 攻击、DAST、分析器、unsafe 请求、smuggling 和 race 条件 |
| `operators-dsl-oob.md` | Matchers、extractors、DSL 辅助程序、响应部分和 Interactsh/OAST |
| `protocols.md` | DNS、TCP、文件、SSL、WebSocket、WHOIS 和多协议模板 |
| `execution-engines.md` | Headless、JavaScript、代码、Flow、签名和运行时信任 |
| `workflows-editor.md` | 工作流 schema、分支语义、编辑器、共享和 API 行为 |
| `quality-testing.md` | 证据设计、误报控制、测试矩阵、性能和交付状态 |
| `docs-index.md` | 来源语料库、当前权威参考、版本漂移和出处 |
### 入门模板
入门模板涵盖:
- HTTP 检测、原始多请求链、Flow、DAST 和 OAST
- DNS、TCP、文件、SSL、WebSocket、WHOIS 和 headless 检查
- JavaScript 和多协议执行
- 一个检测器、后续模板和条件工作流集合
每个入门模板都包含 `change-me` 占位符,在使用前必须进行调整和验证。它们展示了结构;并不是最终的漏洞检测。
## 验证模板
从仓库根目录执行:
```
python3 skills/nuclei/scripts/validate_template.py ./path/to/template.yaml
```
验证一个目录:
```
python3 skills/nuclei/scripts/validate_template.py ./path/to/templates/
```
该包装器:
- 确认所选的二进制文件返回可识别的 Nuclei 版本
- 对每个子进程强制执行超时
- 在没有目标的情况下运行严格的 `nuclei -validate`
- 检测工作流文档,并使用 `-w` 从正确的参考目录验证它们
- 将 loader 警告和缺失的工作流子项视为失败
- 报告提升的能力,例如 DAST、OAST、headless、文件、JavaScript 和代码
- 在需要时验证已签名的 JavaScript/代码加载
- 从不执行目标网络扫描
### 编写期间的未签名 JavaScript 或代码
Nuclei v3.11+ 会跳过未签名的自定义 `javascript:` 模板。代码模板还需要受信任的签名和明确的运行时授权。
仅用于中间结构检查:
```
python3 skills/nuclei/scripts/validate_template.py \
--allow-unsigned-authoring \
./path/to/template.yaml
```
然后检查最终内容,对其进行签名,并在不带编写例外的情况下重新运行验证器:
```
nuclei -sign -t ./path/to/template.yaml
python3 skills/nuclei/scripts/validate_template.py ./path/to/template.yaml
```
## 示例提示词
将这些提示词作为常见任务的起点:
```
Use $nuclei to repair this legacy template for the installed Nuclei version.
```
```
Use $nuclei to design an authenticated three-request HTTP check with an
internal CSRF extractor and strong positive and negative evidence.
```
```
Use $nuclei to create a DNS → SSL → HTTP multi-protocol template and explain
every exported response field.
```
```
Use $nuclei to review this production scan command for scope, secrets,
redirects, output retention, rate limits, and stop conditions.
```
```
Use $nuclei to build a conditional workflow, calculate its possible fan-out,
and validate all referenced child templates without scanning a target.
```
## 安全模型
该 skill 围绕以下几项默认设置设计:
- 区分编写和离线验证与目标扫描。
- 在任何扫描之前确认授权。
- 优先选择只读、非破坏性的证明,而不是漏洞利用或状态更改。
- 保持 DAST、race、unsafe、headless、JavaScript、代码、文件和 OAST 能力的显式性。
- 将凭证范围限制在确切的域名,避免跨主机 secret 泄露。
- 从狭窄的模板选择和保守的速率/并发限制开始。
- 将匹配视为用于分类的证据,而不是漏洞的自动证明。
- 在仅执行了 schema 验证时,绝不声称已完成行为验证。
有关完整的操作契约,请参阅[核心 skill](skills/nuclei/SKILL.md)。
## 版本与来源策略
为此 skill 请求的原始文档语料库索引在 `nuclei.mintlify.app`,但其中部分内容包含旧版别名和默认设置。本项目根据以下内容对该材料进行了核对:
- 已安装的 `nuclei -h`、`-ldf` 和 `-lha` 输出;
- [当前的 Nuclei 仓库和 schema](https://github.com/projectdiscovery/nuclei);
- [官方模板文档](https://docs.projectdiscovery.io/templates/introduction);
- [官方 nuclei-templates 仓库](https://github.com/projectdiscovery/nuclei-templates);
- [Nuclei v3.11.0 JavaScript 签名更改](https://github.com/projectdiscovery/nuclei/releases/tag/v3.11.0)。
有关确切的出处和已知的旧版到当前版本的漂移,请参阅[文档索引](skills/nuclei/references/docs-index.md)。
## 致谢
本项目基于以下文档和工具构建:
## 许可证
本仓库尚未选择开源许可证。在假定有权重新分发或修改本项目之前,请添加明确的许可证。
标签:AI智能体, CISA项目, DAST, Google, MITM代理, Nuclei, 密码管理, 开发辅助, 恶意软件分析, 插件系统, 逆向工具