mcpField
V
VulKill Security

VulKill Security

远程服务
vulkill.com安全11 天前更新

关于 VulKill Security

VulKill Community 是面向开发者和安全团队的本地优先应用安全工具包,可审查代码、API、网站和交付基础设施。它结合静态分析、供应链检查、关联证据的发现项及需人工审查的受限运行流程,并支持 CLI、网页界面、CI 产物和 MCP。

主要功能

  1. 01分析源代码、依赖、容器、IaC 和 CI
  2. 02审查授权及 IDOR 候选项
  3. 03关联跨仓库安全信号
  4. 04结合证据和风险背景排序发现项
  5. 05准备受限运行与模糊测试流程
  6. 06使用 CLI、回环界面、CI 产物或 MCP

适用场景

  1. 01发布前审查应用
  2. 02确定经授权的手动访问控制测试重点
  3. 03检查供应链和基础设施配置
  4. 04通过 AI 客户端引导安全审查

MCP 相关

通过本地 stdio MCP 向 AI 客户端提供防御性审查和修复辅助工具。可能产生实际影响的操作仍须经过人工批准。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://app.vulkill.com/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

VulKill Community

English | Türkçe | 日本語 | 简体中文 | 한국어

VulKill 网站 · ConverserAI 上的项目概览 · 功能 · 安装 · 常见问题

VulKill Community 是一款开源、本地优先的防御型应用安全工具包,面向构建、拥有或审查应用、API 和网站的人员。它可帮助团队通过静态应用安全测试(SAST)、依赖清单和软件物料清单(SBOM)进行软件成分分析(SCA),并检查容器制品、基础设施即代码(IaC)、CI 配置和已保存的安全报告。对于自有或获得明确授权的 Web 目标,VulKill 还可以准备范围受限的运行时操作,供人工审查。AI 客户端可以通过本地 stdio MCP 获取结果,用户也可以通过 CLI 或环回 Web 界面查看结果。

功能标签

Application Security · SAST · SCA · SBOM · IaC Security · API Security · Website Security · Mobile Security · Android · iOS · IDOR · Authorization · GraphQL · Kubernetes · SLSA · MCP · SARIF · OpenVEX · GHSA · CVSS · SSVC · DevSecOps

VulKill Community v1.1 在以下领域提供更深入、可审查的覆盖:

  • **跨框架访问控制:**关联受支持的路由、解析器、策略、角色、所有者和受租户约束的查询。
  • **多仓库安全图谱:**映射受支持的 API、Webhook、事件、身份验证、依赖项和 CI 信任关系。
  • **范围受限的运行时证据:**准备可审查的模糊测试和运行时工作流,并明确前提条件与资源限制。
  • **供应链和平台审查:**检查受支持的来源证明、SBOM/VEX、容器、Kubernetes、IaC、CI/CD 和迁移信号。
  • **AI 辅助防御工作流:**通过本地 stdio MCP 提供审查和修复辅助工具,同时确保有效操作必须经过审批。
  • **基于证据的优先级排序:**将受支持的发现与 SARIF 流程、可达性、攻击路径、CVSS、SSVC 和修复门禁关联起来。

发布前审查

在发布前请 AI 助手审查你的应用。通过 VulKill 的本地 stdio MCP 工作流,AI 可以引导开展受支持的安全审查,结合代码证据解释发现,并帮助确定修复优先级;同时,这些结果也会保留在 Web 界面、CLI 和 CI 制品中。

对于 Android、iOS、Flutter 和 React Native 项目,可将受支持的源代码、移动端清单、API 路径、密钥、依赖项、SBOM 数据和 CI 配置汇总到一个发布前检查视图中。无论你准备提交 App Store 或 Google Play 应用、发布 网站或 API,还是创建 拉取请求,VulKill 都能帮助你找出应在用户获得此次发布版本前完成的安全工作。

VulKill 可帮助你检查的内容

