mcpField
D
deepsec

deepsec

github.com/vercel-labs安全1.6k90 次安装1 天前更新
代码仓库

关于 deepsec

deepsec 是一项技能,用于对当前 Vercel 项目检出执行可重复的限范围 DeepSec 安全扫描,并指导上下文准备、扫描、AI 处理和结果导出。

主要功能

  1. 01检查项目安全敏感文件
  2. 02初始化 DeepSec 工作区
  3. 03添加项目专属扫描上下文
  4. 04执行限范围扫描与处理
  5. 05将发现导出为 Markdown

适用场景

  1. 01对 Vercel 项目检出进行初步安全审查
  2. 02为 DeepSec 扫描准备项目上下文
  3. 03导出扫描发现以供审阅

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/vercel-labs/dev3000 --skill deepsec

安装后在 Claude Code 中输入/deepsec确认已加载。

详细介绍

DeepSec Dev3000 运行手册

使用此技能,将手动 DeepSec 工作流转化为针对当前 Vercel 项目检出版本、可重复执行的 dev3000 运行。

操作政策

  • 在真实项目检出目录 /workspace/repo 中工作。
  • 不要将 AI 凭据写入 .deepsec/.env.local 或任何受跟踪的文件。dev3000 运行时会通过进程环境传递 AI Gateway 凭据。
  • 默认 dev3000 运行是范围受限的初步扫描。除非用户在针对本次运行的说明中明确要求执行完整 DeepSec 扫描,否则不要运行不受限的 process 或 revalidate 命令。
  • 将生成的扫描状态保存在 DeepSec 已加入 gitignore 的位置。只提交持久化的设置/上下文文件和人类可读的发现报告。
  • 将 DeepSec 视为拥有 shell 访问权限的编码 Agent。不要让它处理不可信的源输入。

默认流程

  1. 检查项目结构:
    • 如果存在 README.md,则阅读。
    • 如果存在 AGENTS.md 或 CLAUDE.md,则阅读。
    • 浏览具有代表性的文件,了解身份验证、中间件、请求处理程序、数据访问、计费、webhook 和安全敏感边界。
  2. 如有需要,初始化 DeepSec:
    • 如果不存在 .deepsec/,运行 npx --yes deepsec@latest init。
    • 如果 .deepsec/ 已存在,不要强制覆盖。
  3. 安装 DeepSec 工作区依赖项:
    • 在 .deepsec/ 中运行 corepack pnpm install。
    • 确保 DeepSec 实际使用的 Claude Agent SDK 原生二进制可用。不要运行 Claude Code 的 postinstall;DeepSec 使用 @anthropic-ai/claude-agent-sdk。
    • 如果无法使用 corepack pnpm,仅在确认 pnpm 存在后运行 pnpm install。
  4. 填写生成的项目上下文:
    • 阅读 .deepsec/node_modules/deepsec/SKILL.md。
    • 阅读 .deepsec/data/<id>/SETUP.md。
    • 用简洁且针对项目的上下文替换 .deepsec/data/<id>/INFO.md。
    • 将 INFO.md 控制在约 50-100 行。
    • 每个部分使用 3-5 个示例。指出本地基础组件,例如身份验证辅助工具、中间件、数据库客户端、webhook 处理程序和特权 API。
    • 不要包含行号、通用 CWE 列表或宽泛的框架概述。
  5. 运行扫描:
    • 在 .deepsec/ 中运行 corepack pnpm deepsec scan。
  6. 运行范围受限的 AI 处理:
    • 默认命令:corepack pnpm deepsec process --limit 25 --concurrency 2 --batch-size 3。
    • 如果候选项少于限制数,说明已处理所有发现的候选项。
    • 如果用户明确要求完整运行,则使用指定的限制/并发数,或省略 --limit。
    • 如果 process 命令失败,则停止并报告失败。不要根据正则表达式候选项生成手动备用报告。
  7. 生成发现报告:
    • 运行 corepack pnpm deepsec export --format md-dir --out ./findings。
    • 如果没有发现项,则创建 .deepsec/findings/README.md,总结本次范围受限的扫描未发现问题,并列出实际运行的准确命令。
  8. 总结运行情况:
    • 包含运行的命令、项目 ID、限制数/并发数,以及报告是否包含发现项。
    • 默认不要添加“后续步骤 - 完整扫描”部分。
    • 仅当 DeepSec 报告存在尚未处理的候选项,或用户明确询问更深入的覆盖范围时,才添加后续扫描部分。将其标记为“可选的深入后续扫描”,并准确说明它与已完成运行的区别。

验证

  • 优先使用 DeepSec 自身的命令输出、corepack pnpm deepsec status 和生成的发现文件进行验证。
  • 除非用户明确要求进行视觉/运行时验证,否则不要启动开发服务器或浏览器。
  • 完成前,检查 git diff --stat,并确认没有意外暂存机密、node_modules、.env.local 或原始扫描状态。

评论

支持 Markdown