2025 01 02 HackerNews

2025-01-02 Hacker News Top Stories #

  1. 2024年,大型语言模型(LLM)研究取得重大进展,多个超越GPT-4的模型推出,价格下降,多模态技术成熟,推理模型兴起。
  2. DOOM CAPTCHA 通过让玩家在经典游戏 DOOM 中杀死怪物来验证用户是否为人类,技术实现出色但使用不便。
  3. 静态搜索树(S+ 树)通过优化查找函数、批处理和预取技术,实现比二分搜索高达 40 倍的吞吐量提升。
  4. Putnam-AXIOM 基准评估了大型语言模型在数学推理方面的能力,结果显示模型在变体问题上的准确率显著下降。
  5. Arnis 项目使用 Rust 语言从 OpenStreetMap 数据生成 Minecraft 世界,能够处理大规模数据,生成逼真的城市和地标。
  6. 2024年数据库领域的重要事件包括 Redis 和 Elasticsearch 的授权变更,引发社区反对和开源分支的诞生。
  7. 作者总结了2024年阅读的四本书,包括西塞罗的书信、计算机科学的数理逻辑、哲学生活方式和埃斯库罗斯的《奥瑞斯提亚》。
  8. API Parrot 是一个自动反向工程 HTTP API 的工具,能够记录请求、分析数据并导出为 JavaScript 代码。
  9. FBI 在弗吉尼亚州发现史上最大的自制炸弹库,逮捕了一名支持政治暴力的嫌疑人。
  10. 作者发现 Ghostty 终端模拟器中的安全漏洞,允许攻击者通过转义序列执行任意命令,强调了终端安全的重要性。

Things we learned about LLMs in 2024 #

https://simonwillison.net/2024/Dec/31/llms-in-2024/

2024 年关于大型语言模型(LLM)的研究进展

2024 年是大型语言模型(LLM)研究领域的重要一年,涌现了许多新的模型和技术。以下是 2024 年关于 LLM 的研究进展的总结:

GPT-4 障碍被彻底打破

2023 年底,OpenAI 的 GPT-4 模型仍然是业界领先的模型,但 2024 年,其他机构也开始推出 GPT-4 级别的模型。截至目前,已经有 18 个机构的模型在 Chatbot Arena 排行榜上超过了 GPT-4 的成绩。

一些 GPT-4 模型可以在笔记本电脑上运行

令人惊讶的是,一些 GPT-4 级别的模型可以在笔记本电脑上运行。例如,Qwen2.5-Coder-32B 模型可以在 MacBook Pro 上运行,而 Meta 的 Llama 3.3 70B 模型也可以在笔记本电脑上运行。

LLM 价格大幅下降

2024 年,LLM 的价格大幅下降。OpenAI 的 GPT-4o 模型的价格从 30 美元/百万输入 token 降至 2.50 美元/百万输入 token,而 GPT-4o mini 模型的价格从 1 美元/百万输入 token 降至 0.15 美元/百万输入 token。其他机构的模型价格也大幅下降。

多模态视觉和语音识别技术日趋成熟

2024 年,多模态视觉和语音识别技术日趋成熟。例如,Google 的 Gemini 1.5 Pro 模型可以处理视频输入,而 Apple 的 MLX 库可以实现语音识别。

推动应用程序生成的提示驱动技术

2024 年,推动应用程序生成的提示驱动技术日趋成熟。例如,Anthropic 的 Claude 3 Haiku 模型可以根据提示生成应用程序代码。

通用访问模型的短暂时期

2024 年,通用访问模型的短暂时期结束。虽然一些机构仍然提供通用访问模型,但大多数机构已经开始限制模型的访问权限。

代理技术仍然没有出现

2024 年,代理技术仍然没有出现。虽然一些机构宣布推出代理技术,但这些技术仍然处于实验阶段。

评估模型的重要性

2024 年,评估模型的重要性日趋凸显。随着模型的数量和复杂性增加,评估模型的准确性和有效性变得越来越重要。

