Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sharp-vectorfreed-check — 针对 CVE-2026-96889 的离线 Sharp / librsvg 证据检查工具。提供 Sharp 和 librsvg 的版本与构建证据。独立 Python 实现;支持 JSON/CSV/HTML 报告;不含漏洞利用载荷。 | Kitploit
工具/GitHubGitHub/completetech-security/sharp-vectorfreed-check
防御工具静态分析漏洞扫描器漏洞分析代码分析配置审计实用工具与框架供应链安全

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
completetech-security/sharp-vectorfreed-check

sharp-vectorfreed-check

针对 CVE-2026-96889 的离线 Sharp / librsvg 证据检查工具。提供 Sharp 和 librsvg 的版本与构建证据。独立 Python 实现;支持 JSON/CSV/HTML 报告;不含漏洞利用载荷。

查看仓库网站
1110天前尚未审核

由 CompleteTech LLC 提供的 sharp-rsvg-rce-check

sharp-rsvg-rce-check

Tests Python 3.10+ No dependencies AGPL-3.0 or commercial license

一个针对 CVE-2026-96889 / GHSA-wq5f-xc86-pv6w 的离线证据检查器,该漏洞是通过 Sharp 使用的 librsvg 内存漏洞。它对你所报告的版本、来源和配置进行分类;它不会检查正在运行的系统。

目录

  • 范围
  • 要求
  • 快速开始
  • 合成报告预览
  • 用法
  • 解读结果
  • 已验证规则快照
  • 本地元数据和源适配器
  • 输出与报告保护
  • 局限性
  • 文档
  • 开发
  • 许可证

范围

该检查器将选定的原生库、报告的版本、来源、平台、libc、SVG 输入路径和加固措施分开处理。它不会导入 Sharp、执行应用程序、解码图像、发送探测、测试可达性或检测入侵。每个结果都保留 exploitability: not_tested。

结果描述的是所提供的证据,而非经过验证的运行时状态。仅对你获授权评估的资产使用该检查器,并将真实清单和报告保存在版本控制之外。

要求

  • Python 3.10 或更高版本。在适当情况下使用 python3 或带版本号的可执行文件;python --version 必须报告 3.10 或更高版本。
  • 单个文件 sharp_rsvg_rce_check.py。无需任何软件包、Node.js、配套文件或网络访问。

快速开始

python sharp_rsvg_rce_check.py --sharp-version 0.35.4 --library-source bundled --sharp-build-source upstream
python sharp_rsvg_rce_check.py --sharp-version 0.35.5 --library-source bundled --sharp-build-source upstream
python sharp_rsvg_rce_check.py --library-source global --librsvg-version 2.63.2 --librsvg-build-source upstream
python sharp_rsvg_rce_check.py --inventory examples/inventory.json --format json
python sharp_rsvg_rce_check.py --inventory examples/inventory.json --format html --output report.html

前两条命令评估下方的官方 Sharp 捆绑包及其报告的修复版本,第三条评估一个独立报告的全局 librsvg,最后两条评估一个合成清单。examples/inventory.json 是合成的。未指定 --output 时,报告会打印到 stdout(默认 JSON)。

合成报告预览

Sharp / librsvg 合成报告

打开合成示例报告。仅为示例数据;这不是实时评估。预览图是该示例的截图,并非来自真实系统的输出。

用法

运行 python sharp_rsvg_rce_check.py --help 查看完整选项列表。提供清单、至少一个报告版本或显式适配器文件:

  • --inventory FILE,一个有界 schema-v1 JSON 清单。它不能与按资产选项组合使用。
  • 一个报告版本,配合按资产选项,例如 --sharp-version、--librsvg-version、--library-source、--platform、--libc、--node-pie、--svg-decoder 和 --untrusted-svg。--sharp-version 和 --librsvg-version 可重复指定,以便保留冲突的观测结果而不是合并它们。
  • 显式本地元数据或源文件,这些还需要 --evidence-root(参见本地元数据和源适配器)。

