网易首页 > 网易号 > 正文 申请入驻

PyPI开发者用3年造了把"安检门",10秒扫出代码里的暗雷

0
分享至

Python开发者每年从PyPI拉取超过150亿次安装包,但绝大多数人从没想过:这些代码里藏着什么。

荷兰网络安全顾问Maikel Mardjan干了件"反常识"的事——他花三年业余时间,造了一款能在浏览器里跑的Python代码审计工具。不用装Python,不用配环境,打开网页扔进去一个包,10秒内告诉你里面有没有安全隐患。

为什么现有的开源工具"不好用"

Mardjan在博客里的吐槽很直接:现有的开源SAST(静态应用安全测试)工具,对只想快速扫一眼包的人来说"远不够简单"。

他描述了一个典型场景:你只有10秒钟决定要不要用某个PyPI模块,但现有工具要么得折腾配置,要么得把代码上传到SaaS平台——你的源代码,就这样交给了别人的服务器

这触及了一个行业顽疾。安全工具的设计者往往假设用户有充足的时间和专业知识,但真实开发场景是:依赖项更新提示弹出来,你点"升级"前只想确认一件事——这版有没有埋雷。

Mardjan的解决方案是"零安装"(Zero Install)。他把整个扫描引擎编译成WebAssembly(WASM),塞进浏览器里跑。WASM是一种二进制指令格式,能让C/Rust等语言写的代码在浏览器中以接近原生的速度执行。

浏览器沙盒成了"天然隔离舱"

用WASM做安全扫描有个意外的好处:浏览器的安全沙盒机制。

过去25年,浏览器厂商为了防恶意网站,把JavaScript执行环境锁得死死的。同源策略、内容安全策略、站点隔离……这些原本用来保护用户上网安全的机制,现在成了保护代码审计工具的"免费保镖"。

Mardjan在博客里写得很明白:「代码在你的浏览器高度隔离的沙盒环境中执行」。换句话说,扫描过程不碰你的本地文件系统,不建后台服务,分析完就销毁。

这对企业用户尤其关键。很多公司明令禁止把内部代码上传到第三方平台,但开发团队又需要快速评估开源组件。浏览器本地跑的方案,恰好卡在"合规"和"效率"的中间地带。

CLI到Web的"减法"逻辑

这个工具其实有前身。Mardjan先做了一个本地命令行版本,用法极简:

codeaudit filescan <包名|目录|文件> [报告名.html]

但他觉得还不够。命令行意味着要装Python、要配依赖、要处理版本冲突——对非Python开发者或者临时需要扫个包的人来说,门槛还是高。

Web版的逻辑是:把"安装成本"降为零,把"使用成本"降到一次点击。

技术实现上,这要求把整个Python运行时+扫描引擎+规则库打包成WASM模块。Mardjan没透露具体体积,但参考类似项目,完整工具链通常在10-50MB之间。现代浏览器加载这个量级的一次性应用,体验已经相当流畅。

为什么拒绝"AI+SaaS"的流行配方

Mardjan在博客里明确划了两条红线,都和当下安全工具的热门方向对着干。

第一条是「隐私优先:本地分析,数据永不离开你的机器」。第二条更尖锐:「避免用AI代理做网络安全」,理由是「大多数Python安全测试的AI工具远不够好」,以及「有价值的源代码绝不该传到你无法控制的SaaS解决方案」。

这针对的是一类新兴产品:把代码传到云端,用大模型做漏洞分析。厂商的宣传通常是"更智能、更全面",但Mardjan的质疑很实际:你的代码在别人的GPU上跑,训练数据怎么处理的?日志存多久?有没有第三方审计?

「好的安全意味着没有'通过隐匿实现安全'(security by obscurity)」,他在博客里写道。这是密码学里的经典原则——系统安全性不该依赖于实现细节保密,而该建立在公开可验证的机制上。SaaS黑箱恰恰反其道而行。

FOSS工具的生存悖论

Mardjan提到一个尴尬现状:高质量的开源Python SAST工具"非常有限"。