苹果公司的 MLX 库

2024 年,苹果公司推出了 MLX 库,这是一个用于机器学习的开源库。MLX 库可以实现语音识别和图像识别等功能。

推理模型的兴起

2024 年,推理模型的兴起。推理模型可以根据输入数据进行推理和决策。

中国的 LLM 模型

2024 年,中国的 LLM 模型日趋成熟。例如,百度的 ERNIE 3.0 模型可以实现多模态视觉和语音识别等功能。

环境影响的改善

2024 年,环境影响的改善。随着模型的数量和复杂性增加,环境影响的改善变得越来越重要。

环境影响的恶化

2024 年,环境影响的恶化。虽然一些机构宣布推出环境友好型模型,但环境影响的恶化仍然是一个严重的问题。

2024 年的总结

2024 年是 LLM 研究领域的重要一年,涌现了许多新的模型和技术。虽然环境影响的改善和恶化仍然是一个严重的问题,但 LLM 的研究仍然在快速发展。


HN 热度 890 points | 评论 535 comments | 作者:simonw | 1 day ago #

https://news.ycombinator.com/item?id=42560558

  • LLMs 在编程和设计方面仍然很有用,尽管它们可能无法产生完美的代码。
  • LLMs 的能力取决于用户的沟通能力,需要提供清晰的背景和指导才能发挥出最佳效果。
  • LLMs 可以帮助用户解决编程中的困难,例如调试代码和优化算法。
  • LLMs 可以帮助用户加速开发过程,尤其是在处理重复性任务时。
  • LLMs 的能力还取决于它们的训练数据和算法,目前的 LLMs 还存在局限性。
  • LLMs 可以通过识别模式和预测下一个 token 来检测代码中的 bug。
  • LLMs 的世界模型可以理解编程规则和约定,帮助它们更好地理解代码。
  • LLMs 的能力不仅限于标准的编程语言和任务,还可以处理非标准的代码和任务。
  • LLMs 的局限性在于它们可能无法理解复杂的编程概念和算法,需要用户提供更多的背景和指导。

DOOM CAPTCHA #

https://doom-captcha.vercel.app/

这个网页是一个名为 “DOOM CAPTCHA” 的项目,旨在通过玩经典游戏 DOOM 来证明用户是人类。该项目使用 Emscripten 将 DOOM 编译为 WebAssembly,并在 C 语言游戏循环和 JavaScript UI 之间实现了通信。

项目的工作原理是基于一个 SDL 的 DOOM 游戏端口,可以高效地编译为 WebAssembly。为了使其兼容于 DOOM 的共享版本(doom1.wad),开发者对游戏进行了一些修改,包括跳过主菜单、自动重生玩家以及引入新的回调函数以与 JavaScript UI 通信。

游戏的难度被设置为 “Nightmare!",并且玩家需要在游戏中杀死至少 3 个怪物才能通过 CAPTCHA 验证。网页还提供了调试模式和源代码下载。该项目基于 DOOM 的共享版本,并声明 DOOM 是 id Software LLC 的注册商标。


HN 热度 696 points | 评论 179 comments | 作者:denysvitali | 11 hours ago #

https://news.ycombinator.com/item?id=42566112

  • DOOM CAPTCHA 的技术实现很出色,但使用起来不太方便。
  • 这个验证码是基于 Nightmare 难度的,正常情况下玩家会有更好的装备和技能。
  • 使用键盘控制的玩家可能会遇到一些困难,因为游戏中的控制方式与现代 FPS 游戏不同。
  • 有些玩家发现可以通过在起始区域杀死右侧的敌人来“作弊”通过验证码。
  • 验证码的设计是基于 DOOM 游戏的原理,玩家需要使用特定的策略和技巧来通过。
  • 验证码的实现是客户端的,服务器无法验证玩家是否真正地通过了验证码。
  • 验证码的概念是有趣的,但实现起来有一些困难,需要考虑到游戏的随机性和玩家的输入。
  • 验证码的用户体验需要进一步改善,才能使其成为一个实用的解决方案。

