如何便捷核查服务器已安装依赖、排查未打补丁的Ruby gem插件
核查Gemfile依赖版本与补丁状态的操作方法
所有操作均在项目根目录(Gemfile、Gemfile.lock文件所在目录)执行,不需要编写Ruby代码,仅需运行对应命令即可。
一、核查可更新的稳定版本依赖
使用Ruby项目默认的依赖管理工具Bundler的内置功能即可完成,无需额外安装工具:
- 执行
bundle outdated:直接输出所有已安装依赖与当前最新稳定版本的差异,包含三列核心信息:当前安装版本、最新可用版本、Gemfile中设置的版本约束,同时会标注差异属于大版本更新、小版本更新还是补丁级更新。 - 执行
bundle outdated --patch:仅过滤出存在补丁级更新的依赖,排除大、小版本的功能类更新,适合优先补安全漏洞的场景。 - 执行
bundle check:可快速核对当前已安装的依赖是否和Gemfile、Gemfile.lock的要求匹配,排查依赖安装异常。
二、核查存在安全漏洞的未打补丁依赖
专门针对有安全风险的依赖做筛查:
- 如果提示命令不存在,先执行
gem install bundler-audit安装审计工具,全程自动化无需手动配置。 - 执行
bundle audit update同步最新的公开Ruby依赖漏洞库,保证扫描结果的准确性。 - 执行
bundle audit:自动比对本地依赖和漏洞库数据,直接输出存在未修复漏洞的依赖清单,包含漏洞级别、CVE编号、修复需要升级到的最低版本号。
三、导出依赖清单核对
执行bundle list可直接导出所有已安装依赖的名称和对应版本号,方便和上述扫描结果交叉核对。
内容的提问来源于stack exchange,提问作者Jay Best
相关产品推荐
相关产品推荐