这不是技术问题,是经济问题。静态分析需要持续更新的规则库来跟踪新漏洞(比如每周披露的CVE),需要维护多版本Python的兼容性,需要处理越来越复杂的打包格式。这些全是苦活累活,但开源模式很难为此持续筹资。

商业SAST厂商的应对方式是订阅制+封闭生态。他们有足够的动力养一个安全研究团队,但代价是你的代码得进他们的系统。Mardjan的WASM方案试图走第三条路:工具开源免费,运行成本摊给用户的浏览器算力。

这种模式能走多远,取决于社区贡献度。规则库更新、误报率优化、新Python版本适配——这些都需要人。但至少,它把"用不用这个工具"的决策权,从采购流程手里抢回来,还给了单个开发者。

扫描之外:PyPI的信任危机

这个工具的出现时机,恰逢PyPI安全事件的密集曝光期。

2023年以来, researchers 多次发现恶意包通过typosquatting(拼写抢注)和依赖混淆攻击开发者。攻击者上传名字和流行包差一个字符的模块,或者把内部依赖名抢注成公开包,等着CI/CD管道自动拉取。传统杀毒软件对这种"合法渠道分发的恶意代码"几乎无效。

Mardjan的工具不解决所有问题——它扫的是静态代码,不是运行时行为;它依赖已知漏洞模式,对全新攻击手法有盲区。但它的价值在于"降低审计门槛":以前只有安全团队会做的事,现在普通开发者随手就能做。

这种"民主化"有双面性。更多人参与审计意味着更快发现恶意包,但也可能制造噪音——误报导致开发者对警告麻木,最终关掉工具。平衡精准度和覆盖度,是Mardjan接下来要面对的硬仗。

他在博客结尾放了一个试用链接,没有订阅框,没有功能对比表,只有一行字:「Launch the Python Code Audit Web Scanner」。点进去,拖进去一个.py文件或输入包名,等几秒,报告就出来了。

这个交互设计本身就在回答一个问题:安全工具能不能像测网速一样简单?如果答案是肯定的,为什么行业里大多数产品都在往反方向走——越来越重的客户端,越来越复杂的定价,越来越模糊的隐私条款?

Mardjan没说的潜台词或许是:当"免费开源"和"零安装"同时成立,那些收着年费还要求你上传代码的厂商,准备怎么解释自己的溢价?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
厦门市在改名吗?厦门铁路公园出现大量“春江市”标识,引发热议

厦门市在改名吗?厦门铁路公园出现大量“春江市”标识,引发热议

火山詩话
2026-04-14 05:42:49
这跟不穿有啥区别?内裤外露、开叉开到腰,有钱人的时尚真看不懂

这跟不穿有啥区别?内裤外露、开叉开到腰,有钱人的时尚真看不懂

潮鹿逐梦
2026-03-02 17:19:02
CBA裁判再现双标判罚,广东赢球后火速申诉,裁判郭楠将追罚停赛

CBA裁判再现双标判罚,广东赢球后火速申诉,裁判郭楠将追罚停赛

画夕
2026-04-14 03:17:25
特朗普放话:中国若卖军火给伊朗,加税50%!中方两记重拳、六个字怼回!

特朗普放话:中国若卖军火给伊朗,加税50%!中方两记重拳、六个字怼回!

华山穹剑
2026-04-13 21:12:28
性需求是人的活力来源,性需求是成年人最强大的生命力

性需求是人的活力来源,性需求是成年人最强大的生命力

加油丁小文
2026-04-03 11:30:07
热搜第一!员工中1500万元彩票后离职?科大讯飞最新发文,知情人士:确有员工中奖,但金额不对

热搜第一!员工中1500万元彩票后离职?科大讯飞最新发文,知情人士:确有员工中奖,但金额不对

每日经济新闻
2026-04-13 20:59:45
小米收购玛莎拉蒂大反转,真相看傻全网!

小米收购玛莎拉蒂大反转,真相看傻全网!

财叔
2026-04-12 08:30:21
越南高铁动工:拒绝中国技术,德国西门子胜出!中国网友:放心了