https://curiouscoding.nl/posts/static-search-tree/

本文讨论了静态搜索树(S+ 树)的实现和优化,用于高吞吐量的搜索。文章首先介绍了问题陈述和动机,包括对生物信息学中 DNA 索引的需求。然后讨论了二分搜索和 Eytzinger 布局的基本概念,包括 Eytzinger 布局的优点和实现细节。

文章接着讨论了优化 S+ 树的方法,包括优化查找函数、批处理和预取等技术。这些优化方法可以显著提高搜索的吞吐量。文章还讨论了树的布局和节点大小的影响,以及如何使用压缩子树和重叠树来进一步优化性能。

最后,文章总结了优化后的 S+ 树的性能,包括与二分搜索和 Eytzinger 布局的比较。结果表明,优化后的 S+ 树可以实现高达 40 倍的吞吐量提升。文章还讨论了未来工作的方向,包括分支搜索、插值搜索和数据压缩等。


HN 热度 558 points | 评论 182 comments | 作者:atombender | 1 day ago #

https://news.ycombinator.com/item?id=42562847

  • Rust 语言正在成为算法和底层开发的新标准,取代 C 和 C++。
  • Rust 语言的标准库和工具比 C++ 更好。
  • Rust 语言的使用体验比 C++ 更好,不需要头文件、makefile 和包管理器。
  • Rust 语言可以用来替代 C++,但标准库和工具更好。
  • Rust 语言的生态系统中,有很多库和工具可以帮助开发者。
  • Rust 语言的包管理器 Cargo 可以帮助开发者管理依赖。
  • Rust 语言可以用来实现复杂的数据结构,如图和双向链表。
  • Rust 语言的安全性和正确性是其主要优势。
  • Rust 语言可以用来替代 C++,但需要更多的努力来实现基本的数据结构。

30% drop in O1-preview accuracy when Putnam problems are slightly variated #

https://openreview.net/forum?id=YXnwlZe0yf&noteId=yrsGpHd0Sf

Putnam-AXIOM 是一个针对大型语言模型(LLMs)在数学推理能力评估方面的新基准,旨在解决现有基准饱和的问题。该基准由 236 个来自威廉・洛威尔・普特南数学竞赛的数学题目及其详细的逐步解决方案组成。

为了保护 Putnam-AXIOM 基准的有效性并减少潜在的数据污染,研究团队还创建了 Putnam-AXIOM Variation 基准,包含 52 个问题的功能变体。通过程序化地改变问题中的变量和常量,研究者能够生成无限的新问题,这些问题同样具有挑战性,但在网上并不存在。

研究结果显示,几乎所有模型在变体问题上的准确率显著低于原始问题的准确率。例如,OpenAI 的 o1-preview 模型是表现最好的模型,在 Putnam-AXIOM Original 基准上仅达到 41.95% 的准确率,而在变体数据集上的准确率则相比于对应的原始问题下降了约 30%。

总体而言,Putnam-AXIOM 基准展示了大型语言模型在数学推理能力上的明显差距,并揭示了数据污染对模型表现的影响。该研究结果表明,尽管模型在面对已有问题时表现良好,但在经过修改的变体问题上,模型的推理能力依然有限。


HN 热度 457 points | 评论 425 comments | 作者:optimalsolver | 12 hours ago #

https://news.ycombinator.com/item?id=42565606

  • ChatGPT 在回答问题时,可能会因为训练数据的局限性而出现错误,即使问题只做了一些微小的变化。
  • 为了真正评估 ChatGPT 的能力,需要确保测试问题超出其训练数据的范围。
  • 即使是人类,也会因为各种原因而犯错,包括失去焦点或对问题的理解不够深入。
  • LLM(大型语言模型)可能无法真正“推理”,而只是通过统计模式生成看似合理的回答。
  • 测试 LLM 是否能真正推理的方法应该与测试人类是否能推理的方法类似,不能对 LLM 设置过高的标准。
  • 推理并不是一个二元技能,人们可以犯错但仍然是在推理。
  • LLM 的开发目标是预测文本,而不是特意编写成统计模型。
  • 仅仅因为 LLM 在某些问题上犯错,并不意味着它无法推理,需要考虑到人类也会犯错。

