Zizmor本可以捕捉到Ultralytics工作流漏洞

2024-12-08

Ultralytics,一个流行的机器学习视觉包,遭到攻击,攻击者入侵了其CI,并在PyPI上发布了包含加密矿工的恶意版本(v8.3.41和v8.3.42,现已删除)。攻击者利用了pull_request_target触发器和自定义GitHub Action中的模板注入漏洞,通过植入恶意分支名称执行代码,并可能通过投毒缓存污染构建流程。Zizmor安全工具可以检测到关键漏洞,但未能识别自定义操作中的模板注入。攻击者还使用了被盗的token进行后续攻击,并直接发布了v8.3.45和v8.3.46恶意版本到PyPI。

阅读更多
未分类

Liquidsoap实现软件定义网络电台

2024-11-22

本文介绍了如何使用Liquidsoap构建一个灵活的网络电台。作者对比了传统网络电台工具的局限性,例如固定播放列表和脆弱的本地回环,并提出了Liquidsoap的优势:无缝处理主要播放列表和实时麦克风插入、与更大的电台管理工作流程集成(自动获取和播放Navidrome实例中的播放列表)、以程序方式维护。文章给出了Liquidsoap脚本示例,演示了如何创建流生成器、处理输入输出、实现交叉渐变、添加麦克风输入以及设置回调函数等功能。作者还分享了个人电台的设置,并总结了Liquidsoap带来的好处:降低了直播中断的风险,让电台管理更轻松有趣。

阅读更多

用 Pydantic 在 Python 中逼近和类型

2024-08-14

文章介绍了如何在 Python 中使用 Pydantic 库来实现和类型。文章首先指出了 Pydantic 在数据验证方面的优势,然后通过一个示例说明了 Pydantic 的局限性,即无法直接表达类似“异或”这样的逻辑关系。为了解决这个问题,文章引入了和类型的概念,并详细讲解了如何使用 Pydantic 的标签联合(tagged union)特性来逼近和类型。文章还讨论了如何使用枚举类型作为标签值、如何设置默认标签值以及如何复用代码等问题。

阅读更多
未分类 Pydantic 和类型

Python wheel 文件名缺乏规范形式

2024-06-12

这篇文章探讨了Python wheel文件名缺乏规范形式的问题。文章指出,尽管Python包名和版本号都有规范化规则,但wheel文件名却没有,导致无法直接通过字符串比较判断两个文件名是否等效。文章分析了压缩标签集的顺序和重复性问题,这些问题加剧了文件名不规范的程度。作者认为,尽管这个问题在实际应用中 rarely 造成影响,但它表明wheel文件名不适合作为领域密钥使用。最后,文章提出了两种解决方案,建议规范压缩标签集的表达和引入规范化方法。

阅读更多