Composer从2.5版本起内置composer audit命令,用于检测项目依赖中的安全漏洞。通过运行composer --version确认版本,若过低则使用composer self-update更新。在项目根目录执行composer audit,将扫描composer.lock文件并连接公开安全数据库检查已知漏洞。默认仅报告应用层漏洞,可使用--type=app或--type=platform分别检查应用层或平台层依赖,或同时指定两者。添加--with-details参数可获取CVE编号、风险等级和修复建议等详细信息。建议将composer audit集成到CI流程中,如GitHub Actions中添加run: composer audit --with-details步骤,以便及时发现并处理高危漏洞,防止带病部署。定期运行该命令有助于持续监控依赖安全状态。

Composer 提供了 composer audit 命令,用于检测项目依赖中是否存在已知的安全漏洞。这个功能从 Composer 2.5 版本开始内置,无需额外安装插件,能帮助开发者快速识别引入的第三方包中存在的安全风险。
启用 composer audit 检测安全漏洞
确保你使用的 Composer 版本不低于 2.5。可在终端运行以下命令检查版本:
composer --version如果版本过低,请使用以下命令更新 Composer:
composer self-update运行安全审计命令
在项目根目录下执行以下命令,扫描 composer.lock 文件中的所有依赖:
composer audit该命令会自动连接到公开的安全数据库(如 GitHub Security Advisory Database),检查已安装的依赖包是否存在已知漏洞,并输出详细报告。
查看不同类型的漏洞报告
默认情况下,composer audit 只报告影响应用程序代码的“应用层”漏洞。你也可以检查“平台层”依赖(如 PHP 扩展)的问题:
- 仅应用层(默认):composer audit --type=app
- 仅平台层:composer audit --type=platform
- 同时检查两者:composer audit --type=app --type=platform
提升输出详细程度
若需更详细的漏洞信息(如 CVE 编号、严重程度、修复建议等),可添加 --with-details 参数:
composer audit --with-details输出内容将包含每个漏洞的描述、风险等级(low/medium/high/critical)、建议升级的版本号等关键信息。
集成到开发流程或 CI 环境
为了尽早发现安全隐患,建议将 composer audit 加入日常开发流程或持续集成(CI)脚本中。例如在 GitHub Actions 中添加步骤:
- name: Check for vulnerabilitiesrun: composer audit --with-details
若发现高危漏洞,CI 流程可以中断构建,防止带病部署。
基本上就这些。只要定期运行 composer audit,就能有效监控依赖安全状态,及时响应潜在威胁。