Arnis: Generate cities in Minecraft from OpenStreetMap #

https://github.com/louis-e/arnis

Arnis 是一个开源项目,使用 Rust 语言生成 Minecraft Java Edition 中的真实世界地图。该项目利用 OpenStreetMap 的地理数据和 Rust 的强大功能,提供了一个高效且健壮的解决方案,用于创建复杂且准确的 Minecraft 世界。

该项目可以处理大规模数据,并生成丰富、逼真的环境,反映真实世界的城市、地标和自然特征。用户可以使用 Arnis 生成自己的家乡、探索城市环境或创建独特的真实世界地图。

使用 Arnis 非常简单,只需下载最新版本或自己编译项目,然后选择所需区域并选择 Minecraft 世界即可开始生成。生成的世界将始终从坐标 0 0 0 开始。如果选择自己的世界,请确保事先在 Minecraft 中创建一个新的平坦世界。

Arnis 的工作原理是这样的:首先,从 Overpass API 中获取原始数据,包括每个元素(建筑物、墙壁、喷泉、农田等)的角坐标(节点)和描述性标签。然后,Arnis 自动执行以下步骤来生成 Minecraft 世界:

  1. 处理原始数据:解析原始数据以提取基本信息,如节点、方式和关系。节点被转换为 Minecraft 坐标,关系被处理为方式,确保所有相关元素都被正确处理。
  2. 优先排序元素:元素(节点、方式、关系)被排序以建立一个分层系统,确保某些类型的元素(例如入口和建筑物)以正确的顺序生成,以避免冲突和重叠结构。
  3. 生成 Minecraft 世界:使用一系列元素处理器(generate_buildings、generate_highways、generate_landuse 等)来解释每个元素的标签和节点,以在 Minecraft 世界中放置适当的方块。这些处理器处理创建 3D 结构、道路、自然形成等逻辑。
  4. 生成地面层:根据提供的比例因子生成地面层,为整个 Minecraft 世界提供基础。该步骤确保所有区域都有适当的基础(例如草和泥土层)。
  5. 保存 Minecraft 世界:所有修改的 chunk 都保存回 Minecraft 区域文件。

Arnis 的常见问题解答:

  • Arnis 最初是用 Python 编写的吗?是的,Arnis 最初是用 Python 编写的,但后来被移植到 Rust 中,以便更好地利用 Rust 的性能和效率。
  • 数据来自哪里?地理数据来自 OpenStreetMap(OSM),一个免费的协作映射项目。

HN 热度 442 points | 评论 66 comments | 作者:jamesy0ung | 1 day ago #

https://news.ycombinator.com/item?id=42561711

  • OpenStreetMap 社区提供的工具和数据对于自由软件社区来说非常有价值。
  • NASA 曾经提供的 SRTM 数据现在已经不再免费访问了,这是一种损失。
  • OpenStreetMap 的数据可以通过 Overpass API 访问,NASA 的 SRTM 数据则需要注册才能访问。
  • 有人在 GitHub 上发布了一个项目,使用 Rust 语言生成 Minecraft 中的城市。
  • 项目作者表示,使用 Rust 语言可以提高性能和效率。
  • 有人提到,IGN 也有一个生成 Minecraft 地图的服务。
  • 有人开玩笑说,Rust 程序员总是会提到他们使用 Rust 语言。
  • 有人认为,Arch Linux 社区和 Rust 社区可能有所重叠。

Databases in 2024: A Year in Review #

https://www.cs.cmu.edu/~pavlo/blog/2025/01/2024-databases-retrospective.html

