SLSA_1_2_软件构建溯源与制品签名
SLSA 1.2 实践指南如何证明软件制品来自可信构建专栏代码安全笔记 · 软件供应链安全进阶篇07关键词SLSA 1.2、Provenance、制品签名、构建可信、in-toto摘要安全测试通过的软件就一定是部署到生产环境的那个软件吗如果构建机或发布流程被篡改源代码审查和漏洞扫描的结论可能无法覆盖最终交付物。SLSASupply-chain Levels for Software Artifacts提供了一种渐进式提升供应链可信度的思路。本文围绕SLSA 1.2、构建来源证明Provenance、摘要与签名验证介绍落地路径。一、为什么“扫描过源码”还不够软件从仓库走向生产至少经历四次关键转换构建平台身份SHA256 摘要源码提交构建任务软件制品制品仓库生产部署来源证明发布校验策略攻击者并不一定需要修改 Git 仓库只要能够控制构建任务、注入依赖、替换构建产物或劫持发布凭据就有可能改变生产部署的软件。因此要同时回答谁构建了它、用什么源码和配置构建、产物摘要是什么、部署时是否验证这些信息二、SLSA 1.2 的定位截至 2026 年 10 月SLSA 官方网站将v1.2 列为正式版本。它通过不同轨道tracks和等级描述安全保障能力不等于某个统一颁发的企业资质证书。实践中需要区分Build provenance追踪构建产物与源码、构建平台、构建定义之间的关系Source provenance记录源码修订及其变更管理过程Attestation对声明及其被证明对象进行关联可配合签名、信任根和验证策略。SLSA 升级不是给流水线挂一个标签而是逐步强化构建平台隔离、来源证明与验证能力。不同轨道的具体等级要求应以对应版本规范为准。三、Provenance 应包含什么构建来源证明通常需要覆盖如下关键事实字段类别作用示例Subject被证明的制品OCI 镜像或二进制摘要Builder可信构建平台身份受控 CI 平台Build definition构建类型及输入参数构建工作流、参数Resolved dependencies已解析的源码及依赖Git commit、材料摘要Run details本次构建执行信息调用标识、元数据不要将手写 JSON 文件直接视为可信证据。真正的验证需要确认声明与产物摘要绑定、由预期平台生成、签名/证明身份可信并且构建参数满足发布策略。四、从零落地的四个步骤1. 固定构建输入# 记录当前 Git 提交gitrev-parse HEAD# 记录构建产物摘要示例sha256sum dist/app.tar.gz固定构建工具版本、依赖锁文件和构建镜像摘要尽量减少不可控网络下载。仅固定输入仍不足以证明构建环境可信。2. 使用受控、隔离的构建环境生产发布只允许从受保护分支或经过批准的标签触发开发者提交的工作流不能随意读取生产密钥构建执行器采用临时环境并进行权限隔离明确区分提交者、审批者、构建执行者和发布者。3. 生成并保存证明材料优先使用构建平台支持的 provenance/attestation 机制保存与发布产物一一对应的声明。可采用 in-toto 生态标准及受支持的签名工具但不要忽略平台身份和证据生命周期。4. 把验证作为部署门禁允许部署当且仅当 制品摘要匹配 AND 构建平台身份在允许名单 AND 来源仓库与提交满足策略 AND 构建工作流满足批准条件 AND 证明材料签名/身份验证通过没有验证门禁的来源证明容易退化成“收集了很多文件却没有阻止错误版本发布”。五、三个常见误区误区 1有 SHA-256 就证明制品安全。摘要只能帮助识别文件是否变化若攻击者替换文件并同步替换摘要单独的哈希不提供来源真实性。误区 2签名成功就说明代码无漏洞。签名证明的是某个身份对内容进行了签署不代表内容一定没有缺陷。误区 3使用 GitHub Actions 就自动达到某个 SLSA 等级。等级与具体流程、运行方式、证明生成及验证能力有关不能仅凭工具品牌判定。六、分阶段建设建议阶段目标建议验收证据第一阶段产物可定位Commit、版本、摘要可对应第二阶段构建可溯源来源证明、构建平台身份第三阶段发布可验证自动化部署门禁和拒绝记录第四阶段持续运营证明覆盖率、验证失败率、例外审批总结SLSA 的核心价值是把“我们相信构建流程没问题”变成“我们有可验证的构建事实和发布准入条件”。企业应先从关键生产服务试点建立制品摘要、构建来源证明与部署验证的闭环。

相关新闻

电热综合能源系统日前经济调度模型:Matlab+YALMIP实现可再生能源消纳优化

