如何让 php 项目的分支仍然通过 owasp 依赖性检查进行安全检查

How to have a fork of a php project still get security checks with owasp dependency check

我们使用 composer 对 php 项目使用 owasp 依赖性检查。

许多模块从上游仓库派生到内部 git 仓库。由于分支名称与上游名称不匹配,依赖性检查将无法将它们与 CVE 匹配。

是否有任何方法可以为作曲家条目起别名或表明它是一个分支,以便能够识别安全问题?

“提示”正是我所需要的。

万一其他人需要类似的东西的步骤。

  1. 在一个临时项目中,我创建了一个 composer.json,其中包含上游项目
  2. 运行“composer install”以创建 composer.lock 文件
  3. 运行 "dependency-check --project "temp-project" --scan "." --enableExperimental" 创建一个报告,这样我就可以得到供应商的证据和产品。
  4. 在使用分叉回购的项目中,我创建了一个名为“dependency-check-hints.xml”的文件,并将编造的分叉供应商和产品名称放在“给定”部分和上游供应商和产品。
  5. 然后我运行 "dependency-check --project "project-that-uses-fork" --scan "." --enableExperimental --hints dependency-check-hints.xml
<?xml version="1.0" encoding="UTF-8"?>
<hints xmlns="https://jeremylong.github.io/DependencyCheck/dependency-hint.1.1.xsd">
  <hint>
    <given>
      <evidence type="vendor" source="composer.lock" name="vendor" value="my-project-name" confidence="HIGHEST" />
      <evidence type="product" source="composer.lock" name="product" value="fork-of-project" confidence="HIGHEST" />
    </given>
    <add>
      <evidence type="vendor" source="hint analyzer" name="vendor" value="upstream-project-name" confidence="HIGHEST" />
      <evidence type="product" source="hint analyzer" name="product" value="upstream-project" confidence="HIGHEST" />
    </add>
  </hint>
</hints>