Andy Pavlo 的博客文章《Databases in 2024: A Year in Review》总结了 2024 年数据库领域的重要事件。文章首先提到,数据库领域正处于黄金时代,许多优秀的开源数据库系统可供选择。然而,随着云计算的兴起,数据库公司面临着新的挑战。

文章重点讨论了 Redis 和 Elasticsearch 两大数据库系统的授权变更事件。Redis Ltd. 在 2024 年 3 月宣布将 Redis 的授权从 BSD-3 变更为双授权模式,包括 Redis Source Available License 和 MongoDB 的 SSPL。这个变更引起了社区的强烈反对,导致两个开源分支 Valkey 和 Redict 的诞生。Valkey 由 Amazon、Google 和 Oracle 等公司支持,迅速成为 Linux 基金会的一部分。

Elasticsearch 的授权变更事件也引起了社区的关注。Elastic N.V. 在 2021 年宣布将 Elasticsearch 的授权从 Apache 2.0 变更为双授权模式,包括 Elastic License 和 MongoDB 的 SSPL。这个变更导致 Amazon 宣布开源 Elasticsearch 的分支 OpenSearch。然而,Elastic N.V. 在 2024 年 8 月宣布将授权变更为 AGPL,Amazon 随后宣布将 OpenSearch 项目转移给 Linux 基金会。

文章作者 Andy Pavlo 表示,他不喜欢 Redis 的授权变更事件,认为 Redis Ltd. 的行为不公平。他还指出,Elasticsearch 的授权变更事件是类似的,公司试图通过授权变更来保护自己的利益,但最终导致社区的反对。

文章最后总结了数据库领域的趋势,认为开源数据库系统面临着来自云计算巨头的挑战,授权变更事件将继续发生。


HN 热度 360 points | 评论 114 comments | 作者:avinassh | 10 hours ago #

https://news.ycombinator.com/item?id=42566192

  • Redis 的 API 设计不佳,命令类型混乱,容易导致错误
  • Redis 的数据类型不固定,一个 key 可以同时存储不同类型的数据
  • Redis 的事务功能不完善, MULTI/EXEC 不能保证事务的原子性
  • Redis 的设计理念是将数据存储在全局变量中,这种设计方式容易导致数据类型混乱
  • Redis 的使用场景有限,主要适用于缓存、轻量级消息队列和简单的实时数据处理
  • Redis 的价值在于其独特的数据结构和操作命令,例如 sorted sets 和 probabilistic data structures
  • Redis 的使用场景不仅限于简单的 GET/SET 操作,还包括复杂的数据结构和操作
  • Redis 的设计理念和使用场景需要深入理解才能发挥其真正的价值

Books I Loved Reading in 2024 #

https://thoughts.wyounas.com/p/books-i-enjoyed-most-in-2024

这篇文章是关于作者在 2024 年阅读的书籍的总结。作者提到了四本书:《Cicero Letter to Friends: Volume 1》、《Mathematical Logic for Computer Science》、《Philosophy as a Way of Life》和《Aeschylus’s Oresteia》。

《Cicero Letter to Friends: Volume 1》是一本古罗马政治家和作家西塞罗的书信集。作者赞赏西塞罗的文笔优美,书信内容涉及他与朋友、家人和同事的交流。书中有许多优美的句子,例如“请放心,我对你的信誉的关心每天都在增长,尽管你的诚信和宽容已经使你的信誉提高到了难以置信的高度”。

《Mathematical Logic for Computer Science》是一本关于计算机科学中的数学逻辑的书籍。作者表示这本书很难读懂,但很值得读。书中介绍了命题逻辑、推理系统、决策图、SAT 求解器、第一阶逻辑、时序逻辑等主题。作者特别喜欢这本书的第一原则方法。

