为什么Npm审计返回400错误码?
由于npm注册表发生了突破性的变化,Xray无法执行npm审计命令。当发出这个命令时,npm客户端将返回一个类似这样的错误:日志含义为repo $repo_name获取审计报告失败。状态:400原因:{"error":"Failed to read request"}
在x射线日志中,将记录以下错误:[jfxr] [ERROR] [9caf27aft49e63db] [npm_audit_handler:40] [main]读取请求失败,err: json:不能将数组unmarshal到Go结构字段advisories. optional_report_to_enhanced .advisories. optional_report_to_enhanced .advisories. optional_report_to_增强。类型为string的Cwe
此行为影响低于3.44.2的x射线版本。在Xray 3.43.4及更高版本上实现了针对此行为的修复,因此,Xray应该升级到包含修复的版本以缓解该问题。如果无法立即进行升级,可以将以下属性添加到$JFROG_HOME/artifactory/etc/artifactory.system。在Artifactory机器上的properties文件作为临时的解决方案:artifactory.npm.minimal.xray.audit.support = 9.9.9
此属性将禁用此功能,直到执行升级。在HA设置的情况下,应该将其添加到所有节点。修改需要重新启动才能生效。