0

0

Python GitHub Actions 的 self-hosted runner 安全

冷炫風刃

冷炫風刃

发布时间:2026-02-14 22:33:10

|

616人浏览过

|

来源于php中文网

原创

self-hosted runner 默认不安全,因其绕过 github 托管 runner 的沙箱、网络隔离与自动清理机制,易被恶意 fork pr 触发任意命令并危害宿主机。

python github actions 的 self-hosted runner 安全

self-hosted runner 为什么默认不安全

GitHub Actions 的 self-hosted runner 运行在你自己的机器上,但它的执行权限和网络环境完全由你控制——这意味着它天然绕过 GitHub 托管 runner 的沙箱、网络隔离和自动清理机制。一旦 workflow 中的 run 步骤被恶意 PR 触发(比如通过 fork 提交的 PR),runner 就可能执行任意命令,读取宿主机凭证、访问内网服务、甚至反向连接攻击者服务器。

如何防止 fork PR 自动触发敏感 job

这是最常见也最容易被忽略的风险点。默认情况下,fork 发起的 PR 也能触发你的 workflow,且其 secrets 不会注入(这点没错),但 run 脚本本身仍会在你的私有 runner 上执行。

  • 在 workflow 文件中显式添加 if: github.event_name == 'pull_request' && github.repository_owner == 'your-org' || github.event_name != 'pull_request' 条件判断
  • 更稳妥的做法是:对所有敏感 job(比如部署、发布、访问内部 API)加 permissions: 限制,并配合 concurrencyenv 隔离
  • 禁用 fork PR 的自动运行:在仓库 Settings → Actions → General → “Workflow permissions” 中关闭 “Allow GitHub Actions to create and approve pull requests”,并勾选 “Restrict workflows to selected actions”

runner 进程该用什么用户身份运行

绝不能用 root 或当前登录用户直接启动 run.sh。runner 进程若以高权限运行,一个 rm -rf /curl | bash 就能毁掉整台机器。

DomoAI
DomoAI

一个前沿的AI图像和视频生成平台,提供一系列预先设置的AI模型

下载
  • 创建专用低权限系统用户,例如 gh-runner,无 shell、无 sudo 权限、home 目录仅限 runner 工作区
  • systemd 管理时,在 service 文件中明确指定 User=gh-runnerGroup=gh-runner
  • 工作目录(_work)和 runner 根目录必须属主为该用户,且禁止其他用户写入:chmod 755 /opt/my-runnerchmod 700 /opt/my-runner/_work

runner 和 workflow 之间怎么隔离敏感信息

secrets 是加密传给 runner 的,但一旦解密进环境变量,就可能被 ps aux、进程内存 dump 或日志泄露。尤其当多个 workflow 共用一个 runner 时,缓存、临时文件、环境变量残留都可能交叉污染。

立即学习Python免费学习笔记(深入)”;

  • 避免在 env: 下直接暴露 ${{ secrets.MY_TOKEN }};改用 steps[*].with.args 或短生命周期的子 shell 传参
  • 禁用 runner 的 cleanup 跳过逻辑:确保每次 job 后 _work 目录被彻底清空(检查 cleanup 日志是否含 Removing work directory
  • 不要复用 runner 实例跑 CI 和 CD:部署类 job 必须独占 runner,或使用标签(runs-on: [self-hosted, deploy])物理隔离

真正难的不是配置几行 YAML,而是持续保证 runner 所在机器的最小权限状态、网络出向白名单、以及对 workflow 拉取内容的零信任——哪怕只改了一行 run,也要当成新代码审查。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

810

2023.08.22

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

450

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

180

2023.10.30

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2304

2026.01.21

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

76

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

49

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

21

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

10

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

14

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 4.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号