《Philosophy as a Way of Life》是一本关于哲学如何指导生活的书籍。作者表示这本书让他了解了古代哲学的真正目的,即改变人的灵魂。书中讨论了如何使用哲学来过更好的生活,如何通过对话和自我反省来实现自我转变。作者还提到了马可·奥勒留的《沉思录》和埃皮克泰德的哲学思想。

《Aeschylus’s Oresteia》是一部古希腊悲剧。作者表示这部作品探讨了正义、复仇和社会秩序的主题。书中有许多关于人类心理和故事的见解。作者表示这部作品需要多次阅读才能充分理解。


HN 热度 318 points | 评论 130 comments | 作者:simplegeek | 17 hours ago #

https://news.ycombinator.com/item?id=42564687

  • 读书不一定是为了自我提升,有时候只是为了享受阅读的乐趣
  • 读书和看电视剧没有本质区别,都是为了娱乐
  • 读书不一定能让人变聪明,关键是读什么书
  • 读书应该是为了享受阅读的乐趣,而不是为了自我提升
  • 读书可以是为了学习新知识,也可以是为了放松和娱乐
  • 读书应该根据个人兴趣和目的来选择,而不是一味地追求自我提升

Show HN: API Parrot – Automatically Reverse Engineer HTTP APIs #

https://apiparrot.com/

API Parrot 是一个专门为网站的 HTTP API 设计的工具,可以帮助开发者更容易地自动化、集成或爬取网站数据。它可以记录网络请求,分析数据,理解不同端点之间的关系,并将自定义函数导出为 JavaScript 代码。

API Parrot 的主要功能包括:

  • 记录请求:API Parrot 内置了一个 HTTP 代理服务器,可以轻松记录应用程序的网络流量。
  • 深入理解:API Parrot 不仅可以识别相关端点,还可以分析数据,了解不同端点之间的关系。
  • 自定义:根据需要,可以自定义函数,指定输入和输出参数,排除不相关的数据等。
  • 导出代码:可以将自定义函数导出为 JavaScript 代码,方便集成到应用程序中。

API Parrot 的使用场景包括:

  • 自动化:自动化业务流程,节省时间和金钱。
  • 集成:将软件与其他工具和服务集成。
  • 爬取:从没有公共 API 的网站上爬取数据。

总的来说,API Parrot 是一个功能强大的工具,可以帮助开发者更容易地处理网站的 HTTP API。


HN 热度 275 points | 评论 78 comments | 作者:pvarghav | 12 hours ago #

https://news.ycombinator.com/item?id=42565821

  • API Parrot 是一个自动反向工程 HTTP API 的工具,能够识别数据关联并生成流程图。
  • 该工具使用 Electron 开发,目前支持 Windows 和 Linux 平台。
  • 用户可以记录请求、定义输入输出,并将整个流程或部分流程导出为 JavaScript 代码。
  • 该工具的文档中提供了一个教程,介绍如何使用 API Parrot 反向工程 USPS API。
  • 有些用户认为该工具很有用,能够节省时间和提高工作效率。
  • 但是,也有用户指出该工具有一些局限性,例如无法捕获主页面请求,仅适用于表单、按钮和手动操作。
  • 与其他类似工具(如 mitmproxy2swagger)相比,API Parrot 的名称更容易记忆。
  • 有些用户希望该工具能够支持 Mac 平台,并提供更好的用户体验。

FBI: Largest homemade explosives cache in agency history found in Virginia #

https://thehill.com/national-security/5061535-virginia-man-arrested-explosives/

美国联邦调查局(FBI)最近逮捕了一名来自弗吉尼亚州的男子,名叫布拉德·斯帕福德(Brad Spafford),他被指控拥有历史上最大的自制炸弹库。斯帕福德被捕后,FBI 在他的农场中发现了 150 多个炸弹装置,包括一些标记为“致命”的装置。这些炸弹装置被存放在他的谷仓和卧室中,甚至有一些被放在食品旁边。

