Hacker News 每日播报为你带来最新的科技动态,从 NPM 供应链的惊天漏洞到软件定义无线电的无限可能,从 Waymo 自动驾驶的商业落地到 Linux 手机的未来之辩,更有用汇编从零编写 GUI 的硬核教程,以及对苹果设计理念的深刻反思。
Shai-Hulud 恶意软件攻击:Tinycolor 及 40 多个 NPM 包遭殃
一场代号为“Shai-Hulud”的恶意软件攻击正席卷 NPM 生态系统,知名库 tinycolor 和超过 40 个其他 NPM 包受到影响,攻击范围甚至已扩展至 CrowdStrike 的多个 NPM 包。这次攻击再次为我们敲响了软件供应链安全的警钟。
攻击手法揭秘
这个名为“Shai-Hulud”(致敬科幻小说《沙丘》)的恶意软件,其核心是一个名为 bundle.js 的脚本。一旦执行,它会采取一系列隐蔽而危险的行动:
利用合法工具作恶:下载并运行合法的秘密扫描工具 TruffleHog,用于扫描受感染系统上的敏感信息,如 API 令牌和云凭证。精准窃取凭证:专门搜索系统中的 GITHUB_TOKEN、NPM_TOKEN、AWS_ACCESS_KEY_ID 等关键环境变量。实现持久化攻击:在受感染的仓库中创建未经授权的 GitHub Actions 工作流文件(通常命名为 shai-hulud.yaml),即使初始感染被清除,这些恶意工作流也可能在未来的 CI/CD 运行中被触发,持续窃取数据。数据外泄:将所有收集到的敏感数据秘密发送到一个硬编码的 webhook 端点。行业反思与应对
这次事件引发了业界对开源生态系统安全的深刻反思。软件供应链的脆弱性再次凸显,一个看似无害的依赖包,就可能成为整个项目甚至公司安全的“阿喀琉斯之踵”。
审查依赖:立即卸载受影响的包或锁定到已知的安全版本。审计环境:检查所有安装了受影响版本的环境,包括 CI/CD 代理和开发人员的电脑。轮换凭证:如果这些包存在于拥有发布凭证的机器上,务必轮换 NPM 令牌和其他可能暴露的秘密。同时,这也促使社区思考如何加强防范措施。除了依赖 npm audit 等工具,开发者在引入新依赖时应进行更严格的审查。像 Socket.dev 这样的自动化安全工具在预警此类攻击中的作用也愈发重要,将其集成到开发工作流中已成为一种必要。归根结底,这次攻击提醒我们,凭证管理必须遵循最小权限原则,并建立严格的存储、使用和轮换策略。
软件定义无线电(SDR)能做的 50 件事 (2024)
你是否想过,我们周围的空中充满了看不见的信号?一位开发者仅用一个简单的 USB 接收器和天线,在一周内完成了 50 项令人惊叹的软件定义无线电(SDR)实验,向我们展示了电磁频谱这个“隐形世界”的无限魅力。
SDR 是什么?
简单来说,SDR 是一种大部分数据处理都由计算机软件完成的无线电。这使得它能够检测到比普通收音机宽广得多的电磁波范围。作者使用的 RTL-SDR Blog V4 USB 接收器价格亲民,是进入这个世界的绝佳起点。
50 项奇妙探索
作者采用“做五十件事”的方法,避免陷入过深的细节,从而在短时间内广泛探索。他的实验五花八门,涵盖了:
日常通信:收听 FM 广播、机场天气报告(ATIS)、追踪飞机(ADS-B)和船只(AIS)的位置。业余无线电:接收摩尔斯电码、流行的 FT8 数字模式通信,甚至解码了业余无线电爱好者发送的慢扫描电视(SSTV)图片。天气与太空:成功接收 NOAA 气象卫星的信号并解码出部分图像。物联网与传感器:令人惊讶地读取到邻居的 433 MHz 无线传感器数据(温度、湿度)、汽车胎压监测系统(TPMS)的数据,以及智能电表的数据。神秘信号:监听了传说中的“数字电台”(Number Stations)和神秘的“蜂鸣器”(The Buzzer)电台。这次经历不仅充满乐趣,也引发了关于无线电监听的法律和伦理讨论。虽然接收公开广播通常合法,但解码私人通信则可能触犯法律。同时,物联网设备数据如此容易被读取,也引发了人们对其隐私和安全设计的担忧。许多技术爱好者受到启发,分享了更多可以探索的方向,如接收国际空间站的图像、进行射电天文学观测,甚至解码数字语音通信。这证明了 SDR 不仅是一个有趣的技术玩具,更是激发好奇心和实践精神的强大工具。
Waymo 获准在旧金山国际机场(SFO)进行商业运营
自动驾驶巨头 Waymo 宣布已获得在旧金山国际机场(SFO)进行商业运营的试点许可,这是其自动驾驶服务在湾区乃至全球交通枢纽商业化部署的重要里程碑。
逐步开放,连接机场
根据计划,Waymo 将分阶段在 SFO 推出其完全自动驾驶的接送服务。初期将首先面向员工进行测试,随后逐步向湾区乘客开放。乘客的上下车点将设在机场的“Kiss & Fly”区域,该区域可通过 AirTrain 轻轨系统方便地抵达各个航站楼。
这并非 Waymo 首次涉足机场服务,他们在凤凰城天港国际机场(PHX)已积累了多年运营经验。此次获得 SFO 许可,是其加速在更多城市和机场扩展服务战略的一部分。
期待与担忧并存
这一消息在科技界引发了热议。一方面,许多人对自动驾驶技术的进步感到兴奋,认为在机场这种人流、车流高度复杂的环境中部署服务,是技术成熟度的有力证明。大家期待 Waymo 能有效缓解机场交通拥堵,为携带大量行李的旅客提供前所未有的便利。
另一方面,谨慎和怀疑的声音也不绝于耳。安全问题是关注的焦点。尽管 Waymo 拥有数百万英里的自动驾驶经验,但在机场这种动态且不可预测的环境中,车辆如何应对行人突然出现、行李车操作失误或紧急车辆通行等“边缘情况”,仍然是人们担忧的核心。同时,大家也关注“试点许可”的具体限制,以及这项创新服务的定价策略是否亲民。Waymo 在 SFO 的表现,无疑将成为自动驾驶技术能否真正融入复杂城市生活的一次重要考验。
丹麦疫苗推广后,致癌 HPV 病毒株接近被清除
丹麦的一项全国性研究传来捷报:自 2008 年启动 HPV 疫苗接种计划以来,导致宫颈癌的主要元凶——HPV 16 型和 18 型病毒株,已在该国几乎被清除。这不仅是丹麦公共卫生的巨大成功,也为全球癌症预防提供了宝贵经验。
数据驱动的公共卫生奇迹
直接保护:在疫苗接种前,HPV 16/18 型的流行率在 15% 到 17% 之间。到 2021 年,在接种疫苗的女性中,这一数字已降至惊人的 1% 以下。群体免疫:更令人振奋的是,疫苗接种计划带来了强大的“群体免疫”效应。即使是未接种疫苗的女性,其 HPV 16/18 型感染率也大幅降至 5%,因为病毒在人群中的传播链被有效阻断。技术进步与未来展望
丹麦的成功还得益于疫苗技术的不断进步。最初,丹麦为女孩提供的是针对四种 HPV 类型的疫苗。自 2017 年起,则改用能预防九种 HPV 类型的“九价”疫苗,覆盖了约 90% 的宫颈癌致病病毒。
这一成功案例展示了技术进步与有效医疗政策结合的巨大威力。它也引发了对未来的思考:随着 HPV 感染率持续下降,宫颈癌的筛查频率和方式是否需要调整?这不仅关系到医疗资源的优化分配,也可能减轻患者的负担。丹麦的经验证明,通过科学、数据和坚定的公共卫生行动,我们距离战胜某些癌症的目标正越来越近。
Linux 手机比以往任何时候都更重要
随着主流移动生态系统日益封闭,对一个真正开放的替代方案的呼声越来越高。一篇观点鲜明的文章指出,Android 生态系统正经历一场“极其迅速的退化”,其开放性正被逐步侵蚀,这使得 Linux 手机的开发比以往任何时候都更加重要。
Android 的“围墙花园”
文章认为,Google 正在效仿苹果,逐步收紧对 Android 的控制,体现在以下几个方面:
AOSP 组件封闭化:越来越多的 Android 开源项目(AOSP)组件转为私有开发。Bootloader 锁定:三星、小米等主流厂商已在新设备上移除 Bootloader 解锁选项,阻碍用户安装第三方操作系统。强制 API 和验证:Play Integrity API 和开发者验证的强制推行,使得许多应用(包括开源应用)难以在非官方系统上运行,甚至迫使一些开发者放弃 Android 平台。理想与现实的碰撞
这篇文章在开发者社区引发了强烈的共鸣和激烈的讨论。许多人表达了“不惜一切代价也要摆脱大科技公司控制”的决心,并准备好迎接尚不完美的 Linux 手机。
然而,现实的挑战依然严峻。有 Pinephone 用户分享了亲身经历,指出当前 Linux 手机在硬件性能、软件体验、电池续航以及基本的通话、拍照功能上,与主流智能手机相比仍有巨大差距。银行、打车等日常必需的应用缺失,是阻碍其普及的最大障碍。
尽管如此,社区依然充满希望。像 Droidian、PostmarketOS 等项目正在积极开发中,而 Waydroid 技术则为在 Linux 手机上运行 Android 应用提供了可能。这场讨论清晰地描绘了 Linux 手机在理想与现实之间的挣扎,以及社区对一个真正开放、用户可控的移动未来的强烈渴望。
感觉苹果已经失去了与我和其他老用户的共鸣
一位长期使用苹果产品的用户发表文章,表达了对苹果近年来产品和设计方向的失望,认为这家曾经以创新和用户体验著称的公司,正逐渐失去其独特的魅力,变得越来越像“其他大型科技公司”。
设计理念的偏离
作者认为,苹果在发布会上引用史蒂夫·乔布斯的名言“设计是它如何工作”,在当前备受批评的软件设计背景下显得格外讽刺。他感觉苹果的软件体验正在被削弱,硬件和软件能力之间的差距正在扩大,这与乔布斯时代“软件定义硬件”的理念背道而驰。
对新产品的批判
Apple Watch:功能过于臃肿复杂,每年重复的“救命故事”营销显得品味低下。AirPods:因其不可更换的电池设计,被归类为“最浪费”的产品,很快就会变成电子垃圾。iPhone Air:这是批评的焦点。作者认为,iPhone Air 为了追求“超薄超轻”而在电池续航、散热和耐用性上做出了巨大妥协,是一种“为了薄而薄”的设计,缺乏实际意义,完全违背了其设计初衷。社区的复杂情绪
这篇文章引发了广泛讨论,许多老用户表示有同感,认为近年来 iOS 和 macOS 的更新常常伴随着新的 bug 和不一致的 UI,系统失去了曾经的直观性。
但也有观点认为,这种看法带有“怀旧滤镜”。作为一家巨型公司,苹果需要平衡创新、利润和多样化的用户需求,不可能永远保持小众精品的状态。尽管有些产品不尽如人意,但苹果在芯片技术、生态系统整合和隐私保护方面仍处于行业领先。iPhone Air 或许是一次大胆的尝试,就像初代 MacBook Air 一样,可能预示着未来的设计方向。
这场讨论反映了社区对苹果未来走向的担忧与期待。如何在保持创新、提升软件质量和满足日益增长的用户需求之间找到平衡,是苹果面临的最大挑战。
双子座计划 60 年后,新处理的图像揭示了惊人细节
一本名为《Gemini & Mercury Remastered》的新书,通过精湛的数字图像处理技术,让美国早期载人航天计划——水星计划和双子座计划中那些尘封已久的照片焕发新生,揭示了许多不为人知的历史细节和宇航员们所经历的巨大风险。
修复历史,重现辉煌
这些任务是阿波罗登月计划的基石,却常常被遗忘。本书作者 Andy Saunders 的工作,旨在通过视觉的力量,让人们重新认识这段“人类首次逃离地球”的黄金时代。他从受损严重的原始胶片中,通过堆叠数百帧 16 毫米胶片等数字技术,提取出令人难以置信的细节,甚至能看清宇航员皮肤上的毛孔。
照片背后的惊险故事
双子座 4 号:美国首次太空行走宇航员埃德·怀特在返回时,发现舱门无法关闭,命悬一线。双子座 9A 号:吉恩·塞尔南经历了一次“地狱般的太空行走”,他因精疲力尽、面罩起雾、宇航服被撕裂,差点未能生还。水星计划:约翰·格伦在重返大气层时,面对隔热罩可能松动的未知恐惧,修复后的照片清晰地展现了他当时的表情。这些图像不仅是对早期航天工程的致敬,也引发了人们对技术迭代和数据保存重要性的思考。NASA 早期对胶片保存的忽视,提醒我们长期数据存储和历史档案数字化的重要性。Saunders 的工作提供了一个范例,展示了如何通过现代技术挽救和重现濒临失传的历史信息,让后人得以感受那段探索时代的“人情味”和“情感深度”。
用户界面中的“你的”与“我的”
在用户界面(UI)设计中,一个词的选择就可能影响用户的理解和操作。一个常见却容易被忽视的问题是:在指代用户自己的内容时,应该使用“Your”(你的)还是“My”(我的)?
问题的核心
想象一个场景,系统提示用户“Go to my cases”(去我的案件)。这听起来很别扭,用户可能会困惑:“是去‘系统’的案件,还是我自己的?”如果客服人员在电话里指导用户“Go to your cases”,而界面上写的却是“My cases”,同样会造成混淆。
一个简洁的原则
设计师 Adam Silver 提出了一个非常清晰的指导原则来解决这个问题,其核心在于区分信息传递的方向:
当系统向用户传达信息时,使用“Your”(你的)。例如,标题可以是“Your Account”、“Your Orders”。这是系统在对用户说话。当用户向系统传达信息时,使用“My”(我的)。例如,一个按钮或选项可以是“Share my profile”(分享我的个人资料)。这是用户在向系统发出指令。这个看似微小的区分,对于提升用户界面的清晰度和自然度至关重要。它提醒我们,语言是 UI 设计中不可或缺的一部分,精准的用词能够创造更流畅、更直观的用户体验。当然,在很多情况下,我们甚至不需要任何前缀,直接使用“Account”、“Orders”就足够清晰了。
男子因拒绝解密其 Tor 节点而违反假释规定入狱
一则案例引发了关于数字时代个人隐私与法律执行之间紧张关系的深刻讨论:一名男子因拒绝解密他的 Tor 节点,被判违反假释规定而入狱。这起事件触及了技术、法律和个人权利的交叉点。
隐私权与强制力的冲突
此案的核心是个人隐私权与国家强制力之间的冲突。加密技术是保护个人通信和数据隐私的基石,而 Tor 网络则以其匿名性著称。当法律要求个人解密其设备或节点时,直接挑战了公民在数字空间中保持匿名的权利。
是否构成“被迫自证其罪”?许多法律体系保护个人免于被迫提供可能对自己不利的证据。强制解密是否违反了这一原则,在法律界一直存在争议。技术上是否可行?“解密一个 Tor 节点”这个说法的含义很模糊。一个 Tor 节点可能只是一个中继,本身不存储任何用户数据,或者即使存储了数据,也可能因为密钥丢失或设计原因而无法解密。法律要求可能与技术现实脱节。多方视角的碰撞
隐私权捍卫者 认为,强制解密是对个人隐私的严重侵犯,并可能为未来的类似案件树立危险的先例。法律与秩序的支持者 则认为,假释是一种特权,假释犯有义务遵守所有条款,包括配合调查。拒绝解密本身可能暗示了隐藏非法活动的意图。技术专家 则更关注技术细节,质疑法律要求在技术上的合理性和可行性,并探讨了“合理否认”(plausible deniability)的可能性。这起案件不仅仅是一个个案,它更是数字时代下,我们如何平衡个人自由、隐私权与国家安全、法律执行之间关系的一个缩影,迫使我们思考法律体系如何应对技术带来的新挑战。
通过从零开始编写 GUI 来学习 x86-64 汇编 (2023)
在现代软件开发中,直接用汇编语言编写图形用户界面(GUI)听起来像是一项不可能完成的任务。然而,一篇教程却通过这个硬核挑战,为我们提供了一个深入理解计算机系统底层的绝佳机会。作者的目标是:用纯汇编编写一个 GUI 程序,并使其二进制文件尽可能小。最终,他成功将其压缩到了惊人的 1 KiB 左右!
从零到一的旅程
这篇教程详细记录了从一个最简单的汇编程序,到实现一个功能完整的 GUI 程序的每一步:
基础构建:从 nasm 汇编器和 Linux 上的 X11 协议开始,逐步引入系统调用(如 socket, connect, read, write),并深入讲解了 x86-64 架构下的栈工作原理。连接 X11 服务器:展示了如何通过 Unix 域套接字连接到 X11 服务器,发送握手请求,并解析服务器返回的信息。创建 GUI 元素:一步步地创建窗口、设置图形上下文(Graphical Context),并最终将其映射到屏幕上使其可见。处理用户交互:介绍了如何使用 poll(2) 系统调用来监听服务器事件,例如 Expose 事件,这是在窗口中绘制内容的前提。绘制文本:详细讲解了如何在窗口中绘制出经典的“Hello, world!”文本。学习价值与反思
这篇文章在开发者社区中获得了极高的评价。许多人认为,这是一个“令人难以置信的壮举”,也是理解操作系统如何与应用程序交互、X11 协议内部工作方式以及汇编语言实际应用的绝佳资源。
尽管在现代应用开发中,直接用汇编编写 GUI 几乎没有实用价值,但其教育意义是巨大的。它让我们反思现代软件开发中抽象层带来的便利与代价,并重新燃起了对计算机底层原理的敬畏和好奇心。对于任何希望深入理解计算机系统的人来说,这都是一份宝贵的学习材料。
相关链接:
- Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised
- Things you can do with a Software Defined Radio (2024)
- Waymo has received our pilot permit allowing for commercial operations at SFO
- Denmark close to wiping out cancer-causing HPV strains after vaccine roll-out
- Linux phones are more important now than ever
- I feel Apple has lost its alignment with me and other long-time customers
- 60 years after Gemini, newly processed images reveal details
- "Your" vs. "My" in user interfaces
- Man jailed for parole violations after refusing to decrypt his Tor node
- Learn x86-64 assembly by writing a GUI from scratch (2023)