[pypi] setup.py install based cmdclass not executed
维护者通常 6 天内回复
还没有人认领这个 Issue。
评估
调研方向
首先跟踪 package-analysis 对 setup.py 安装以及报告中显示的 install cmdclass 的处理。使用提供的 setup.py 行为重现 exotel 0.1.6 案例,并将其与记录的分析结果进行比较。当分析路径能够一致地处理或报告基于 install 的 cmdclass 执行,且不会遗漏此案例时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
exotel v0.1.6 downloads a malicious windows binary when setup.py is called with "install".
Unfortunately we didn't execute the malicious payload which would have called out to the domain "linkedopports[.]com" because it called the "bdist" step to create a wheel, and then installed the wheel:
Install succeeded:
Collecting exotel==0.1.6
Downloading exotel-0.1.6.tar.gz (2.2 kB)
Building wheels for collected packages: exotel
Building wheel for exotel (setup.py): started
Building wheel for exotel (setup.py): finished with status 'done'
Created wheel for exotel: filename=exotel-0.1.6-py3-none-any.whl size=1790 sha256=de7e1ccfae5d769d08346ca1091f41ff3cc753063a58240008ef9d94c0527c43
Stored in directory: /root/.cache/pip/wheels/c6/1e/3e/71d3147d5a3a8d82f51ee372046a92751b1dfa20432f29c144
Successfully built exotel
Installing collected packages: exotel
Successfully installed exotel-0.1.6
The setup.py contained the following:
def send():
# ... truncated ...
class PostInstallCommand(install):
def run(self):
install.run(self)
send()
setup(
name='exotel',
version='0.1.6',
description='exotel',
python_requires=">=3.6",
install_requires=[''],
tests_require=[],
cmdclass={'install': PostInstallCommand},
)
Refs: https://storage.googleapis.com/ossf-malware-analysis-results/pypi/exotel/0.1.6.json, https://osv.dev/vulnerability/GHSA-cv6j-9835-p7fh
- 主要语言
- Go
- 星标
- 925
- 派生
- 75
- 平均合并
- 4 天 2 小时
- 30 天内合并 PR
- 3
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ossf/package-analysis 的其他 Issue
-
Python execute phase aborts with error_analysis when the package closes stdout (MCP stdio servers)未关闭
难度 3/5 1-2 天 新手友好度 78/100
ossf/package-analysis#1200 ·
维护者通常 6 天内回复
-
难度 4/5 3-5 天 新手友好度 45/100
ossf/package-analysis#1192 ·
维护者通常 6 天内回复
-
难度 4/5 3-5 天 新手友好度 35/100
ossf/package-analysis#1125 ·
维护者通常 6 天内回复
-
4gb未关闭
难度 5/5 一周以上 新手友好度 5/100
ossf/package-analysis#1123 ·
维护者通常 6 天内回复
-
>4 gb未关闭
难度 5/5 一周以上 新手友好度 10/100
ossf/package-analysis#1122 ·
维护者通常 6 天内回复
查看 ossf/package-analysis 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
-
evener-transcript-v2-upgrade tool still scans transcript files through bufio's 4 KiB default buffer未关闭
难度 1/5 1 小时以内 新手友好度 78/100
prime-radiant-inc/evener#6370 ·
维护者通常 1 天内回复
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOF未关闭bug
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
Mend: dependency security vulnerability
难度 2/5 1-3 小时 新手友好度 65/100
-
Mend: dependency security vulnerability
难度 2/5 1-3 小时 新手友好度 62/100
ManageIQ/manageiq-pods#1476 ·
维护者通常 1 天内回复