不会隐式扫描任何目录。字段值、边界和清单格式见参考和清单 schema。

库选择与来源

  • --library-source bundled 表示部署进程被报告使用官方 Sharp 捆绑包。
  • --sharp-build-source upstream 是操作员声明,不是经过验证的来源。
  • 仅凭 Sharp 包版本号无法识别全局库。对于这种情况,请使用 --library-source global 并配合独立的原生库证据(--librsvg-version、--librsvg-build-source)。
  • 未知选择仍保持未知。

解读结果

状态含义
unknown选择、确切版本、来源或支持的规则覆盖范围无法确定所选组件的补丁状态。
potentially_affected报告的官方 Sharp 捆绑包低于其修复版本。运行时条件另行考虑;这并不确认可利用性。
precondition_present该受影响捆绑包与操作员报告的条件符合文档中描述的可能 RCE 条件。未执行实时验证。
mitigated_configuration受影响捆绑包仍被记录,同时操作员报告有效的 SVG 阻止或 Node PIE。这不是已修补或安全的结果。
fixed_version_reported所选组件达到其经审查的修复阈值。这并不证明已部署的二进制文件或补丁集。

所选组件的版本评估与其平台、前置条件和缓解维度是分开的。fixed_version_reported 是报告版本结果:它既不是经过验证的已部署补丁,也不是安全保证,而 potentially_affected 不是已确认的可利用性。全局结果分类的是独立提供的原生库,而不是已安装的 Sharp 包。

缺少 libc 或 PIE 在前置条件维度中仍为 unknown。非 glibc 平台或报告不存在不可信输入路径,并不能清除底层内存缺陷。PIE 针对的是文档中描述的 RCE 条件;其他内存破坏影响仍可能存在。

退出码

操作失败(退出码 2)与评估结果不同。

退出码含义
0已完成且没有启用的门禁匹配。未知证据默认不会导致失败。
1--fail-on-finding 匹配到受影响版本,包括 mitigated_configuration,因为补丁仍需审查;或 --fail-on-unknown 匹配到未知版本评估或受影响版本上未解决的条件。这两个门禁相互独立。
2参数、输入或输出错误,硬限制或 schema 校验失败。
130已中断。当报告可以写入时,已完成的资产会以 complete=false 保留。

在完整报告发布后发生中断会保留该报告并以 130 退出。如果中断导致文件发布状态不确定,检查器会以 130 退出且不重试;在重试前请检查输出,因为诊断信息无法确定发布是否成功。一旦 stdout 发布开始,中断可能留下部分文档,并且不会追加第二份报告。

已验证规则快照

维护者公告和 GitHub 公告记录已于 2026-10-24 审查。

证据已实现的比较
官方 Sharp 捆绑包低于 0.35.5 的稳定 0.x 可能受影响;0.35.x 内的 0.35.5+ 是已报告的修复。未来发布线在此快照中保持未知。
全局 librsvg独立上游 2.63.x 内的 2.63.2+ 是已报告的修复。更早版本保持未知,需要供应商审查:公告指明了修复,但没有单独给出原生库受影响范围的下界。
供应商/自定义/未知构建来源未知;上游包版本号不能确定是否存在向后移植或自定义补丁集。
生效的 VipsForeignLoadSvg 阻断单独的解码器缓解声明。
使用 PIE 编译的 Node 可执行文件单独的 RCE 缓解声明;不是库补丁。

格式错误、相互冲突、带限定条件、预发布以及未覆盖的未来版本保持未知。相互矛盾的 Sharp/原生库观察结果也保持未知。内嵌快照没有更新器,运行时评估从不获取规则更新;请查阅当前供应商指南以进行修复。规则来源见方法论。

本地元数据和源适配器

