如何让 php 项目的分支仍然通过 owasp 依赖性检查进行安全检查
How to have a fork of a php project still get security checks with owasp dependency check
我们使用 composer 对 php 项目使用 owasp 依赖性检查。
许多模块从上游仓库派生到内部 git 仓库。由于分支名称与上游名称不匹配,依赖性检查将无法将它们与 CVE 匹配。
是否有任何方法可以为作曲家条目起别名或表明它是一个分支,以便能够识别安全问题?
“提示”正是我所需要的。
万一其他人需要类似的东西的步骤。
- 在一个临时项目中,我创建了一个 composer.json,其中包含上游项目
- 运行“composer install”以创建 composer.lock 文件
- 运行 "dependency-check --project "temp-project" --scan "." --enableExperimental" 创建一个报告,这样我就可以得到供应商的证据和产品。
- 在使用分叉回购的项目中,我创建了一个名为“dependency-check-hints.xml”的文件,并将编造的分叉供应商和产品名称放在“给定”部分和上游供应商和产品。
- 然后我运行 "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>
我们使用 composer 对 php 项目使用 owasp 依赖性检查。
许多模块从上游仓库派生到内部 git 仓库。由于分支名称与上游名称不匹配,依赖性检查将无法将它们与 CVE 匹配。
是否有任何方法可以为作曲家条目起别名或表明它是一个分支,以便能够识别安全问题?
“提示”正是我所需要的。
万一其他人需要类似的东西的步骤。
- 在一个临时项目中,我创建了一个 composer.json,其中包含上游项目
- 运行“composer install”以创建 composer.lock 文件
- 运行 "dependency-check --project "temp-project" --scan "." --enableExperimental" 创建一个报告,这样我就可以得到供应商的证据和产品。
- 在使用分叉回购的项目中,我创建了一个名为“dependency-check-hints.xml”的文件,并将编造的分叉供应商和产品名称放在“给定”部分和上游供应商和产品。
- 然后我运行 "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>