当前位置: 首页 > news >正文

开源项目生存现况:xz投毒事件引发的思考与GNU tar维护挑战

(首发地址:学习日记 https://www.learndiary.com/2024/04/xz-tar/)
嗨,大家好!我是来自淘宝网“学习日记小店”的 learndiary,专注于 Linux 服务领域。今天我要和大家谈谈近期备受瞩目的 XZ 供应链投毒事件,并借此引申到开源世界中小型基础软件项目的生存困境。本文基于“通义千问”归纳视频字幕生成文本修改。视频演示:【开源项目生存现况:xz投毒事件引发的思考与GNU tar维护挑战】 https://www.bilibili.com/video/BV1Nm411r76N/

开源项目生存现况:xz投毒事件引发的思考与GNU tar维护挑战

最近热议的焦点在于 JiaT75 这位开发者,在一个开源项目中潜伏长达三年,试图植入后门。这起事件引发了我对开源社区中小型基础项目如 xz 的生存状况的关注。Deepin Linux 社区论坛上的一个转贴(见参考链接1)揭示了 xz 项目的原唯一维护者 Lasse Collin 早已不堪重负,仅能应对修复已知bug,无力进行新功能开发。这种情况使得 JiaT75 能够险些成功地在其代码中注入恶意内容,而这与小软件项目因资源有限而面临的挑战紧密相关。

我自己也曾亲历过相似的开源项目困境,这次是针对 Linux 下常用的归档工具 GNU tar。我发现 GNU tar 当时无法正确恢复通过 chattr 设置的不可更改文件属性(见参考链接2)。当我向 tar 的邮件列表提问该功能是否存在时,得到了明确答复:目前 GNU tar 不具备恢复此类属性的功能,且短期内也没有将其纳入开发计划。尽管 tar 的维护者认可这是一个有价值的特性,但可能由于时间和精力有限,暂时无法着手实施。

此外,另一位程序员用户提交了另一个 tar 的补丁,但他也被告知维护者们正忙于其他事务,尚未对此补丁进行全面评估和整合。这些迹象表明,GNU tar 项目似乎也面临着与 xz 类似的维护难题。我分析是随着 Linux 使用人数的增长,对软件维护的需求增加,而小型基础软件的维护压力也随之增大,尤其是在缺少充足人力和长期专注维护的情况下。

回顾 OpenSSL 曾经爆发的“心脏出血”漏洞事件(参考链接3),我们可以看出开源社区在面对危机时展现出的自我修复能力和生命力。尽管 OpenSSL 曾面临严重的管理问题和资金短缺,但在事件曝光后不久,Linux 基金会迅速采取行动,通过成立核心基础设施联盟(CII)等方式筹集资金并加强关键开源项目的维护力度。这证明了即使在面临重大挫折时,开源模式依然能够凭借其透明性和广泛参与的优势找到解决问题的办法。

因此,我认为我们不应因这次 xz 供应链投毒事件而否定开源模式的价值。开源本质上倡导的“我为人人,人人为我”的理念有助于构建一个更加安全、公平和美好的信息社会,避免陷入互相伤害的恶性循环。同时,开源还能有效缩小数字鸿沟,削弱数字霸权的影响。

总结来说,尽管诸如 xz 和 GNU tar 这样的基础开源软件可能会遭遇维护困境,但只要我们坚定开源立场,积极寻求解决方案,一定能够改善它们的生存状态,确保开源世界健康有序的发展。让我们共同期待并努力营造一个更加繁荣、安全、公正的开源生态环境。再次感谢大家的关注,希望这些分享能引起更多人对开源项目可持续发展问题的重视。下次再见!

参考链接:

  1. 【转载】从 xz 后门事件看开源项目维护者和用户关系 https://bbs.deepin.org/post/270171
  2. Linux tar 保留文件特殊属性使用小结 https://www.learndiary.com/2024/03/gnu-tar/
  3. 开源软件和OpenSSL的真实故事到底是什么样的? https://www.geekpark.net/news/212283

相关文章:

开源项目生存现况:xz投毒事件引发的思考与GNU tar维护挑战

(首发地址:学习日记 https://www.learndiary.com/2024/04/xz-tar/) 嗨,大家好!我是来自淘宝网“学习日记小店”的 learndiary,专注于 Linux 服务领域。今天我要和大家谈谈近期备受瞩目的 XZ 供应链投毒事件…...

前端开发语言有哪些

随着互联网的迅猛发展,前端开发已经成为了一个炙手可热的职业。对于初学者来说,了解前端开发所使用的语言是非常重要的。那么,前端开发语言有哪些呢?本文将为您一一介绍。 一、HTML HTML(HyperText Markup Language&…...

速盾:cdn加速https额外收费吗?

CDN(内容分发网络)是一种通过在全球各地部署服务器来提供高速互联网内容传输的技术,它可以加速网站的访问速度,提高用户体验。而HTTPS(超文本传输安全协议)是一种通过加密技术保护网站数据传输安全的协议。…...

【蓝桥杯嵌入式】13届程序题刷题记录及反思

一、题目分析 考察内容: led按键(短按)PWM输出(PA1)串口接收lcd显示 根据PWM输出占空比调节,高频与低频切换 串口接收(指令解析)【中断接收】 2个显示界面 led灯闪烁定时器 二…...

C++类 单例模式

例子 请看如下的类和调用: 在您提供的代码片段中,CPathPlanMan 类使用了一个单例模式,这意味着这个类只需要一个实例,并且提供了全局访问点来获取这个实例。这通常用于控制对一个类实例的访问,尤其是在创建实例代价昂…...

prompt 工程案例

目录 prompt 工程是什么? 案例 vllm 推理加速框架 prompt 工程是什么? prompt:提示词,也就是我们使用网页版输入给大模型的内容就叫 prompt,那什么是 prompt 工程呢? 简单理解其实就是利用编写的 prom…...

燃气管网安全运行监测系统功能介绍

燃气管网,作为城市基础设施的重要组成部分,其安全运行直接关系到居民的生命财产安全和城市的稳定发展。然而,随着城市规模的不断扩大和燃气使用量的增加,燃气管网的安全运行面临着越来越大的挑战。为了应对这些挑战,燃…...

正则表达式(2)

文章目录 专栏导读1、贪婪与非贪婪2、转义匹配 专栏导读 ✍ 作者简介:i阿极,CSDN 数据分析领域优质创作者,专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》,本专栏针对大学生、初级数据分析工程师精…...

xv6源码分析 001

xv6源码分析 001 我们先看看xv6这个项目的基本结构(只看代码部分) 主要就是两个目录kernel 和 user。 user是一些用户程序,也就是我们平时在shell上面执行的命令,每执行一个命令就会创建一个新的用户进程来执行这个命令 在user目…...

90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装)

目录 摘要...

JS代码小知识(个人向)

JS 对象转数组 let obj {0:"a",1:"b",length:2 //加上这个就能转了 }; console.log(Array.from(obj)); // ["a", "b"] 数组的拼接 let a ["a","b"] let b ["c","d"] let c [...a , …...

MC34119

这份文件是关于MC34119线性集成电路的产品规格说明书,由Unisonic Technologies Co., Ltd生产。MC34119是一款低功耗音频放大器IC,主要用于电话应用,如扬声器电话。以下是该文件的核心内容概要: 产品描述: MC34119是一款…...

RabbitMQ3.13.x之十_流过滤的内部结构设计与实现

RabbitMQ3.13.x之十_流过滤的内部结构设计与实现 文章目录 RabbitMQ3.13.x之十_流过滤的内部结构设计与实现1. 概念1. 消息发布2. 消息消费 2. 流的结构1. 在代理端进行过滤2. 客户端筛选3. JavaAPI示例4. 流过滤配置5. AMQP上的流过滤6. 总结 3. 相关链接 1. 概念 流过滤的思…...

Node爬虫:原理简介

在数字化时代,网络爬虫作为一种自动化收集和分析网络数据的技术,得到了广泛的应用。Node.js,以其异步I/O模型和事件驱动的特性,成为实现高效爬虫的理想选择。然而,爬虫在收集数据时,往往面临着诸如反爬虫机…...

Python如何解决“滑动拼图”验证码(8)

前言 本文是该专栏的第67篇,后面会持续分享python爬虫干货知识,记得关注。 做过爬虫项目的同学,或多或少都会接触到一些需要解决验证码才能正常获取数据的平台。 在本专栏之前的文章中,笔者有详细介绍通过python来解决多种“验证码”(点选验证,图文验证,滑块验证,滑块…...

MongoDB 启动异常

Failed to start up WiredTiger under any compatibility version. 解决方案: 删除WiredTiger.lock 和 mongod.lock两个文件,在重新启动。回重新生成新的文件。...

mysql 常见数据处理 dml

学习完,mysql正则表达式查询,把常见的数据处理,做一个汇总,便于查看。 数据操纵语言(Data Manipulation Language, DML)。 1,新增数据: 1,单个插入: insert…...

课时86:流程控制_函数基础_函数退出

2.1.2 函数退出 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 我们可以将函数代码块,看成shell脚本内部的小型脚本,所以说函数代码块也会有执行状态返回值。对于函数来说,它通常支持两种种状态返回…...

【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案

【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案 大家好 我是寸铁👊 总结了一篇【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案✨ 喜欢的小伙伴可以点点关注 💝 前言 今天寸铁…...

9(10)-1(2)-CSS 布局模型+CSS 浮动

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 一、CSS 布局模型1 流动模型(标准流) 二、CSS 浮动1 浮…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

docker 部署发现spring.profiles.active 问题

报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...