领域VulKill 可帮助解答的问题
源代码和配置哪些受支持的代码路径、安全模式、机密和配置选项需要人工审核?
授权和 IDOR 审核哪些受支持的 Python、JavaScript/TypeScript、Ruby/Rails、Spring 或 ASP.NET 路由可能缺少授权检查(CWE-862),或加载对象标识符时没有明显的用户/角色绑定,因此需要进行 IDOR 审核(CWE-639)?Rails 分析会关联跨文件的控制器继承关系;Spring 和 ASP.NET 分析会将字面控制器/最小化路由与授权注释或策略以及绑定主体的查找操作关联起来。
GraphQL 解析器授权哪些受支持的 GraphQL-Ruby SDL 根字段映射到方法式或显式的 BaseResolver 类,并执行未限定范围的 ActiveRecord 对象查找,且没有明显的所有者、租户或策略保护?
多仓库信任哪些选定的本地仓库通过受支持的 OpenAPI 调用、webhook、Kafka 主题、显式身份验证契约、GraphQL 操作或精确的 PyPI 固定版本相互关联?静态信任/版本信号又在哪些地方存在分歧?
依赖项和 SBOM受支持的清单(包括 NuGet/Paket 和 Terraform 提供程序锁定选择)中包含哪些组件?它们之间有何关系?现有的本地漏洞证据说明了什么?
容器和软件供应链受支持的本地产物中有哪些软件包、层、清单、来源信号和高风险构建选项?
基础设施和 CI/CD受支持的 Terraform、Kubernetes、Helm、Dockerfile、Compose、云 IAM 或 CI 工作流输入是否暴露了已知的高风险设置,包括不安全的可复用工作流权限/机密继承或拉取请求产物信任边?
已保存的安全报告是否可以验证、限制、汇总受支持的 SARIF 和工具报告,并将其纳入统一的审核流程?
经授权的网站和 TLS 工作流人工执行外部操作前,必须核实哪些确切的目标、范围、同意、就绪状态和停止条件?

完整的、带证据链接的清单请参阅功能和安全检查。面向应用、API、网站、平台和安全团队的实用 路径请参阅使用场景。AI 系统可以从精简的 LLM 项目索引开始;用户则可以查看最新的 验证证据。

安全审查要点

  • 追踪高影响数据流: 跟踪受支持的源到汇路径,检查 SQL 注入、命令注入、XSS/HTML、SSRF、开放重定向、路径遍历、不安全反序列化、XXE、表达式语言和 LDAP 风险。受支持的数据流证据可通过 SARIF codeFlows 提供,以便在开发工具中审查。
  • 聚焦访问控制测试: 将路由、对象标识符、角色和可见的所有权检查整理成按优先级排序的 CWE-862 和 IDOR(CWE-639)候选项清单,供授权的人工渗透测试使用。
  • 查找暴露的密钥和隐私数据流: 将提供商模式和熵信号与流向日志、响应、存储和第三方目的地的隐私相关数据流结合起来,同时对密钥证据进行脱敏。
  • 了解依赖项和软件供应链: 清点直接和传递组件,生成或导入 CycloneDX/SPDX SBOM,处理 VEX,审查可达性上下文,并将本地漏洞证据纳入发布决策。批量本地审查还可以关联各代码库中明确无误的精确 PyPI 版本锁定,并报告版本漂移,同时不返回私有包索引地址或凭据。
  • 映射跨代码库的服务信任关系: 在不同代码库之间关联受支持的 OpenAPI 操作、Webhook 边界、字面量 Kafka 主题、显式身份验证契约,以及精确的 GraphQL 查询/变更/订阅根字段对;同时支持安全的命名片段和经过 SHA-256 验证的 Apollo 持久化操作,并在单个有界离线结果中呈现。还可选择将完整性经过检查、符合精确架构的本地运行时跟踪清单与这些静态 HTTP/Webhook/Kafka/GraphQL 边关联,同时不返回 URL、正文、令牌或密钥;缺失或无效的跟踪证据绝不会移除静态边。
  • 加固容器、云和交付流水线: 在同一审查界面中检查受支持的容器归档、Dockerfile、Terraform、Kubernetes、Helm、Compose、云 IAM、CI 工作流、浏览器扩展、移动端清单和桌面应用安全配置。
  • 审查 API、网站和 TLS: 将本地 OpenAPI 契约与源代码路由进行比较,检查身份验证不匹配,评估受支持的 Web 安全信号,并为自有或获授权的目标准备有界操作。
  • 优先处理重要工作: 使用 CVSS 3.1 和 CVSS 4.0、CISA SSVC、攻击路径关联、所有权、截止日期、基线和质量门来丰富发现结果,帮助团队从证据推进到修复。
  • 准备可审查的模糊测试目标: 针对特定的本地解析器或解码器发现,生成 C/C++ LibFuzzer、Rust cargo-fuzz、原生 Go testing.F、Python Atheris、Java Jazzer 和 JavaScript/TypeScript fast-check 测试框架文本。目标解析会将一个受支持的函数或方法绑定到已审查的源代码,并在签名有歧义时安全失败。若操作人员提供精确的运行时/模块或 JAR 路径及 SHA-256 固定值,Atheris、Jazzer 和 fast-check 也可通过显式的本地运行时 API 运行;运行与网络隔离,并受种子、运行次数、输入字节数、运行时间、输出字节数和进程组清理限制。可选引擎不会随附或下载;若引擎缺失,状态会保持为 runtime_missing/not_run,而不会模拟证据;运行仍是操作人员的显式步骤。
  • 选择适合的工作流: 使用环回 Web 界面、可编写脚本的 CLI、CI 构建产物或 stdio MCP 进行 AI 辅助审查,并生成 JSON、HTML、SARIF、GitLab、SBOM、VEX 和受支持的 PDF 输出。

