深度安全
Deepsec

原始链接: https://github.com/vercel-labs/deepsec

DeepSeek 是一款基于智能体(Agent)的自托管漏洞扫描器,专为对大规模代码库进行深入分析而设计。与常规扫描器不同,它利用具备高级“思考”能力的尖端 AI 模型来发掘复杂且长期存在的安全漏洞。 主要特性包括: * **可扩展性:** 支持通过并行工作节点(利用 Vercel Sandbox)进行分布式执行,并具备容错和断点续传功能,可从上次中断处精确恢复扫描。 * **工作流:** 采用智能体驱动的设置,用户可以通过定义项目特定上下文(在 `INFO.md` 中)来引导 AI 关注关键组件,从而最大限度地减少噪音。 * **操作:** 提供全面的 CLI 工具,用于扫描、分类、重新验证和报告。用户可以执行全库扫描,或针对变更代码进行定向的 PR 模式分析。 * **安全与成本:** 鉴于计算需求密集,扫描成本可能较高;系统支持通过 Vercel AI Gateway 实现高并发访问。在安全方面,通过在隔离沙箱中运行扫描,可限制潜在风险并防止 API 密钥泄露。 DeepSeek 专为开发者打造,将高阶 AI 推理转化为可执行的安全情报,是维护庞大且持续演进的代码库安全状态的有效(尽管定位为高端)工具。

抱歉。
相关文章

原文

deepsec an agent-powered vulnerability scanner that you can run in your own infrastructure, optimized to perform on-demand review of all code in existing large-scale repos.

deepsec is designed to surface hard-to-find issues that have been lurking in applications for a long time. It is configured to use the best models at maximum thinking levels (tunable via --thinking-level, see docs/models.md), meaning scans can cost thousands or even tens-of-thousands of dollars for large codebases. Our customers have found the cost worth it for how quickly they were able to patch vulnerabilities that would have otherwise gone unfixed.

For large codebases, work fans out across worker machines in parallel. If a run is interrupted or errors out partway through, just re-run the same command — deepsec picks up where it left off, skipping files it already analyzed and only investigating the rest.

Navigate to the root of the repository that you want to scan, then:

npx deepsec init       # creates .deepsec/ with this repo as the first project
cd .deepsec
pnpm install           # installs deepsec from npm

# Proceed as instructed by `init` output

Now have your coding agent bootstrap your installation. Open the agent of choice and prompt:

Read .deepsec/node_modules/deepsec/SKILL.md to understand the tool. Then read .deepsec/data/<id>/SETUP.md and follow it: skim this repo's README, any AGENTS.md/CLAUDE.md, and a handful of representative code files, then replace each section of .deepsec/data/<id>/INFO.md.

Keep it SHORT — target 50–100 lines total. Pick 3–5 examples per section, not exhaustive enumeration. Name primitives (auth helpers, middleware) but no line numbers. Skip generic CWE categories — built-in matchers cover those. Cover only what's project-specific. INFO.md is injected into every scan batch; verbose context dilutes signal.

Then scan from inside .deepsec/:

pnpm deepsec scan
pnpm deepsec process    
pnpm deepsec revalidate # optional, cuts FP rate
pnpm deepsec export --format md-dir --out ./findings

If you feel like the deepsec should look at more parts of the code, give it the writing matchers doc to find more valuable starting points in your code base.

When running locally, deepsec falls back to your existing claude / codex subscription if you've logged in on this machine. Subscriptions (Claude Pro/Max, ChatGPT Plus) are useful for evaluating deepsec but generally don't have enough headroom for full repo scans.

For real scans, use Vercel AI Gateway. One key covers both Claude and Codex, and the gateway's default quotas are sized for highly concurrent research.

AI_GATEWAY_API_KEY=vck_...

See docs/vercel-setup.md for getting a key and for the Vercel Sandbox setup. To bypass the gateway, set ANTHROPIC_AUTH_TOKEN + ANTHROPIC_BASE_URL (or the OpenAI pair) explicitly. Explicit values always win over the AI_GATEWAY_API_KEY expansion.

If a process or revalidate run halts because the upstream credential ran out of quota or credits, deepsec stops gracefully and tells you where to top up. Re-run the same command afterward and it picks up where it left off.

Distributed execution (optional)

Large monorepos can fan work across Vercel Sandbox microVMs:

pnpm deepsec sandbox process --project-id my-app --sandboxes 10 --concurrency 4

Needs a Vercel account. The local working tree is tarballed and uploaded; .git is excluded. Both OIDC tokens (local) and access tokens (CI) are supported — see docs/vercel-setup.md.

Security model of deepsec itself

Treat deepsec like a coding agent with full shell access on the enviroment that it is running on. It is designed to run on trusted inputs (your source code) but you may still be concerned about prompt injection due to external dependencies or vendored code.

Running on a sandbox (see above) does limit the potential exposure substantially:

  • The API keys for the coding agents are injected outside of the sandbox and hence cannot be exfiltrated
  • For the worker sandboxes, network egress from the sandbox is limited to coding agent hosts (Egress is allowed during the bootstrap process, but this does not run the coding agent)
Command What it does
scan Find candidate sites with regex matchers (fast, no AI)
process AI investigation; emits findings + recommendation
process --diff PR-mode: scan + investigate only files changed in a diff
triage Lightweight P0/P1/P2 classification (cheaper model)
revalidate Re-check existing findings; checks git history for fixes
enrich Add git committer info + (with a plugin) ownership data
report Markdown + JSON summary for one project
export Per-finding JSON or directory of markdown files
metrics Cross-project counts: severities, vulns by type, TPs
status Snapshot of the project mirror
sandbox <cmd> Run any of the above on Vercel Sandbox microVMs

Apache 2.0. See LICENSE and NOTICE.

联系我们 contact @ memedata.com