把指南转化为安全试用流程
使用真实资料前,请先在包清单审计器中用合成数据试做《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》的步骤。勾选状态只保留在当前标签页。
单独审查安装生命周期
preinstall、install、postinstall 可在安装依赖时自动运行。应从源码检查网络下载、Shell 链接、环境密钥访问与平台特定行为。
处理前记录输入格式、假设和验收标准,使方法可重复。ByteQuant 示例只是起点;真实流程应分别测试代表性的正确、错误与边界案例。 此项检查用于《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》中的“单独审查安装生命周期”步骤,并核对以下工具生成的可观察证据:paket-manifestosu-denetleyici, npm-script-risk-tarayicisi, github-actions-izin-denetleyici, dockerfile-guvenlik-on-kontrolu。
在处理真实记录前,先为“单独审查安装生命周期”建立第 1 份合成验收记录。针对该步骤加入缺失、错误和边界输入,并预先写明各自的预期结果。输出中分开标记直接观察、规则推断和人工批准,确认后再进入“收紧权限与引用”。
- 先用少量合成数据测试。
收紧权限与引用
GitHub Actions 应使用最小 job 权限,把第三方 Action 固定到完整提交 SHA,并建立受控更新流程。不要在 pull_request_target 下直接运行不可信代码。
在结果中区分直接观察、工具推断与人工决策。分数或绿色标记并不能证明身份、安全、法律合规或来源准确。 此项检查用于《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》中的“收紧权限与引用”步骤,并核对以下工具生成的可观察证据:paket-manifestosu-denetleyici, npm-script-risk-tarayicisi, github-actions-izin-denetleyici, dockerfile-guvenlik-on-kontrolu。
在处理真实记录前,先为“收紧权限与引用”建立第 2 份合成验收记录。针对该步骤加入缺失、错误和边界输入,并预先写明各自的预期结果。输出中分开标记直接观察、规则推断和人工批准,确认后再进入“验证容器与 root 边界”。
- 记录失败与停止条件。
验证容器与 root 边界
浮动基础镜像标签、宽泛 COPY、777 权限与 root 用户会增加可重复性和权限风险。应在真实运行环境测试镜像 digest、.dockerignore、锁定安装、只读文件系统与非 root 运行。
先在本地助手中规划,再在工作站中进行版本管理。每个节点输出传递前都要检查,移除敏感数据,并通过独立来源或合格人员核验高影响决策。 此项检查用于《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》中的“验证容器与 root 边界”步骤,并核对以下工具生成的可观察证据:paket-manifestosu-denetleyici, npm-script-risk-tarayicisi, github-actions-izin-denetleyici, dockerfile-guvenlik-on-kontrolu。
在处理真实记录前,先为“验证容器与 root 边界”建立第 3 份合成验收记录。针对该步骤加入缺失、错误和边界输入,并预先写明各自的预期结果。输出中分开标记直接观察、规则推断和人工批准,确认后再进入“单独审查安装生命周期”。
- 将来源、日期和方法说明与输出一起保存。
实操流程:从输入到经核验的交付
先准备安全样例,移除个人数据、密钥与受许可限制的内容。按顺序执行下列三项检查,每一步都与上一版本比较,只有明确验收条件通过后才继续。工具发出警告时,应缩小输入、记录不确定性并返回最近一次已核验阶段,而不是强行推进结果。 此项检查用于《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》中的“实操流程:从输入到经核验的交付”步骤,并核对以下工具生成的可观察证据:paket-manifestosu-denetleyici, npm-script-risk-tarayicisi, github-actions-izin-denetleyici, dockerfile-guvenlik-on-kontrolu。
单独审查安装生命周期 → 收紧权限与引用 → 验证容器与 root 边界
- 同时保存初始输入与预期结果。
- 每一步记录变更字段及变更理由。
- 使用不同样例和独立审核者重新测试最终输出。
- 分享内容应保留来源、日期、版本与已知限制。
质量门槛、失败路径与安全交付
语法有效并不足以完成交付。还应分别检查内容完整性、可访问性、语言一致性、隐私风险与可回滚性。对于高影响的金融、法律、安全或身份决定,ByteQuant 输出只能作为预检查;没有当前一手来源或合格审核者时,不应作为最终结论。 此项检查用于《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》中的“质量门槛、失败路径与安全交付”步骤,并核对以下工具生成的可观察证据:paket-manifestosu-denetleyici, npm-script-risk-tarayicisi, github-actions-izin-denetleyici, dockerfile-guvenlik-on-kontrolu。
- 成功标准是否可观察、可重复?
- 空、错误、超大和恶意输入是否会安全停止?
- 结果、工具推断与人工决定是否清楚分开?
- 是否再次检查敏感数据、外部链接和许可条件?
- 是否保留变更记录与回滚副本?
把指南转化为可重复的检查流程
请使用这套包含 4 个工具的检查计划来落实《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》。目标:不执行代码即可发现高价值风险信号并安排人工审查优先级。包含方法、边界、工作流与核验步骤的详细 ByteQuant 指南。 请先用安全示例代替真实数据,并记录每一步的预期结果与验收决定。
包清单审计器
- 准备
- 输入获授权的代码或配置。
- 执行
- 运行受限的本地预扫描。
- 验收检查
- 结合语境和官方文档核验发现。
- 预期输出
- 包清单审计器完成后会提供证据位置、严重程度、误报可能性和下一步核验操作,并围绕“针对 package.json 版本范围、脚本、引擎和发布字段生成可解释风险提示”组织结果。. 针对 package.json 版本范围、脚本、引擎和发布字段生成可解释风险提示。
npm 脚本风险扫描器
- 准备
- 输入获授权的代码或配置。
- 执行
- 运行受限的本地预扫描。
- 验收检查
- 结合语境和官方文档核验发现。
- 预期输出
- npm 脚本风险扫描器完成后会提供证据位置、严重程度、误报可能性和下一步核验操作,并围绕“不执行脚本即可发现安装生命周期、网络下载、Shell 链接与删除命令信号”组织结果。. 不执行脚本即可发现安装生命周期、网络下载、Shell 链接与删除命令信号。
GitHub Actions 权限审计器
- 准备
- 输入获授权的代码或配置。
- 执行
- 运行受限的本地预扫描。
- 验收检查
- 结合语境和官方文档核验发现。
- 预期输出
- GitHub Actions 权限审计器完成后会提供证据位置、严重程度、误报可能性和下一步核验操作,并围绕“预扫描工作流权限、未固定 Action 引用与高风险 pull_request_target 用法”组织结果。. 预扫描工作流权限、未固定 Action 引用与高风险 pull_request_target 用法。
Dockerfile 安全预检查
- 准备
- 输入获授权的代码或配置。
- 执行
- 运行受限的本地预扫描。
- 验收检查
- 结合语境和官方文档核验发现。
- 预期输出
- Dockerfile 安全预检查完成后会提供可下载的新文件、大小与格式指标,以及公开的处理限制,并围绕“按行标记 root 用户、浮动标签、复制密钥、宽泛权限与缓存残留”组织结果。. 按行标记 root 用户、浮动标签、复制密钥、宽泛权限与缓存残留。
包清单审计器适用以下边界:包清单审计器的使用边界:代码不会执行;未发现问题并不能证明不存在漏洞。 如果未满足该条件,请勿把输出传递到工作流的下一步。
落实《包、npm 脚本、Dockerfile 与 CI 的本地供应链预检查》时,请记录工具名称、所选设置、浏览器版本,以及“代码审查前扫描”的接受或拒绝理由,而不是敏感内容。这样既能重复检查,也不会复制真实数据。