关于 ln-760-security-setup
用于项目安全初始化的协调型 Skill,整合密钥扫描与依赖漏洞检查,汇总风险和发现,并创建或更新安全文档、提交前配置、CI 工作流及忽略规则。
主要功能
- 01协调密钥与漏洞扫描
- 02按严重性汇总发现
- 03创建或更新 SECURITY.md
- 04配置提交前与 CI 模板
- 05添加密钥相关 .gitignore 规则
适用场景
- 01初始化项目安全控制措施
- 02准备 CI/CD 安全流水线
- 03检查密钥与依赖漏洞
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-760-security-setup安装后在 Claude Code 中输入/ln-760-security-setup确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/meta_analysis_protocol.mdreferences/templates/ci_workflow_template.yamlprecommit_config_template.yamlsecurity_md_template.md详细介绍
路径: 文件路径(
references/、../ln-*)均相对于此技能目录。
安全设置协调器
类型: L2 领域协调器 类别: 7XX 引导
目的与范围
- 协调密钥扫描(ln-761)和依赖项漏洞审计(ln-625)
- 将两个工作器的发现汇总为统一报告
- 生成安全基础设施:SECURITY.md、pre-commit 钩子、CI 工作流
- 提供总体安全评分和风险评估
使用时机
- 项目引导期间(由 ln-700-project-bootstrap 调用)
- 手动请求安全审计时
- 初始化 CI/CD 流水线时
工作流
阶段 1:预检
步骤 1:检测项目类型
- 识别主要生态系统:Node.js、.NET、Python、Go 等
- 检查是否已有安全配置(
.gitleaks.toml、SECURITY.md)
步骤 2:检查工具是否可用
- 确认 gitleaks/trufflehog 可用于密钥扫描
- 确认对应生态系统的审计工具可用
- 记录缺少工具的警告(不要失败)
步骤 3:加载现有配置
- 如果存在
.gitleaks.toml:注明需要保留 - 如果存在
SECURITY.md:注明需要更新(而非覆盖) - 如果存在
.pre-commit-config.yaml:检查是否包含 gitleaks 钩子
阶段 2:委派扫描
步骤 1:调用 ln-761 密钥扫描器
- 通过 Agent 工具委派
- 接收:发现项列表、严重性摘要、修复指导
步骤 2:调用 ln-625 依赖项审计器(mode=vulnerabilities_only)
- 通过 Agent 工具委派(可与步骤 1 并行运行)
- 传递参数:
mode=vulnerabilities_only - 接收:漏洞列表、CVSS 评分、修复建议
阶段 3:汇总报告
步骤 1:合并发现项
- 合并两个工作器的发现项
- 按严重性分组(严重优先)
- 计算总体安全评分
步骤 2:风险评估
- 严重发现项:标记为需要立即处理
- 高危发现项:建议在 48h 内修复
- 中危/低危发现项:加入待办列表
步骤 3:生成摘要
- 已扫描文件数
- 发现的密钥(按严重性分类)
- 发现的漏洞(按严重性分类)
- 总体通过/警告/失败状态
阶段 4:生成输出
步骤 1:创建/更新 SECURITY.md
- 使用
references/templates/security_md_template.md中的模板 - 如果文件已存在:更新并保留自定义章节
- 如果是新文件:使用占位符生成
步骤 2:配置 Pre-commit 钩子
- 如果缺少
.pre-commit-config.yaml:使用模板创建 - 如果文件已存在但不含 gitleaks:建议添加
- 模板:
references/templates/precommit_config_template.yaml
步骤 3:生成 CI 工作流
- 如果缺少
.github/workflows/security.yml:使用模板创建 - 模板:
references/templates/ci_workflow_template.yaml - 包含对应生态系统的审计任务
步骤 4:更新 .gitignore
- 确保包含与密钥相关的模式:
.env、.env.*、!.env.example*.pem、*.key
- 保留现有条目
Worker Invocation(强制)
Host Skill 调用: 必须委派 Skill(skill: "...", args: "...")。
- Claude:严格按上述形式调用 Skill 工具。
- Codex:如果没有 Skill 工具,请在可用技能中找到指定技能,阅读其
SKILL.md,将args作为$ARGUMENTS,执行该技能工作流,然后携带结果/产物返回此处。 - 不要内联执行 worker 逻辑,也不要在未执行目标技能的情况下将 worker 标记为已完成。
关键: 所有委派都必须使用
subagent_type: "general-purpose"的 Agent 工具,以隔离上下文。
| Worker | 并行 | 用途 |
|---|---|---|
| ln-761-secret-scanner | 是 | 硬编码机密检测 |
| ln-625-dependency-reuse-auditor | 是 | 漏洞扫描(mode=vulnerabilities_only) |
提示词模板:
Agent(description: "Secret scanning via ln-761",
prompt: "Execute security scanner.
Step 1: Invoke worker:
Skill(skill: \"ln-761-secret-scanner\")
CONTEXT:
Project: {projectPath}",
subagent_type: "general-purpose")
Agent(description: "Dependency vulnerability scan via ln-625",
prompt: "Execute vulnerability scanner.
Step 1: Invoke worker:
Skill(skill: \"ln-625-dependency-reuse-auditor\")
CONTEXT:
Project: {projectPath}
Mode: vulnerabilities_only (only CVE scan, skip outdated/unused checks)",
subagent_type: "general-purpose")
模式: 两个 worker 都可以通过 Agent 工具并行执行,然后汇总结果。
反模式:
- ❌ 不通过 Agent 包装器直接调用 Skill 工具
- ❌ 以任何绕过子 Agent 上下文隔离的方式执行
- ❌ 调用 ln-625 时未提供 mode 参数(否则会运行完整审计)
完成定义
- 已调用并完成两个 worker(ln-761、ln-625)
- 已汇总发现并进行严重程度分类
- 已创建/更新 SECURITY.md
- 已配置 pre-commit 钩子(或记录建议)
- 已生成 CI 工作流(或记录建议)
- 已使用机密模式更新
.gitignore - 已向父级协调器返回总结报告
TodoWrite 格式(强制)
- Phase 1: Invoke secret scanner ln-761 (pending)
- Phase 2: Invoke dependency auditor ln-625 (pending)
- Phase 3: Aggregate findings (pending)
- Phase 4: Generate security artifacts (pending)
- Phase 5: Return summary (pending)
元分析
可选参考:仅当用户要求进行运行后元分析或采用协议格式的运行反思时,才加载 references/meta_analysis_protocol.md。
技能类型:planning-coordinator。收到请求时,在所有阶段完成后运行。使用协议格式在聊天中输出。
参考文件
| 文件 | 用途 |
|---|---|
references/templates/security_md_template.md | 生成 SECURITY.md 的模板 |
references/templates/precommit_config_template.yaml | Pre-commit 钩子配置 |
references/templates/ci_workflow_template.yaml | GitHub Actions 安全工作流 |
关键规则
- 始终向 ln-625 传递
mode=vulnerabilities_only— 完整审计模式不适用于引导场景 - 保留现有配置 — 如果存在
.gitleaks.toml、SECURITY.md或.pre-commit-config.yaml,请更新而不是覆盖 - 所有 worker 委派都使用
subagent_type: "general-purpose"的 Agent 工具(隔离上下文) - 工具缺失时绝不能失败 — 记录扫描器不可用的警告,并使用可用工具继续
- 严重发现会阻止完成 — 返回父级之前,标记为需要立即处理
版本: 3.0.0 最后更新: 2026-02-05