composer audit 可检测项目依赖中的安全漏洞,通过读取 composer.lock 文件并对照 PHP Security Advisories Database 检查已知风险;支持审计生产或开发依赖,并可输出 JSON 格式用于 CI/CD;发现漏洞时会提示漏洞等级、影响版本及建议升级版本,帮助开发者及时修复,提升项目安全性。

composer audit 命令可以帮助开发者识别项目中依赖包存在的已知安全漏洞。它通过读取 composer.lock 文件,检查当前安装的依赖包是否包含被公开披露的安全问题,并给出修复建议。
基于官方安全数据库检测风险
Composer 从 PHP Security Advisories Database(由 FriendsOfPHP 维护)获取最新的安全通告数据。该数据库汇总了大量开源 PHP 包的历史漏洞信息,包括 CVE 编号、影响版本范围和修复建议。
执行 composer audit 后,工具会将 lock 文件中的每个依赖项与数据库比对,一旦发现所用版本处于已知漏洞的影响范围内,就会报告出来。
支持多种审计范围和输出格式
你可以根据需要调整审计范围:
- 仅检查生产环境依赖:使用 composer audit --no-dev
- 同时检查开发依赖:默认行为,包含 require 和 require-dev 中的内容
- 以简洁方式输出结果:添加 --format=json 可集成到 CI/CD 流程中
提示修复方案并推动及时更新
当发现漏洞时,composer audit 不仅告诉你哪个包有问题,还会显示:
- 漏洞描述和严重程度(如 low、medium、high)
- 受影响的版本区间
- 推荐升级的目标版本
例如,如果 monolog/monolog 存在漏洞且当前为 1.25.0,而最新安全版本是 2.9.0,命令会明确提示你升级该组件。
基本上就这些。定期运行 composer audit 能帮助你在部署前发现问题,提升项目整体安全性,特别是在持续集成流程中自动执行这项检查非常实用。