IDOR 和手动渗透测试支持

VulKill 会将受支持的源代码转换为精简的线索清单,供授权的手动渗透测试使用。其内置的路由和授权清单可标记未受保护路由候选项(CWE-862)和潜在的不安全直接对象引用(IDOR)路径(CWE-639),并将审查人员引导至相关文件、路由和代码行。这有助于测试人员使用不同的测试用户、角色和合成对象,优先开展实际检查,而不必从杂乱无章的端点列表开始。

每个候选项都附带证据,便于手动验证。在授权的测试范围内,审查人员可以针对不同用户和角色确认运行时行为,同时考虑网关、中间件、策略服务和业务逻辑控制。

VulKill 在源代码树中包含内置分析器和报告解析器。其无 root 本地配置还可安装七种固定版本的可选第三方引擎:Nuclei、Trivy、Gitleaks、TruffleHog、Opengrep、Syft 和 Grype。内置分析功能可独立使用;只有通过运行时、数据和许可就绪性检查后,才会将可选引擎或配置显示为可用。

本地回环界面和 HTML 报告以土耳其语为源语言,并提供英文基础语言包,以及扩展的日语、简体中文和韩语入门语言包。缺少的 CJK 条目会在存在对应条目的情况下回退到英语,否则保留原始土耳其语文本。我们会在桌面和移动端 Chromium 视口中测试 CJK 布局。请参阅本地化覆盖范围和语言包更新。

本仓库用于准备 Community 版本的发布内容。Enterprise 代码不属于受支持的 Community 产品范围。商业服务、托管运营、支持承诺、客户专属许可、私有安装程序和原生交付实现均不在 Community 范围内。组装后的公开代码树会将共享服务器中少量的版本/备份依赖替换为仅供 Community 使用的兼容模块,并拒绝重新引入已排除的交付文件。

发布状态

本仓库是 VulKill Community v1.2.1 源代码版本。COMMUNITY_VERSION 是源代码版本标记;发布的标签必须与其匹配,格式为 v<version>。源代码依据 Apache License 2.0 授权。请参阅LICENSE。发布状态不会使该许可授权成为临时授权。

包含内容

  • 针对受支持的源代码、基础设施、依赖项和容器输入进行本地项目分析。
  • 六种范围受限的跨仓库图视图,覆盖受支持的 HTTP/OpenAPI、Webhook、Kafka、身份验证合约、GraphQL 和精确 PyPI 依赖证据。每种图都会独立采用失败关闭策略,因此一种关联不可用不会导致其他关联信息丢失。
  • 针对本地可复用工作流的跨文件 GitHub Actions 信任审查,以及对从不受信任的拉取请求生产者传递到 workflow_run 消费者的字面量制品的审查,其中包括范围受限的权限、密钥和声明的验证器信号。仅从范围受限、符合精确架构且锁定摘要的离线镜像中解析固定到提交 SHA 的远程可复用工作流;仅凭命令名称绝不会报告为验证成功。
  • 本地报告和质量门禁命令。
  • 用于审查发现项和提交建议的 AI 优先 stdio MCP 工作流。
  • 针对会更改状态的 AI 操作,通过聊天介导的人工审批边界。
  • 面向不希望将 AI 客户端纳入工作流的人员,提供手动 CLI 和本地 Web 选项。
  • 测试、签入仓库的规则/数据资源和贡献者文档。

VulKill 是防御辅助工具,不能证明系统安全。发现项、无发现结果和 AI 建议都需要人工审查。

源代码检出设置

