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等基础设施的计算资源,执行非授权任务(如挖矿)。
相关推荐
天下不喵1 小时前
安全小白入门(2)-----跨站脚本(XSS)
前端·后端·安全
q***T5831 小时前
Java安全编程实践
安全
卖芒果的潇洒农民3 小时前
Work Github相关
github
CXH7284 小时前
架构师的登山之路-第四站-用架构师的视角重新理解网络和安全
网络·安全·php
EasyGBS4 小时前
EasyGBS如何为养老院构建全天候安全防线?
安全
逛逛GitHub5 小时前
新挖掘了 3 个优质的 GitHub 项目,有点意思啊。
github
佛祖让我来巡山5 小时前
⚠️登录认证功能的成长过程:整体概述
安全·登录·springsecurity·登录认证·认证授权
围炉聊科技7 小时前
筑牢大模型安全防线:京东JoySafety和Meta LlamaFirewall两款主流开源安全框架解析
安全·开源
光算科技7 小时前
网站被谷歌标记“不安全”(Not Secure)怎么处理?
安全·搜索引擎
半个西瓜.16 小时前
车联网NFC测试:NFC信号嗅探测试.
网络·安全·网络安全·车载系统