python sharp_rsvg_rce_check.py --npm-lock examples/package-lock.example.json --evidence-root examples
python sharp_rsvg_rce_check.py --source examples/source.example.js --evidence-root examples --format html
python sharp_rsvg_rce_check.py --node-elf path/to/node --evidence-root path/to
python sharp_rsvg_rce_check.py --sbom path/to/bom.json --evidence-root path/to

可重复使用的 --npm-lock、--sbom、--node-elf 和 --source 选项需要 --evidence-root。所选文件必须解析到该目录内;报告中的路径为相对路径。它们可以与现有的清单或版本输入一同使用,但会生成单独的 adapter-* 资产记录。生成的标识符不得与提供的清单 ID 冲突。不会进行目录搜索、包管理器操作、应用程序导入、原生执行或镜像解码。

所有适配器结果均保持为 unknown,可利用性为 not_tested。元数据无法识别已部署的原生库选择或发布者补丁来源。它绝不会填充操作者前置条件、更改单独的版本评估或确立有效的缓解措施。现有的 schema 1.0 证据契约将这些观察结果作为清单/来源证据和位置进行承载;JSON、CSV 和 HTML 使用相同的已验证记录。

适配器行为与限制
npm lock(v1/v2/v3)提取 Sharp 包版本观察结果,包括嵌套实例和显式别名。链接的、格式错误的和带限定符的标识保持为 unknown。旧版 v2 依赖记录是单独的、不确定的观察结果,绝不用于清除冲突的主条目。不收集注册表 URL 和脚本。受支持范围为空并不代表不存在。
SBOMJSON CycloneDX 1.4/1.5/1.6 和 SPDX 2.2/2.3 的 Sharp/librsvg 包元数据。名称和版本仍为提供的元数据,而非链接证据;不获取外部引用,也不打开任何包路径。CycloneDX 组件命名空间(group)必须为文本;非空命名空间不会被当作未限定作用域的 Sharp/librsvg 标识。嵌套组件会被独立遍历。不支持的标识仍为 unknown 覆盖范围。
ELF(--node-elf)读取标识/头部、最多 1,024 个标准大小的程序头以及一个解释器字符串(最多 512 字节)。支持两种字节序的 ELF32/64;文件大小限制为 2 GiB,元数据读取限制为 58 KiB。截断的或超出文件的表/段、重复的解释器、扩展头部计数以及不支持的布局会被拒绝。带解释器的 ET_DYN 是动态可执行文件候选;单独的 ET_DYN 也可能是共享库或静态 PIE。ET_EXEC 和解释器基名提示会被报告,但不主张 Node 身份、已加载的 libc、运行时 PIE、补丁状态或安全性。不报告确切的加载器路径。不分析其他加固特性。
源代码(--source)显式选择的 JS/TS 文件。简单的 Sharp 默认导入和 CommonJS 绑定可识别工厂以及 block/unblock 调用候选,并附带相对行号。有界本地窗口中的 SVG 加载器标记可能属于无关代码。无匹配、缺少标记、未知选项、非活动块、变量遮蔽、顺序或动态语法绝不构成有效的阻断或输入信任。模板以及正则/除法歧义需要人工审查。不报告源代码字符串和片段。

预算:100 个适配器文件、1,000 条合并结果记录、有界的 4 MiB JSON/文本读取以及现有的 JSON 结构/深度限制;10,000 个包元数据条目、每个文件 200,000 个源令牌以及每个文件 100 个源候选。普通常规文件检查需要稳定的证据副本,而非文件系统沙箱。输出保护包括所有选定的证据文件和别名,即使使用 --force 也是如此。--fail-on-unknown 包含这些 unknown 适配器记录。

格式来源已于 2026-10-25 审查:Linux ELF 头/程序头布局、npm lock 语法、CycloneDX 1.6 schema 和 SPDX 包字段。Linux Foundation gABI 页面访问被拒绝;未绕过任何访问限制。公告阈值、规则日期和原生受影响范围的不确定性保持不变。

输出与报告保护

下载工具