dariuxas/ncl-skill

GitHub: dariuxas/ncl-skill

为 Codex 代理提供 Nuclei 模板编写、验证与扫描工作流设计能力的 Agent Skill,帮助安全人员高效且安全地进行自动化安全检测规则开发。

Stars: 0 | Forks: 0

# 在 Codex 中使用 Nuclei [![Nuclei v3.11+](https://img.shields.io/badge/Nuclei-v3.11%2B-6C47FF)](https://github.com/projectdiscovery/nuclei/releases) [![Agent Skills](https://img.shields.io/badge/Agent%20Skills-compatible-111827)](https://github.com/vercel-labs/skills) [![skills.sh](https://skills.sh/b/dariuxas/ncl-skill)](https://skills.sh/dariuxas/ncl-skill) [![Codex](https://img.shields.io/badge/Agent-Codex-10A37F)](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, 密码管理, 开发辅助, 恶意软件分析, 插件系统, 逆向工具