一台 VPS 被服务商通知对外发起 SSH brute force ,随后 IP 被 null route 。机器上主要跑网站和一些自建服务,我自己肯定没有主动扫别人。
通过 VNC 进去看了一下,发现不是简单的误报。系统里确实有可疑进程在对外连很多 22/80/443 端口,而且进程挂在一个 runner 用户下面。继续查发现该用户家目录下有一个隐藏目录,里面有几个伪装成系统服务名的二进制文件,比如类似 crond 、init 、upd 这类名字,其中一个还是 UPX 压缩过的 ELF 文件。
目前的判断是:VPS 确实被植入东西了,且大概率和 self-hosted runner 或 CI/CD 执行环境有关,但还没完全确定入口。GitHub workflow 本身看起来没有明显异常,不过机器上确实有 self-hosted runner ,且恶意文件落在 runner 用户目录下。
现在已经做了几件事:
[ol]
[/ol]
想问下大家:
目前个人感觉,self-hosted runner 这类东西如果长期在线、又和生产环境混在一起,风险比想象中高很多。


