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等基础设施的计算资源,执行非授权任务(如挖矿)。
相关推荐
EasyGBS1 分钟前
摄像头还在线,画面已经不能用了?国标GB28181视频平台EasyGBS视频质量诊断怎么用
服务器·安全·音视频
迪康Defender1 小时前
终端安全审批体系设计:如何平衡安全管控与业务连续性
运维·服务器·安全·运维开发·学习方法·业界资讯·远程工作
jimmyleeee2 小时前
大模型安全之四十五:从数据到输出----GenAI 版权、知识产权与伦理合规实战指南
人工智能·深度学习·安全
AI行业应用研究2 小时前
会务信息载体的演进:纸质、PDF 与结构化数据源的分发成本与版本一致性
大数据·人工智能·安全·小程序·架构·pdf
wflynn2 小时前
GitHub 日榜趋势速报 | 2026-10-10
开源·github
Mr.朱鹏2 小时前
科技周报(第2026-10-10期):GPT6与安全
科技·安全·chatgpt
看着博客敲代码3 小时前
No space left on device:服务器被 SSH 爆破到日志写满的完整排查与止血
linux·运维·服务器·安全·ssh
fthux3 小时前
开源小工具 Who Arrives:看看你的公网 IP、地区、时区和网络
http·开源·github
anxiao_m3 小时前
内外网文件交换如何兼顾安全与效率?2026企业工具选型攻略
运维·服务器·安全