pnpm audit
インストールされたパッケージの既知のセキュリティ問題をチェックします。
セキュリティ上の問題が見つかった場合は、 pnpm update を使用して依存関係を更新してください。 If a simple update does not fix all the issues, use overrides to force versions that are not vulnerable. たとえば、 lodash@<2.1.0 に脆弱性がある場合は、このオーバーライドを使用して lodash@^2.1.0 を強制します。
overrides:
"lodash@<2.1.0": "^2.1.0"
または、 pnpm audit --fix を実行します。
If you want to tolerate some vulnerabilities as they don't affect your project, you may use the auditConfig.ignoreGhsas setting.
Since v11, pnpm audit queries the registry's /-/npm/v1/security/advisories/bulk endpoint. The response does not include CVE identifiers, so advisories are filtered by GitHub advisory ID (GHSA) instead. If you previously listed CVEs under auditConfig.ignoreCves, replace each entry with the corresponding GHSA-xxxx-xxxx-xxxx value (shown in the More info column of pnpm audit output) under auditConfig.ignoreGhsas.
オプション
--audit-level <severity>
- タイプ: low, moderate, high, critical
- デフォルト: low
監査レベルが <severity> 以上のアドバイザリーのみ表示します。
This can also be set via auditLevel in pnpm-workspace.yaml.
--fix
Add overrides to the pnpm-workspace.yaml file in order to force non-vulnerable versions of the dependencies.
Use --fix=update (added in v11.0.0) to fix vulnerabilities by updating packages in the lockfile instead of adding overrides.
When minimumReleaseAge is set, --fix also adds the minimum patched version of each advisory to minimumReleaseAgeExclude in pnpm-workspace.yaml, so the security fix can be installed without waiting for the release age window.
--interactive, -i
Added in: v11.0.0
Review the advisories selected by --fix and pick which ones to apply. Only usable together with --fix.
--json
JSON形式で監査レポートを出力します。
--dev, -D
devDependencies のみを監査します。
--prod, -P
プロダクションの dependencies のみを監査します。
--no-optional
optionalDependencies の監査をしません。
--ignore-registry-errors
レジストリが200以外のステータスコードで応答する場合であっても、プロセスを0で終了します。 したがって、プロセスは、レジストリが実際に見つかった脆弱性を正常に返した場合にのみ失敗します。
--ignore-unfixable
Added in: v10.11.0
Ignore all advisories with no resolution.
Since v11, unfixable advisories are tracked by GHSA rather than CVE.
--ignore <vulnerability>
Added in: v10.11.0
Ignore a vulnerability by its GitHub advisory ID (GHSA). Before v11 this flag accepted CVE identifiers.
設定
auditConfig
auditConfig.ignoreGhsas
A list of GHSA codes that will be ignored by the pnpm audit command.
auditConfig:
ignoreGhsas:
- GHSA-42xw-2xvc-qx8m
- GHSA-4w2v-q235-vp99
- GHSA-cph5-m8f7-6c5x
- GHSA-vh95-rmgr-6w4m
Before v11, auditConfig.ignoreCves was used to filter advisories by CVE identifier. That setting is no longer recognized.