Python 攻击链实录:从供应链投毒到本地提权

Python攻击链与防御实践

这是一篇面向开发者和安全工程师的文章,不讲黑客教程,只讲防守思路。我们从一个现实中常见的攻击链出发,逐步拆解它是如何从“包被投毒”一路延伸到“主机被提权”,再反过来看看——作为工程师,我们该在每一环节做什么。


一、攻击链全景:看似无害的依赖,往往是第一道门

一个 Python 项目,从安装依赖、构建镜像、部署上线,每一步都可能成为攻击入口。
攻击链通常是这样的:

  1. PyPI 投毒:攻击者上传了与热门库名字极相似的恶意包(比如 reqeustsurlib3),或者攻陷了某个维护者账号发布被注入的更新。

  2. 构建环境感染:CI/CD 在构建时自动安装依赖,没有做签名校验,恶意包就被执行。

  3. 运行时回连:恶意包的安装脚本中内置命令(setup.py__init__.py)尝试访问外部服务器,收集环境变量、SSH Key、凭证。

  4. 横向扩散:凭证被用来访问更多服务器、私有仓库或云服务。

  5. 本地提权:攻击者利用不安全的文件权限或临时文件漏洞,从普通用户提升到更高权限。

这条链条,往往从一个 pip install 开始。


二、供应链投毒:从一行安装命令开始的隐患

问题场景

开发者运行:

pip insta
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值