V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drymonfidelia
V2EX  ›  信息安全

Python 、C#、Node.js 有像苹果 App Store 一样每个包都经过人工审查的,可以放心随便安装包的安全仓库吗?

  •  
  •   drymonfidelia · 1 天前 · 2289 次点击
    50 条回复    2024-12-27 14:30:42 +08:00
    chenqh
        1
    chenqh  
       1 天前   ❤️ 3
    app store 要收钱的, python, C#,nodejs 能收钱吗
    promiser3d
        2
    promiser3d  
       1 天前
    AppStore 也不是包都有人工审查吧。
    Nasei
        3
    Nasei  
       1 天前   ❤️ 4
    这个问题有点离谱了
    iorilu
        4
    iorilu  
       1 天前
    苹果是收每个开发者 99 刀阿, 很大一笔钱了

    其他都免费的, 怎么比
    drymonfidelia
        5
    drymonfidelia  
    OP
       1 天前
    @Nasei 光一个 npm 都已经出现多少次投毒事件了,我记得名字的就有 node-ipc 、faker 、color 、ts-patch-mongoose 你能确保你永远不会下载到把你文件删光的恶意包?

    @chenqh 可以向愿意花钱买安全的人收费呀
    @iorilu
    drymonfidelia
        6
    drymonfidelia  
    OP
       1 天前
    @drymonfidelia #5 这些都是有名气的被投毒的包,肯定还有非常多恶意包至今没被发现
    maix27
        7
    maix27  
       23 小时 58 分钟前
    从一开始,你就得搞清楚,开源就得自己小心避开这些坑,自己担责,毕竟免费白嫖别人的劳动成果。用的好你开心...也就你开心了,contributor 又不开心,拿空闲时间维护项目,还没钱。

    现在你说要审核,好。钱从哪里来?向苹果一样收开发者上架费么?还是搞个组织对整个 GitHub 上的每个 project 每条 commit 审核?

    前者开发者不开心,社区规模还能有这么大?,原因见 p1 。
    后者的钱从哪来?免费?免费为什么要多加一层审核?免费你能信任他们? 收费?以前就有类似的概念,曾经跟“开源”打生打死后来开源干成了,就是商业闭源,这种你能接受嘛?近 20 年在开源社区活跃的几千万开发者都不接受哦。

    我相信你要能接受不会问这个问题,源头还是想白嫖+有人担责。 那哪有傻瓜给你担责?
    Nasei
        8
    Nasei  
       23 小时 52 分钟前
    @drymonfidelia 这些包你可以说没有审查,也可以说被所有人审查,你可以自己看的,苹果那个 app 审查跟审查代码库不论难度还是成本,都完全没有可比性
    maix27
        9
    maix27  
       23 小时 50 分钟前
    @drymonfidelia #5

    第一,现在不是没有商业闭源的库,你自己找需要的用呗,不少。
    第二,近 20 年过去了,想付费搞开源库整合的一个都没活下来,为啥?工作量太大了,人力太高了。
    drymonfidelia
        10
    drymonfidelia  
    OP
       23 小时 50 分钟前
    @maix27 问题是除非一个一个 commit 审核,否则根本没有办法能避开这些坑呀。我 5 楼举的例子里面除了 ts-patch-mongoose 这个包一开始就在作恶,另外 3 个都是已经流行后在一个版本更新里面加入恶意代码的。哪怕用 AST 也很难准确判断一个包是否有恶意行为
    maix27
        11
    maix27  
       23 小时 48 分钟前
    @drymonfidelia #10 你也说了 “一个一个 commit 审核”,你猜哪个国家的程序员有这样的规模?哪个国家有这样的优势能这样审查? 20 年来没人做,是大家不想做么?
    forisra
        12
    forisra  
       23 小时 47 分钟前
    @maix27 有没有什么办法对开源社区的这些产出定价呢?
    chenqh
        13
    chenqh  
       23 小时 46 分钟前
    @forisra 定什么价呢?android 就是对 linux 的终极白嫖..还定价.
    fredcc
        14
    fredcc  
       23 小时 45 分钟前 via Android
    学 gitee 啊
    maix27
        15
    maix27  
       23 小时 41 分钟前
    @forisra
    所有产出都是免费的,你贡献给我,我也贡献给你,只有这样才能保证开源的纯洁性,保证开源的繁荣。甚至,保证开源的无国界性,开源社区是没有 leader 的发现没?它没有一个实际上的领导者的地位,为啥?就是因为没有利益。就是因为这些,才从大公司里杀出血路。


    量化这些产出就是让开源社区变狼,而且是最大最凶恶的野狼。这头狼有了野心,有了头脑,甚至有了有国界有软肋的头脑,你猜它先咬谁?咬大公司?还是咬小小的散户工程师?再其次代表西方国家的利益咬你 x 国,你受的了?
    drymonfidelia
        16
    drymonfidelia  
    OP
       23 小时 40 分钟前
    @maix27 #11 对所有的包都审查是不现实,但是对公开仓库的 top 2000 甚至 top 5000 的包审查,审查通过后上架到安全仓库,应该会有大公司愿意买单吧?
    chenqh
        17
    chenqh  
       23 小时 36 分钟前
    @drymonfidelia 你能说出大公司对开源的贡献,而大公司又没有从中赚钱的,你能说出多少个呢?
    maix27
        18
    maix27  
       23 小时 36 分钟前
    @drymonfidelia #16

    没有,为啥?开源不是请客吃饭,请客吃饭就吃一顿。开源呢?今天你买单,明年还你买单,后年还你买单,哪家大公司负担的起。

    现在就是叫大公司给某开源项目每年捐个 3k 刀都换另一个白嫖了,就这你指望哪个大公司花钱审核?
    chenqh
        19
    chenqh  
       23 小时 34 分钟前
    @maix27 开源的目的就是白嫖,公开云白嫖的飞起...
    shiny
        20
    shiny  
       23 小时 34 分钟前
    https://socket.dev 可以审查安全性,但不是人工的
    bigtear
        21
    bigtear  
       23 小时 33 分钟前
    所以 Node 创始人另辟蹊径,搞出了 Deno ,手动授权
    bigtear
        22
    bigtear  
       23 小时 31 分钟前
    安全性是有代价的,
    要么像你说的花钱找人审核;
    要么从运行时下手,Rust 内存安全,但是开发者的心智负担大。
    Deno 权限安全,但是不完全兼容 npm 生态,但是你看有多少迁移过去的,Deno 迫不得已现在也选择兼容生态了。
    maix27
        23
    maix27  
       23 小时 31 分钟前
    @drymonfidelia #16 今年油价多收一笔税,食品支出也开始征税你都受不了,指望某几个大公司负担全世界程序员要用的东西就是空谈。

    我说了,你得先是切格瓦拉这样的国际主义者,才能叭叭大公司怎么怎么样,推己及人。
    maix27
        24
    maix27  
       23 小时 27 分钟前
    @drymonfidelia #16

    我说了,你就是想找这样一个傻瓜给你担责,问题是没人愿意做这个傻瓜,你可以自己想想,你自己愿不愿意做这个傻瓜,看看 20 年的历史,没有愿意做傻瓜。
    jim9606
        25
    jim9606  
       23 小时 20 分钟前
    1. 对开源世界来说,广泛使用、被大团队使用就是比较好的方法,因为相对来说测试和 review 更多,更容易蹭到好处而不是蒙在鼓里
    2. 你也不要觉得 AppStore 的审查是绝对安全的,苹果跟 ios 用户有一些共同利益但不完全一致,例如你果就从来没管过摇一摇广告,以安全为名不允许 APP 用 JIT ,强制用 WebKit
    3. 理论上可以买有商业支持的库,但这跟安全没啥必然关系,不过当是付费背锅应付老板是可以的
    COW
        26
    COW  
       23 小时 12 分钟前 via Android   ❤️ 4
    有种说不上来的感觉,就像是一个特意给 v 站引流的技术型营销人员的引导性提问
    1una0bserver
        27
    1una0bserver  
       22 小时 29 分钟前 via Android
    有人审核≠随便装,说的苹果上就没有恶意软件一样,xz 那个案例原作者还看过的,不照样靠精心构造的代码完成了投毒?要不是代码有 bug+有安全专家正好发现问题,根本发现不了,一堆大神都难以发现的问题,你去指望可能连客服小祥水平都没有的客服去发现这种问题?而且这工作量得有多大?
    还有,op 不叫 Luv Letter 有点可惜了
    ericguo
        28
    ericguo  
       22 小时 26 分钟前   ❤️ 2
    https://my.diffend.io 就是啊,ruby 和 npm 都有,一个众筹的版本审核网站,其中 ruby 的 gem 由于相对数量较少(代码行数和 gem 发布数量),审核力度高一点,安全性略好一点。
    minami
        29
    minami  
       21 小时 22 分钟前
    你的要求只有骗子能满足
    qsnow6
        30
    qsnow6  
       21 小时 17 分钟前
    就算有,价格你可能接受不了,至少 10W 一年吧
    maix27
        31
    maix27  
       20 小时 7 分钟前   ❤️ 1
    @COW 可以这么说,历史回答里成套的问题,AI 都没它问的多,学的广。
    tyzandhr
        32
    tyzandhr  
       15 小时 48 分钟前 via Android   ❤️ 1
    每个人都是自己(代码)健康的第一责任人
    KimiArthur
        33
    KimiArthur  
       12 小时 21 分钟前 via Android
    @maix27 开源协议最常见的一条就是 no warranty. 自担责任
    wangtian2020
        34
    wangtian2020  
       11 小时 59 分钟前   ❤️ 1
    你自己去审查呗。你吃的每一口饭每一粒米是不是要审查一遍,要不要去审查审查 Windows 源码
    HojiOShi
        35
    HojiOShi  
       11 小时 34 分钟前
    伸手党见得多了,这么过分的还是第一次见。
    wangybsyuct
        36
    wangybsyuct  
       11 小时 28 分钟前
    想放心使用,那就使用三五年前的版本。时刻注意严重漏洞,无法打补丁的话,就要用防火墙。
    shijingshijing
        37
    shijingshijing  
       11 小时 26 分钟前
    本来还想反驳一下的,算了,还是顺着 OP 的意思来:

    不讨论成本,即使是多了一个大公司来审核,你怎么就确定审核的大公司不会作恶/投毒/被利用呢?
    caiqichang
        38
    caiqichang  
       11 小时 11 分钟前
    vscode 、intellij 的插件有人工审查吗?建议先熟悉用记事本写代码

    另外,App Store 审查人员就不会发错?有没有审查审查人员的筛查人员?
    InkStone
        39
    InkStone  
       11 小时 9 分钟前   ❤️ 1
    引入开源库都要自己审核安全性,这就是个常规流程。

    做不到就别什么库都瞎引。
    felixlong
        40
    felixlong  
       11 小时 0 分钟前
    @drymonfidelia 你做一个这样的仓库,保证每个 library 都是被审查过的,提供会员订阅服务。说不定就财务自由了。
    xing7673
        41
    xing7673  
       10 小时 18 分钟前
    App Store 的审核也是防君子不防小人
    技术绕过人工审核不要太方便
    不过比没有审核门槛还是高了很多
    inhzus
        42
    inhzus  
       10 小时 15 分钟前 via iPhone
    没有。让中国政府搞一个,类似于什么反诈中心(笑
    lucybenz
        43
    lucybenz  
       9 小时 18 分钟前
    开源库 做个同审共建平台呗,github 账户登录,然后用户评级,大家共同判断,针对用户做个维度评价,并持续维护评价算法
    drymonfidelia
        44
    drymonfidelia  
    OP
       7 小时 33 分钟前
    @shijingshijing 审核的公司要靠这个赚钱,漏审核一个就没人用它的服务了

    @InkStone 你有办法每一个 commit 都自己审核吗
    XIVN1987
        45
    XIVN1987  
       7 小时 7 分钟前
    可以考虑不用开源库,,只用商业公司的付费库,,这样比较有保证。。
    InkStone
        46
    InkStone  
       7 小时 6 分钟前
    @drymonfidelia 审每一个 commit 干嘛?能保证审到每一行代码就行了。
    quan01994
        47
    quan01994  
       7 小时 6 分钟前
    要么付费,要么自己写 。

    既要又要, 不可取 。
    jas0n2k
        48
    jas0n2k  
       6 小时 44 分钟前
    有点像支持地铁安检那批人
    FakerLeung
        49
    FakerLeung  
       6 小时 32 分钟前
    我们公司就有一个专门的中心仓,审核过的三方件才会进去。

    但是也不能完全防止被投毒的包进仓,只能说大概率能防护住
    0o0o0o0
        50
    0o0o0o0  
       6 小时 30 分钟前
    用官方的库、大公司开源的库,安全性稍微好一些
    其次就是直接买商用的开源库就好了,就是价格不是一般人/公司能承受的,或者像大公司一样自己造轮子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2761 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:01 · PVG 21:01 · LAX 05:01 · JFK 08:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.