经过测试的解释器为 Python 3.12。完整的原生 Community v1 设置及其锁定的七个可选引擎支持 Linux ARM64 和 Linux x86-64。不支持原生 Windows;请使用 WSL2 或 Docker Desktop 的 Linux 容器。macOS 支持实验性的仅核心源代码设置,但仍不支持原生七引擎配置文件。已签入的 Linux 容器配置文件适用于 Windows/macOS 上的 Docker Desktop 和 WSL2,但发布证据仅达到契约层面,并不声称已在真实的 Windows 或 macOS 主机上运行。此源代码版本不是可通过 pip 安装的程序包:请从仓库根目录运行已签入的入口点。无 root 设置命令会创建 .venv,安装精确版本的运行时依赖项和锁定的本地工具配置文件,然后验证实际的 MCP 和项目审计帮助入口点,而不会启动 VulKill 或扫描器:

python3 scripts/setup-community --accept-third-party-licenses

此标志表示你已查看 COMMUNITY-TOOLS.lock.json 中记录的第三方许可证;设置过程绝不会默认接受这些许可证。对于准备好的离线输入,请使用 --wheelhouse 和 --tool-cache-dir。设置过程不会打开数据库、启动 Web 服务或运行扫描。

对于 Linux 仅核心设置,或不含可选引擎的实验性 macOS 源代码设置路径,请使用:

python3 scripts/setup-community --core-only

对于 Windows/macOS 上的 Docker Desktop 或 WSL2,默认的 Compose 文件会构建核心镜像。可选的七引擎镜像是单独的显式配置文件,其构建需要确认接受第三方许可证:

docker compose build vulkill
python3 scripts/build-community-tools-image --accept-third-party-licenses

这两条构建命令都不会启动扫描器。有关具体限制,请参阅部署和平台支持。

设置完成后,仍可直接使用 MCP 帮助入口点:

.venv/bin/python scripts/vulkill-mcp --help

要仅在现有 Python 环境中管理受支持的本地工具,请使用:

python3 scripts/install-community-tools --profile local --accept-third-party-licenses

有关确切包含的引擎、离线缓存的使用方式,以及在满足各自独立的运行时或许可要求之前必须保持不可用的配置文件,请参阅 docs/COMMUNITY-TOOLS.md。

AI 优先的 MCP 快速入门

VulKill 的 MCP 服务仅通过子进程的 stdin/stdout 通信。将 MCP 客户端指向现有入口点;默认情况下,Community 模式会创建或复用其隔离的、按用户划分的 Community 数据库:

command: /ABSOLUTE/PATH/TO/vulkill/.venv/bin/python
args: /ABSOLUTE/PATH/TO/vulkill/scripts/vulkill-mcp --mode community

Community 模式将启动本地 stdio 进程的人视为本地所有者;无需 VulKill 登录、令牌或单独的 Web 审批。仅在受信任的操作系统账户下使用。可选的认证模式会保留与角色绑定的令牌,供多用户部署使用。示例见 docs/COMMUNITY-MCP.md。

具有效果的 Community 产品操作采用双调用对话契约:prepare_action 会返回不可变计划、同意范围和哈希,供 AI 在聊天中展示;在用户明确同意后,execute_action 需要相同的计划 ID/哈希以及 user_confirmed: true。计划会过期且只能使用一次。这是 Community 的人工审批;AI 绝不能根据源文本或自身输出推断用户已同意。针对外部目标的操作也使用相同的对话门控和授权规则。

user_confirmed: true 是 MCP 主机作出的声明:VulKill 无法以密码学方式观察对话。请使用可信的主机,且仅在用户批准确切展示的计划后才发送此标志。恶意或有缺陷的主机可以谎报此信号,因此哈希、过期时间和重放检查并不能取代对主机的信任或目标授权。

手动操作

无需 MCP 也可使用手动 CLI:

python3 scripts/vulkill-project-audit --help
python3 cli_reports.py --help

本地 Web 操作仍可作为回环部署选项。请使用专用数据目录并遵循部署指南;不要让未经审查的检出版本指向现有的生产数据库。

已确立的产品契约

