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 小时前
[小技巧19]MySQL 权限管理全指南:用户、角色、授权与安全实践
数据库·mysql·安全
tianyuanwo8 小时前
合并XFS分区:将独立分区安全融入LVM的完整指南
安全·lvm
智驱力人工智能8 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
通义灵码8 小时前
Qoder 支持通过 DeepLink 添加 MCP Server
人工智能·github·mcp
2501_9458374310 小时前
云服务器的防护体系构建之道
网络·安全
数据大魔方13 小时前
【期货量化实战】跨期套利策略:价差交易完整指南(TqSdk源码详解)
数据库·python·算法·github·程序员创富
数据大魔方14 小时前
【期货量化实战】螺纹钢量化交易指南:品种特性与策略实战(TqSdk完整方案)
python·算法·github·程序员创富·期货程序化·期货量化·交易策略实战
小红卒14 小时前
海康威视未授权访问漏洞 (CVE-2017-7921)复现研究
安全
Cx330❀16 小时前
Git 多人协作全攻略:从入门到高效协同
大数据·elasticsearch·搜索引擎·gitee·github·全文检索·gitcode
Data-Miner17 小时前
精品可编辑PPT | 大模型与智能体安全风险治理与防护
安全