斯帕福德最初引起了当局的注意,因为他的邻居报告说他使用总统拜登的照片作为射击目标,并表达了对政治暴力的支持。斯帕福德还分享了一种阴谋论,称失踪的儿童被联邦政府带走并训练成学校枪手。斯帕福德还告诉他的邻居,他正在考虑在他的房子周围安装一个 360 度的炮塔,以便他可以使用他的枪支。

FBI 表示,斯帕福德的炸弹库是该机构历史上最大的一个,需要复杂的计划和多名 FBI 人员的参与,包括炸弹专家。许多炸弹装置由于太危险而无法移除,因此被当场引爆。

斯帕福德被指控与未注册的短管步枪有关,但法院文件显示,他的炸弹库引发了更广泛的担忧。斯帕福德被认为是一个“无生命价值”的信徒,这是一种极右翼意识形态,主要通过加密应用程序进行协调。这种意识形态被描述为“促进目标攻击、大规模杀戮和犯罪活动,并历史上鼓励成员自残和虐待动物”。


HN 热度 232 points | 评论 390 comments | 作者:domofutu | 1 day ago #

https://news.ycombinator.com/item?id=42562529

  • 拥有大量爆炸物和杀人意图是危险的
  • 拥有短管步枪是非法的
  • 拥有 AR-15 步枪配置为手枪是合法的
  • 缺乏证据证明嫌疑人拥有短管步枪
  • 拥有大量弹药和爆炸物并不一定是犯罪证据
  • 政府监管可能会导致人们找到漏洞
  • 拥有 TNT 需要大量许可和年检
  • 农业无人机和肥料可能被用于制造武器

Déjà vu: Ghostly CVEs in my terminal title #

https://dgl.cx/2024/12/ghostty-terminal-title

该网页是一篇文章,讨论了一个安全漏洞问题。文章的作者发现了一个 Ghostty 终端模拟器中的安全漏洞,允许攻击者在用户的终端中执行任意命令。该漏洞是由于终端模拟器处理特殊的转义序列时存在问题所致。

文章首先介绍了终端模拟器的历史和基本原理,然后讨论了安全漏洞的细节。作者指出,Ghostty 终端模拟器在处理特殊的转义序列时存在问题,这些序列可以被攻击者用来执行任意命令。作者还提供了一个示例,展示了如何利用这个漏洞在用户的终端中执行任意命令。

文章还讨论了这个漏洞的影响和可能的后果。作者指出,这个漏洞可以被攻击者用来执行任意命令,这可能导致严重的安全问题。作者还提供了一些缓解措施,包括升级 Ghostty 终端模拟器和配置终端模拟器以禁用特殊的转义序列。

最后,文章总结了这个漏洞的教训,强调了终端模拟器安全性的重要性。作者还感谢 Ghostty 终端模拟器的作者对这个漏洞的快速修复。


HN 热度 191 points | 评论 47 comments | 作者:dgl | 1 day ago #

https://news.ycombinator.com/item?id=42562743

  • 作者感谢 @dgl 报告这个问题,并表示自己之前研究过 @dgl 的工作,忘记测试 Ghostty 导致这个问题的发生。
  • 作者认为终端安全存在根本性问题,目前的做法是试图一个一个地修复安全漏洞,但这种方法并不理想。
  • 作者提议设计一个机制,类似于 CPU 保护环或 OpenBSD 的 pledge()系统调用,来减少终端的能力。
  • aumerle 认为作者的提议不能解决问题,因为 shell 仍然需要全面的权限,建议使用 kitty 键盘协议和完整的转义代码解析器来解决问题。
  • aumerle 认为作者的提议不能解决问题,因为 shell 需要运行各种程序,并不知道这些程序需要哪些转义代码。
  • mitchellh 表示自己还没有成熟的提议,希望继续讨论和寻求建议。
  • aumerle 表示自己目前没有时间继续讨论,但希望作者在将来有更具体的提议时可以分享。
  • 有网友调侃 aumerle 总是有时间发帖,但没有时间讨论。
  • 有网友指出 aumerle 是 kitty 的作者,可能存在偏见。