使用 composer audit 可检查 php 项目依赖漏洞,需 Composer 2.7+ 版本支持。执行 composer self-update 升级后,在项目根目录运行 composer audit,将扫描 composer.lock 文件并报告安全风险,包括漏洞等级、受影响包、修复建议及 CVE 编号。通过 –no-dev、–only-dev、–strict 等参数可调整审计范围与严格程度,推荐在 CI 中集成 composer audit –strict 实现自动化阻断。定期执行该命令有助于及时发现并修复依赖中的已知安全问题,提升项目安全性。

要使用 composer audit 检查项目依赖的安全漏洞,你需要确保已安装支持该命令的 Composer 版本(2.7 或更高)。这个功能是 Composer 内置的,无需额外安装插件,可以直接扫描 composer.lock 文件中的依赖项,识别已知的安全风险。
启用 composer audit 功能
Composer 从 2.7 版本开始原生支持 audit 命令。如果你的版本较低,需先升级:
composer self-update
升级后可通过以下命令确认版本:
composer –version
运行安全审计
在项目根目录下(即存在 composer.lock 的目录),执行:
composer audit
Composer 会自动读取 composer.lock 并联网查询官方安全数据库,报告存在已知漏洞的依赖包。
常见输出包括:
- 漏洞描述和严重程度(低、中、高、严重)
- 受影响的包名和当前版本
- 建议修复方案(如升级到某个版本)
- CVE 编号或参考链接
调整审计范围和选项
你可以通过参数控制审计行为:
- 仅检查生产环境依赖:
composer audit –no-dev - 仅检查开发依赖:
composer audit –only-dev - 以严格模式运行(发现任意漏洞即返回非零退出码):
composer audit –strict - 查看详细信息:
composer audit -v
集成到持续集成(CI)流程
你可以在 CI 脚本中加入 composer audit --strict,以便在检测到安全问题时自动中断构建,提升项目安全性。
– name: Check for vulnerable dependencies
run: composer audit –strict
基本上就这些。只要定期运行 composer audit,就能及时发现并处理 PHP 依赖中的安全问题,不复杂但容易忽略。