github 软件安全术语

信息来源:https://llvm.org/devmtg/2024-10/slides/tutorial/Stellard-SupplyChainSecurity.pdf

一、供应链与流程相关

  • Supply Chain Security(供应链安全):保障软件从开发者开发、中间流转到用户使用的全链路安全,防范恶意代码注入、权限滥用等风险。
  • Git Repo(Git仓库):存储LLVM源代码的版本控制仓库,是代码提交、合并的核心载体。
  • Pull Request(PR,拉取请求):开发者向LLVM仓库提交代码贡献的方式,需经审查后合并。
  • Release Branch(发布分支):每6个月创建的专门用于版本发布的分支,仅发布管理者可提交代码。
  • Release Tarballs(发布压缩包):基于发布分支生成的源代码压缩包,经签名和制品证明后提供给用户。
  • Release Binaries(发布二进制文件):预编译的可直接运行的LLVM相关文件,方便用户快速使用,需经安全校验。
  • Provenance(制品溯源):通过GitHub Artifact Attestations等机制,记录软件制品的构建来源、流程和相关信息,确保可追溯性。

二、权限与审查相关

  • Commit Access(提交权限):向LLVM Git仓库直接提交代码的权限,当前获取门槛较低。
  • Pre-commit Review(预提交审查):代码提交合并前的审查流程,LLVM中代码所有者和微小变更可例外。
  • Post-Commit Review(提交后审查):代码提交后的补充审查,依赖人工监控提交列表实现。
  • Code Owners(代码所有者):对特定模块代码负责的人员,其提交或微小变更可豁免部分预提交审查规则。
  • RFC(Request for Comments,征求意见稿):LLVM中重大代码变更需提交的文档,用于收集社区意见后再推进。
  • Fine-grained Permissions(细粒度权限):对不同操作、不同角色设置精准的权限控制,LLVM发布资产当前缺乏该机制。

三、基础设施与工具相关

  • GitHub Actions:GitHub提供的自动化工作流工具,LLVM用于构建、测试、发布等自动化任务,基于YAML配置。
  • GITHUB_TOKEN:GitHub Actions的内置访问令牌,每个任务独立生成,任务结束后过期,权限可配置。
  • Secrets(密钥):GitHub Actions中用于存储敏感信息(如PyPI令牌、签名密钥)的工具,支持工作流间"链式调用"。
  • Self-hosted Runners(自建运行器):用户自行部署的GitHub Actions运行环境,相比托管运行器存在更多安全隐患。
  • GitHub-hosted Runners(GitHub托管运行器):GitHub官方提供的运行环境,安全性更高,是LLVM推荐的选择。
  • Workflow(工作流):GitHub Actions中自动化任务的集合,一个工作流可包含多个关联任务,由特定事件触发。
  • Ephemeral Nodes(临时节点):临时部署、任务结束后销毁的计算节点,用于降低Buildkite、Buildbot等基础设施的攻击面。
  • CI(Continuous Integration,持续集成):通过自动化构建、测试,快速验证代码变更的可行性,LLVM要求提交需通过CI测试。

四、事件与攻击相关

  • pull_request Event(拉取请求事件):GitHub Actions的触发事件之一,无Secret访问权限,仓库只读。
  • pull_request_target Event(拉取请求目标事件):GitHub Actions的高权限触发事件,可访问Secret和写入仓库,禁止用于执行未信任代码。
  • Denial of Service (DoS) Attacks(拒绝服务攻击):通过恶意触发大量任务、占用资源等方式,导致仓库或基础设施无法正常提供服务。
  • Token Leak(令牌泄露):GITHUB_TOKEN或Secrets被未授权人员获取,可能引发仓库被篡改、资源被滥用等风险。
  • Backdoor(后门):恶意植入软件中的隐藏功能,可被攻击者绕过正常安全验证访问系统或窃取信息。
  • XZ Attack(XZ后门攻击):典型的供应链攻击案例,恶意用户获取权限后,通过修改发布压缩包注入恶意代码,劫持RSA解密调用。

五、验证与审计相关

  • Artifact Attestations(制品证明):GitHub提供的用于验证软件制品来源和完整性的机制,LLVM发布压缩包和二进制文件均包含该证明。
  • Signature(签名):LLVM发布管理者对发布产物(压缩包、二进制文件)进行的数字签名,用于确认文件未被篡改。
  • Audit Job(审计任务):LLVM针对发布资产设置的定期检查任务,每小时执行一次,用于发现异常上传的资产。
  • Resource Stealing(资源窃取):攻击者滥用GitHub Actions等基础设施的计算资源,执行非授权任务(如挖矿)。
相关推荐
passerby606113 小时前
完成前端时间处理的另一块版图
前端·github·web components
Hello.Reader13 小时前
Flink ZooKeeper HA 实战原理、必配项、Kerberos、安全与稳定性调优
安全·zookeeper·flink
智驱力人工智能13 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
数据与后端架构提升之路14 小时前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全
草梅友仁14 小时前
墨梅博客 1.4.0 发布与开源动态 | 2026 年第 6 周草梅周报
开源·github·ai编程
市场部需要一个软件开发岗位16 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
lingggggaaaa16 小时前
安全工具篇&动态绕过&DumpLsass凭据&Certutil下载&变异替换&打乱源头特征
学习·安全·web安全·免杀对抗
凯子坚持 c16 小时前
CANN-LLM:基于昇腾 CANN 的高性能、全功能 LLM 推理引擎
人工智能·安全
学电子她就能回来吗16 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
QT.qtqtqtqtqt17 小时前
未授权访问漏洞
网络·安全·web安全