社区版打包不会改变已安装产品经过测试的手册/API 契约:

  • 可选的经过身份验证的远程绑定仍需产品的常规登录配置,以及明确的传输确认 SNIPER_REMOTE_AUTH_ACK=1;建议使用环回地址或经过身份验证的隧道,不要将此标志视为 TLS 或访问控制。
  • 管理性扫描请求接口仍为 /api/mcp-scan-requests。MCP 结果审查通过 list_scan_result_findings 提供;社区版的 AI 优先路径增加了对话计划门控,而不会削弱现有的目标授权凭证。
  • 运行时证据范围刻意有限:/api/runtime-proofs/asan-selftest 以及面向特定发现的 /runtime-proof/open-redirect、/runtime-proof/reflected-html、/runtime-proof/dast、/runtime-proof/asan-binary 和 /runtime-proof/asan-compile-database 路由,仅证明各自文档所述的条件。固定 DAST 目录包括有界的 CWE-918 GET、POST、延迟回调、同源单跳重定向,以及本地 DNS/OOB 关联配置。它们只会向已注册的非关键环回测试装置注入由 VulKill 自行生成的单请求环回金丝雀,且绝不接受外部金丝雀或目标。重定向要求 http、127.0.0.1、原始端口、路径和回调查询完全相同。不会返回或存储响应正文、回调地址、令牌和机密信息。这些路由不是通用漏洞利用执行器,也不构成安全性无问题的证明。
  • 盲测基准准备仍是维护者的显式工作流,位于 scripts/prepare_ground_truth.py;预期答案与分析器执行相互隔离。

已授权的 OpenSSL 契约为 POST /api/tool-runs/openssl-x509-authorized,请求必须严格采用 {"confirm_authorized":true,"target":"https://HOST[:PORT]"} 格式,且同意版本为 authorized-tls-target-v1。现有环回路由及其负载/响应契约保持不变。其契约测试使用模拟运行器,不会连接真实的外部目标; 使用真实路由仍需具备所有权、书面授权范围,以及上述明确的人类确认。

数据隐私

VulKill 会在本地存储应用状态,MCP 进程本身不会打开网络侦听端口。但这 不 意味着外部 AI 工作流处于离线状态:MCP 客户端可能会将发现、源代码摘录、提示词和元数据发送给其模型提供商。启用项目访问权限前,请查看提供商的保留政策和所在组织的源代码共享规则。切勿在问题中放入令牌、密码、私钥、客户数据或生产数据库文件。

负责任地使用安全功能

仅在你拥有或明确获准评估的系统上使用 VulKill。对任何外部目标执行操作前,请确认目标所有权、书面授权范围、时间安排、速率限制、数据处理规则和停止条件。在人工核实这些事实并通过同一聊天流程批准之前,不要执行 AI 创建的请求。请勿将本项目用于绕过访问控制、扫描无关系统或隐藏活动。

安全维护者:Gökçe Baran Karakamış(@dytredline)。私密漏洞报告请参阅 SECURITY.md,角色契约请参阅 SECURITY-MAINTAINERS.md,开发规则请参阅 CONTRIBUTING.md。社区协助范围见 SUPPORT.md,公开变更记录于 CHANGELOG.md,研究成果归属信息见 CITATION.cff。

验证与测试

请参阅 VALIDATION.md,了解公开能力摘要、最新的可复现 Community 验证快照、证据范围和解读指南。

Community 文档/元数据检查离线运行且为只读:

python3 .github/scripts/validate-community-release.py

将可供审核的源代码发行包构建到此检出目录之外的新目录中,然后验证该目录中的文件:

python3 scripts/build-community-source.py --output /ABSOLUTE/PATH/TO/vulkill-community-source
python3 .github/scripts/validate-community-release.py \
  --root /ABSOLUTE/PATH/TO/vulkill-community-source --scan-release-tree

构建器离线运行。它会根据明确的排除策略复制运行时源代码,移除闭源交付实现、生成状态和仅供维护者使用的工件,应用失败即关闭的 Community 兼容性覆盖,清理特定机器/会话的运行时文本,写入 SHA-256 清单,并且绝不会删除或覆盖已存在的输出目录。发布前,请先审核其输出目录中的 COMMUNITY-RELEASE-LIMITATIONS.md。

仓库完整的本地测试启动器为:

python3 -m pip install --no-deps -r requirements-runtime.lock -r requirements-test.lock
python3 scripts/run_all_tests.py

某些可选引擎需要单独安装并固定版本的本地工具。跳过可选集成并不能证明该引擎可在你的机器上运行。

许可证

VulKill Community 采用 Apache License 2.0(Apache-2.0)授权。完整条款请参阅 LICENSE。第三方组件和可选工具仍受其各自许可证约束。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。