首先确认 Composer 版本是否为 2.5 或更高,若不是则需执行 composer self-update 升级;随后在项目根目录运行 composer audit,该命令会读取 composer.lock 文件并检测依赖中的已知安全漏洞,输出包含问题包名、严重程度、CVE 编号及修复建议;可通过 --no-dev、--only-dev、--strict 等参数调整审计范围,发现漏洞后应根据提示升级依赖或评估风险,定期执行此操作可提升项目安全性。

要使用 composer audit 命令检查 PHP 项目中的安全漏洞,你需要确保使用的是 Composer 2.5 或更高版本,因为该命令是从这个版本开始引入的。它能自动扫描 composer.lock 文件中已安装的依赖,检测是否存在已知的安全漏洞。
确认 Composer 版本
在运行审计命令之前,先检查当前 Composer 的版本:
composer --version如果版本低于 2.5,需升级 Composer:
composer self-update运行 composer audit
进入你的 PHP 项目根目录(即包含 composer.lock 文件的目录),执行以下命令:
Composer 会自动读取 composer.lock,并连接官方安全数据库(由 FriendsOfPHP/security-advisories 提供)来比对已知漏洞。
输出结果通常包括:
- 存在漏洞的包名称
- 漏洞严重程度(如 low、medium、high、critical)
- 问题描述和 CVE 编号(如有)
- 建议修复方案(通常是升级到某个版本以上)
调整审计范围(可选)
你可以通过参数控制审计的行为:
-
只检查生产环境依赖:
composer audit --no-dev -
只检查开发依赖:
composer audit --only-dev -
以严格模式运行(发现任何漏洞都返回非零退出码):
composer audit --strict,适合 CI/CD 环境
处理发现的漏洞
当 composer audit 报告漏洞时,应根据提示更新相关依赖:
- 查看提示中建议的最小安全版本
- 运行 composer require vendor/package:recommended-version 进行升级
- 再次运行
composer audit确认问题是否解决
某些情况下,依赖可能已不再维护或没有安全版本,这时需要考虑替换为其他替代方案或评估实际风险。
基本上就这些。定期运行 composer audit 能帮助你及时发现并修复第三方库的安全隐患,提升项目整体安全性。










