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

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

  •  
  •   drymonfidelia · 1 天前 · 2310 次点击
    51 条回复    2024-12-27 21:47:51 +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  
       1 天前
    从一开始,你就得搞清楚,开源就得自己小心避开这些坑,自己担责,毕竟免费白嫖别人的劳动成果。用的好你开心...也就你开心了,contributor 又不开心,拿空闲时间维护项目,还没钱。

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

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

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

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


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

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

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

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

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

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

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

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

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

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

    但是也不能完全防止被投毒的包进仓,只能说大概率能防护住
    0o0o0o0
        50
    0o0o0o0  
       7 小时 45 分钟前
    用官方的库、大公司开源的库,安全性稍微好一些
    其次就是直接买商用的开源库就好了,就是价格不是一般人/公司能承受的,或者像大公司一样自己造轮子
    maix27
        51
    maix27  
       28 分钟前
    @KimiArthur 和我有什么关系,你回复帖主去。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2748 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:15 · PVG 22:15 · LAX 06:15 · JFK 09:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.