电热综合能源系统日前经济调度模型:Matlab+YALMIP实现可再生能源消纳优化

1. 项目概述与核心需求解析做电热综合能源系统调度研究的朋友,应该都有过这种体会:单独做电力系统调度吧,风电一多弃风率就压不下来;单独做热力系统调度吧,热负荷的强约束又让机组运行方式僵得要命。真正把电和热放在一…

2026/10/13 3:26:50 阅读更多 →
DRSformer Rain200H 省钱推理复现笔记

DRSformer Rain200H 省钱推理复现笔记

DRSformer Rain200H 省钱推理复现笔记 论文:DRSformer: Efficient Transformer for Image Deraining (CVPR 2023) 仓库:https://github.com/cschenxiang/DRSformer 复现环境:AutoDL RTX 3090 PyTorch 2.1.2 CUDA 12.1 复现日期&#xff1a…

2026/10/13 3:26:50 阅读更多 →
网络专业自我鉴定写作指南:从CLI命令到HR认可的技术叙事

网络专业自我鉴定写作指南:从CLI命令到HR认可的技术叙事

简介:本资源是一份面向计算机网络专业应届毕业生的个人自我鉴定范文,适用于求职简历附件、毕业材料整理或思政类课程作业参考。文档内容结构完整,涵盖思想品德、专业学习、实践能力、综合素质与职业展望五大维度,突出网络专业特色…

2026/10/13 3:26:50 阅读更多 →

最新新闻

PS5串流实战指南:从局域网到外网的远程游戏配置与延迟优化

PS5串流实战指南:从局域网到外网的远程游戏配置与延迟优化

直接接PS5玩家一个很现实的问题:这台机器买回来之后,是不是基本就长在客厅电视柜上了?客厅被占、卧室想玩、出差想刷两把,每次都只能乖乖回到电视前。我捣鼓AnyPS5这套串流方案,就是为了把这台主机从HDMI线的长度里解放…

2026/10/13 20:09:06 阅读更多 →
若依vue3前端页面框架:路由联动、权限指令与缓存机制解析

若依vue3前端页面框架:路由联动、权限指令与缓存机制解析

简介:若依vue3前端页面框架是一套基于Vue3与Element Plus的开源后台管理前端解决方案,面向需要快速搭建企业级系统的开发团队及初中级前端工程师,适用于中后台管理系统、权限控制界面、数据看板等典型场景。压缩包共299个文件、约3MB&#xf…

2026/10/13 20:09:06 阅读更多 →
嵌入式视觉系统中MT9M001C到LCD的端到端时序设计

嵌入式视觉系统中MT9M001C到LCD的端到端时序设计

简介:本资源是面向FPGA初学者与嵌入式图像处理学习者的实战项目,聚焦于MT9M001 CMOS图像传感器的驱动与实时显示实现,适用于基于Altera/Intel FPGA平台的开发板验证与课程实验。项目完整呈现了从传感器数据采集、FPGA逻辑控制(含时…

2026/10/13 20:09:06 阅读更多 →
PS5全机型优化指南:从版本识别、M.2扩展到HDMI 2.1设置与故障排查

PS5全机型优化指南:从版本识别、M.2扩展到HDMI 2.1设置与故障排查

如果你手头有一台 PS5,或者正打算入手,不管是初版、轻薄版还是 Pro 版,这篇文章都是给你准备的。我写这个东西的起因很简单:群里隔三差五就有人问"我这个 PS5 为什么风扇声音这么大""到底要不要上 Pro""…

2026/10/13 20:09:06 阅读更多 →
STM32跑马灯实验详解:从时钟配置到GPIO驱动与工程下载

STM32跑马灯实验详解:从时钟配置到GPIO驱动与工程下载

简介:这份资源是面向嵌入式初学者与STM32入门者的跑马灯实验例程包,围绕GPIO输出控制这一核心知识点,帮助读者快速上手STM32微控制器的基本开发流程。资源以ALIENTEK MINISTM32开发板为硬件平台,配套完整工程代码与详细注释&#…

2026/10/13 20:09:06 阅读更多 →
Steinberg VST插件开发包入门:从零构建VST3音频插件

Steinberg VST插件开发包入门:从零构建VST3音频插件

简介:Steinberg VST插件开发包(VST3 SDK 3.5版)面向音频插件开发者、音乐软件工程师及数字音频工作站扩展爱好者,提供创建虚拟乐器与音频效果处理器所需的完整开发环境。包内共5764个文件,以html文档、png界面素材、h头…

2026/10/13 20:08:06 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →