该Docker镜像用于August扫描Node.js软件中的已知安全风险和非必要密钥。它基于以下三个工具构建:
./entropyscanner.py假设:
augusthome团队docker login登录该账户docker build -t augusthome/nodescanner . docker push augusthome/nodescanner
推送新镜像后,所有引用该镜像的Bitbucket流水线构建将使用新镜像。但仅更新Docker镜像不会触发Bitbucket流水线自动重建。
要运行这些Node安全测试,请参考以下示例,并将第一个step应用到项目根目录的bitbucket-pipelines.yml中。
clone: depth: 1有助于加快拉取速度。Bitbucket默认深度为50。
image: node:8 # 限制深度以避免安全扫描浪费时间检查旧提交 clone: depth: 1 pipelines: default: - parallel: - step: name: Node安全扫描器 # 覆盖镜像以获取包含扫描软件的版本 image: name: augusthome/nodescanner # 确保与用户"scanner"的ID匹配(使用`id -u scanner`查看) run-as-user: 1001 script: # 在/opt/atlassian/pipelines/agent/build中运行 - ~/scan_node.sh - step: name: 测试 script: - echo $APICREDS_JSON | base64 --decode > ~/apicreds.json - export APIKEYFILE=~/apicreds.json - ./scripts/cibuild.sh
可使用默认配置运行,或在项目设置中设置以下环境变量:
配置变量(括号内为默认值): FAIL_ON_NPM_AUDIT_SCAN (1) : 1 FAIL_ON_AWS_SECRETS (1) : 1 FAIL_ON_HIGH_ENTROPY (0) : 0 NPM_AUDIT_SKIP_SEVERITIES (moderate,low) : moderate,low ENTROPY_MIN (0-1, <0表示跳过) (0.6) : 0.6 ENTROPY_BLOCK (-1表示整行) (-1) : -1 ENTROPY_IGNORE (文件名) (npm-shrinkwrap.json package-lock.json package.json) : npm-shrinkwrap.json package-lock.json package.json 可在以下地址设置这些环境变量: [***]
FAIL_ON_*控制安全扫描步骤失败时是否导致构建失败。设为0忽略失败,设为1则失败时终止构建。例如,FAIL_ON_HIGH_ENTROPY默认值为0,因为高熵扫描结果通常噪声较大(许多代码行看似高熵密钥)。
NPM_AUDIT_*这些是仓库中npm审计安全扫描器ciaudit.js的参数。
NPM_AUDIT_SKIP_SEVERITIES:逗号分隔的忽略严重级别列表。使用此功能时需谨慎,密切关注例外情况。ENTROPY_*这些是仓库中自定义熵扫描器entropyscanner.py的参数。
ENTROPY_MIN:0-1之间的值,数值越高表示需要检测的熵越高。设为0将跳过熵扫描。低于约0.5时会检测到大量代码,0.7时虽仍有较多代码,但密钥更易识别,不过可能遗漏部分密钥。ENTROPY_BLOCK:计算熵的字节数(假设为ASCII字符)。默认值-1表示检查整行,20也是常用限制。ENTROPY_IGNORE:空格分隔的忽略文件列表。不支持通配符,但会忽略所有目录中的这些文件。git-secrets本脚本不支持通过环境变量配置git-secrets。如需添加配置,请参考[***]
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429