越南高铁动工:拒绝中国技术,德国西门子胜出!中国网友:放心了

影像温度
2026-04-14 06:55:17
外媒:欧委会和德国就欧尔班败选发声

外媒:欧委会和德国就欧尔班败选发声

参考消息
2026-04-13 16:39:13
四川饲料大王首富变“首负”:欠了近千亿,一年光利息就要18亿

四川饲料大王首富变“首负”:欠了近千亿,一年光利息就要18亿

领悟看世界
2026-04-14 01:12:20
伊朗曾准备稀释450公斤浓缩铀以示善意

伊朗曾准备稀释450公斤浓缩铀以示善意

每日经济新闻
2026-04-13 23:18:02
色情露骨!声称“可手搓让自己满意的大尺度视频”“日入5位数”!央视曝光

色情露骨!声称“可手搓让自己满意的大尺度视频”“日入5位数”!央视曝光

南方都市报
2026-04-13 11:11:51
曾志伟73岁大寿席开60桌,子女齐聚罕见同台,邱淑贞穿着素雅现身

曾志伟73岁大寿席开60桌,子女齐聚罕见同台,邱淑贞穿着素雅现身

阿纂看事
2026-04-13 15:49:54
震惊!一女孩求职不顺焦虑,父亲转来4.8万,按月4000元当作工资

震惊!一女孩求职不顺焦虑,父亲转来4.8万,按月4000元当作工资

火山詩话
2026-04-14 07:33:54
特朗普在采访中呼吁中国购买美国和委内瑞拉石油,外交部回应

特朗普在采访中呼吁中国购买美国和委内瑞拉石油,外交部回应

环球网资讯
2026-04-13 20:53:12
广东一网约车司机车内售卖高至29元现磨咖啡,滴滴:不建议,挣的钱还没有扣的多

广东一网约车司机车内售卖高至29元现磨咖啡,滴滴:不建议,挣的钱还没有扣的多

界面新闻
2026-04-13 11:52:09
俄罗斯远东加加林飞机制造厂失火!为苏57唯一生产商

俄罗斯远东加加林飞机制造厂失火!为苏57唯一生产商

项鹏飞
2026-04-12 16:10:41
“截屏就开除”,追觅创始人俞浩内部群放狠话

“截屏就开除”,追觅创始人俞浩内部群放狠话

山西经济日报
2026-04-13 10:33:25
“8小时红线,天塌了”:网约车司机的新规焦虑,到底该怎么解?

“8小时红线,天塌了”:网约车司机的新规焦虑,到底该怎么解?

一丝不苟的法律人
2026-04-12 16:18:58
25岁男子为寻求刺激,十几天内猥亵7人,专挑天黑独自行走或跑步的女性

25岁男子为寻求刺激,十几天内猥亵7人,专挑天黑独自行走或跑步的女性

观威海
2026-04-13 18:24:10
2026-04-14 09:47:00
Ping值焦虑
Ping值焦虑
有态度网友ytd
1323文章数 22关注度
往期回顾 全部

科技要闻

OpenAI痛批Anthropic营收注水80亿美元

头条要闻

麻生太郎被指对高市的态度出现转变 正在物色替代人选

头条要闻

麻生太郎被指对高市的态度出现转变 正在物色替代人选

体育要闻

他做对了所有事,却被整个职业网坛放逐了八年

娱乐要闻

初代“跑男团”合体,邓超、鹿晗缺席

财经要闻

伊朗要求五个中东国家赔偿战争损失

汽车要闻

不止命名更纯粹 领克10/10+要做纯电操控新王

态度原创

艺术
本地
亲子
公开课
军事航空

艺术要闻

郑丽文来啦!揭露蒋经国和宋美龄鲜为人知的秘密!

本地新闻

12吨巧克力有难,全网化身超级侦探添乱

亲子要闻

清明过后少给娃吃凉,多喝这碗扶阳汤,体质好长得壮

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

特朗普:今晚10点封锁伊朗 对北约非常失望

无障碍浏览 进入关怀版