這裏記錄每週值得分享的科技內容,週五發佈。
本雜誌 開源 [1] ,歡迎 投稿 [2] 。另有 《誰在招人》 [3] 服務,發佈程序員招聘信息。合作請 郵件聯繫 [4] ( [email protected] [5] )。
封面圖
今年就將啓用的騰訊總部園區,俗稱“企鵝島”,裏面不僅包括辦公樓,還有多幢公寓樓。( via [6] )
axios 投毒與好萊塢式騙術
上週,著名軟件庫 axios 被 投毒 [7] 了。黑客拿到了發佈令牌,直接發了一個新版本,裏面加入了木馬。
軟件投毒不是新鮮事,新鮮的是發佈令牌怎麼泄漏的。背後的故事簡直是好萊塢電影,根本防不勝防。
axios 屬於使用最廣泛的 JS 軟件庫之一,每週下載量接近1億次,所以這次投毒的感染面很大。
而且,木馬的惡性程度很高。根據 官方的清除說明 [8] ,如果不幸中毒, 機器上所有的密鑰、令牌和憑證都要作廢 。這個木馬會掃描所有目錄,收集密鑰,然後發出去。
大家要知道,像 axios 這種超級流行的軟件庫,每個環節都有完整防護,每一行代碼都被嚴格審查。 這次攻擊完全是一場精心策劃的社會工程 ,把這些防護都攻破了。
攻擊目標選定首席維護者 Jason Saayman。據 本人透露 [9] ,事件過程是這樣的。
他們根據我的情況量身定製了這一流程,具體做法如下:
1.他們冒充某公司的創始人聯繫我,不僅克隆了該公司創始人的外貌,還克隆了該公司本身。
2.他們隨後邀請我加入一個真實的 Slack 工作區。這個工作區使用了該公司的品牌標識,名稱也十分可信。Slack 的工作區設計得非常精巧,他們設有專門的頻道來分享 LinkedIn 上的帖子。我猜這些 LinkedIn 帖子最終會發布到該公司的真實賬號上,整體效果非常逼真。他們甚至還創建了一些我推測是該公司團隊成員以及其他一些開源軟件維護者的虛假賬號。
3.他們安排了一次與我的會面,目的是進行溝通。會議是在微軟 Teams 上進行的。參會人員似乎是一羣人。
4.會議指出我係統上的某些東西過時了。我以爲是和 Teams 有關,就安裝了缺失的組件,結果發現是遠程木馬(RAT)。
5.一切都安排得井井有條,看起來很正規,而且做事方式也很專業。
可以看到,這個攻擊是有劇本的,每一步都經過了策劃,充分準備和排練, 完全爲你度身定製 ,就等你落入圈套。
行騙者非常耐心,投入了巨大的前期成本。首先,假冒某公司的創始人聯繫你,爲了提升可信度,還做了假的公司網站;然後,邀請你加入他們的 Slack 工作區,裏面有各種討論、項目文檔、宣傳物料,看上去就像真的一樣;最絕的是,他們還讓你在 Teams 軟件上參加公司的視頻會議, 一羣騙子親自露面,陪你一起開會 。
會議開始後不久,主持人突然說:“奇怪,你的系統怎麼跟我們不一樣,是不是微軟的插件過時了,我發你一個最新版。”你就這樣收到了傳過來的安裝包,看到別的與會者都在等你,你也就沒有多想,直接雙擊執行了。哦喔,就這樣中招了,發佈令牌一秒鐘就泄漏了。
作假到這種程度,讓人歎服。
這讓我聯想到不久前看到的一條 印度新聞 [10] ,作假程度有過之而無不及,也是如同好萊塢電影。
去年聖誕節,一位印度新德里的77歲老太太,收到了“警察局”的 Whatsapp 視頻電話。視頻右下角居然還有手語翻譯。
警察跟她說,銀行發現她的賬戶有洗錢記錄,必須對她進行調查,如果不配合,賬戶資金將被沒收,通知她遠程出席法院的調查聽證會。
媒體後來披露了“警察局”的佈景照片,大家看看多麼逼真。
前三張照片是印度警察局,最後一張是巴基斯坦警察局,它們在一棟樓裏,房間緊鄰着。要知道這兩個國家在現實中是對立的,但是不妨礙騙子兩邊都騙。
再回到案子本身,幾天後,老太太參加了線上聽證會,在一個法院裏舉行,由“法官”親自主持。他查看了資金記錄,聽取了“警察”的證詞,向老太太詢問了一些問題。
最後,“法官”告訴老太太,當局需要覈實她的所有資產是否合法。她必須每天都跟警察局連線,回答問題,直到查清爲止。
下面就是這個案件最精彩的部分,一連16天,老太太每天開着攝像頭連線,大家看看騙子演到了什麼程度。
在這16天裏,老太太漸漸喜歡上了在假警局輪班的警官們。她開始稱他們爲自己的孩子們。而他們也反過來稱她爲“母親”。
晚上,她和最年輕的軍官一起閱讀印度教宗教經典,這位軍官請她把她覺得特別感人的段落髮給他。
“他們就像家人一樣,”老太太回憶說。“他們說,‘女士,我們想盡快把事情解決。我們日夜爲您工作。’”
天哪,騙子從早到晚演了16天,跟老太太促膝長談,一起讀經典,請教人生問題,直到深夜。這要是拍成電影,該有多動人。
老太太沒有絲毫疑心,心甘情願賣掉了自己的投資,累計九次向假警察局的賬戶總共轉出了160萬美元。
第二天,她再跟“警察局的孩子們”連線,就連不上了。
從上面兩個案例,大家可以看到,現在的互聯網騙局可以演到什麼程度,完全是精準投放的“劇本殺”,成功率極高。要是再加上 AI 的加持,幾乎不可能分辨真假、。
網站開發有一條規則:客戶端的每一個請求都不可信任,必須假定是惡意請求。以後,現實生活恐怕也是這樣:每一個陌生人都不可信任,必須假定是惡意騙局。
算力依然不足
最近發生了三件事,說明算力當前依然很緊張。
第一件事,OpenAI 關閉 [11] 了視頻生成服務 Sora,主要原因是算力不夠,公司要把計算資源用於核心業務。
第二件事,Anthropic 公司正式禁止將包月套餐用於第三方服務(比如 OpenClaw、OpenCode 等等)。
原因是包月套餐如果足額使用,消耗的算力將遠遠超過套餐費用。公司的算力很寶貴,必須優先保證自家產品(比如 Claude Code),不能讓外部產品增加機房負擔。
第三件事,有 文章 [12] 稱,GitHub 今年前三個月的代碼提交量是去年同期的14倍!
原因顯然是 AI 編程暴增,去年年初可沒有 Claude Code。GitHub 的資源根本不足以應付這種增量,所以 不斷髮生故障 [13] 。
上圖顯示,GitHub 過去三個月的正常運行時間只有89.47%,合格數字應該是99.99%。
以上三件事說明,主要的幾家 AI 服務公司,算力資源都很緊張,硬件依然不足。
這意味着,硬件價格暴漲還沒到頭,還會繼續漲,而 GitHub 很可能會收緊免費服務,全面轉向收費。
前端是不是重複勞動?
我看到一個開發者 說 [14] ,前端本質上是相同的工作:向用戶展示一些數據,並讓用戶處理這些數據。
他覺得,沒必要重複解決同樣的問題。
他就做了一個“ 自適應瀏覽器 [15] ”。它通過 AI 自動生成前端 UI,後端只需要提供數據,以及網頁用途的描述。
不知道這是不是前端的結局?
Adobe 修改 hosts 文件
Adobe 公司的主要產品是“創意雲”套件(Creative Cloud),包含了許多著名軟件,比如 Photoshop、Illustrator、Premiere。
一個網友安裝後,震驚地發現,安裝程序 修改 [16] 了他的 hosts 文件。
上圖可以看到,Adobe 在 hosts 裏面加了一個本地的 DNS 記錄。
一個應用程序爲什麼要修改系統文件呢?
據知情人士透露,這是爲了測試用戶是否安裝了 Creative Cloud。用戶訪問官網時,網頁會向上圖的域名發出一個請求,因爲該域名的 DNS 記錄只有本地纔有,服務器收到了請求,就意味着用戶安裝了 Creative Cloud。
這麼著名的軟件,居然想出這種類似“開後門”的解法,而且對象是付錢給他的人,真讓人無語。
文章
1、 MDN 新前端的底層結構 [17] (英文)
MDN 是互聯網最大的文檔網站,本文介紹這個網站的前端架構,沒想到這麼複雜。
2、 殺死那個寫代碼的人 [18] (中文)
作者是某大廠前端程序員,回顧自己這一年,從手寫代碼轉變到 AI 編程。AI 改變了一切,消解了“35歲退休”。( @wind-liang [19] 投稿)
3、 我如何用安卓手機搭建短信網關 [20] (英文)
作者介紹如何在一部二手的安卓手機上,安裝一個短信網關,通過網絡收發短信(使用你自己的套餐)。
4、 使用 QEMU 進行大端字節序測試 [21] (英文)
一篇 C 語言的初級教程,在本機上通過 qemu 虛擬機,運行一個不到十行的程序,就能查看某個架構是大端還是小端字節序。
6、 Python 的 importtime 功能 [22] (英文)
Python 使用 import 命令輸入模塊,這有性能開銷。本文介紹內置的 importtime 功能,可以顯示每個模塊加載所消耗的時間。
6、 2000年庫爾斯克號核潛艇災難 [23] (英文)
2000年8月,俄羅斯核潛艇“庫爾斯克”號在演習中爆炸沉沒,118名船員全部遇難。這場事故發生得十分緩慢,現場一片混亂,救援工作進展不斷延遲,本文用大量照片還原了整個過程。
工具
1、 Google AI Edge Gallery [24]
本週,谷歌官方推出了一款蘋果手機 App,爲手機提供離線使用的 Gemma 4 模型。不需要上網,手機也能使用大模型了。
2、 apfel [25]
Mac 電腦內置了一個本地大模型,可以離線使用。但是,默認只有蘋果自家的 Siri 能調用,安裝了這個工具以後,就可以自己在命令行調用它了。
3、 Docking [26]
爲 Linux 桌面添加類似蘋果桌面的程序塢。
4、 Tantivy [27]
Rust 語言寫的全文搜索引擎庫,可以替代 Apache Lucene,參見 介紹文章 [28] 。
5、 Open Screen [29]
跨平臺的桌面應用,用來錄屏後製作介紹視頻,提供各種配套編輯功能。
6、 epub-tts [30]
這個開源工具將 epub 文件轉成音頻文件,也就是電子書轉成有聲書。
7、 NVTOP [31]
一個 Linux 系統的命令行程序,用來監控 GPU 顯卡的狀態,等同於顯卡專用的 top 命令。
8、 dmcheck [32]
檢查某個主題詞的域名佔用情況。( @PlayerYK [33] 投稿)
9、 Reze Studio [34]
開源的動畫曲線編輯網站。( @AmyangXYZ [35] 投稿)
10、 gitlogue [36]
這個工具可以將 Git 倉庫的提交歷史,在終端裏面以動畫形式重現,甚至可以顯示爲屏保。
資源
1、 佛津 [37]
全球佛教古籍數字化聚合平臺。( @xr843 [38] 投稿)
2、 Flight Viz [39]
實時 3D 顯示全球的航班。( @haojiang99 [40] 投稿)
3、 GPU 時間線 [41]
這個網站用圖片展示了 GPU 顯卡的發展歷程,從1996年的 Voodoo 卡到2025年的 RTX 5090 顯卡。
圖片
1、 綠化荒山的簡單方法 [42]
中美洲的哥斯達黎加出產橙汁,產生了大量的橘子皮,以前都是垃圾填埋。
一個環保組織說服工廠,把12000噸橘子皮傾倒在荒山上,用來積肥。
山頭覆蓋了橘子皮,除此以外,沒有做任何處理。
過了6個月,橘子皮徹底腐爛,成爲了黑色的泥土,慢慢開始長東西了。
16年以後,當科學家重新來到現場時,那裏已經是茂密的樹林了。
這真是綠化荒山的最簡單方法,只要堆滿了橘子皮,任其腐爛就可以了。
2、 2025年全球物理攝影大賽 [43]
美國、法國、日本等16個粒子物理實驗室,聯合舉辦了一個攝影比賽,邀請攝影師拍攝物理實驗室,用來向大衆宣傳物理學。
上圖是意大利國家核物理研究所 (INFN) 的低溫探測器實驗室,它可以將物質冷卻到僅僅略高於絕對零度。
上圖拍攝地是法國的重離子國家加速器研究中心,拍攝的裝置是直線加速器的供電系統。
更多照片看 這裏 [44] 。
文摘
1、 爲什麼沙子有粘性? [45]
我們去海邊玩,沙子會粘在皮膚、鞋子、衣服和頭髮上。
沙子的主要成分是二氧化硅,跟岩石一樣。岩石沒有粘性,爲什麼沙子會有粘性呢?
原來,沙子本身沒有粘性,但具有親水性,它會吸水。人體也是親水的,在烈日下汗流浹背。當沙子接觸到溼潤的東西時,水分子之間就會產生粘性。
皮膚上往往還有油脂或者防曬霜,它們也會讓沙子粘在皮膚上。
另外,皮膚還有一些微小褶皺,也會卡住沙子。
總之,想要去除沙子,就是等到皮膚變幹,或者用水沖洗。
言論
1、
如果你認爲編寫代碼的速度是你的問題,那你面臨的問題更大。
-- Andrew Murphy [46] ,澳大利亞程序員
2、
有一種興奮,叫做2017年纔剛接觸加密貨幣的人才有的興奮。
-- Andrew Murphy [47] ,澳大利亞程序員
3、
一項民意調查發現,美國年輕人對於婚姻、子女、信仰的重視程度,遠不及他們的父母,對於傳統的價值觀——愛國主義、宗教、社區和家庭也很冷淡。
年輕人把市場和金錢當作道德準則。在他們眼裏,市場決定了事物的價值、事件的意義、誰是正確的、誰是贏家、誰舉足輕重。
-- 《預測市場的最糟糕後果》 [48]
4、
對我來說,未來城市實際上是像阿姆斯特丹那樣的地方,到處都是舒適的街道和自行車道,而不是像迪拜那樣的地方,有16車道的高速公路,以及一羣被壓迫的勞工階級在俗氣的豪華購物中心裏工作。
-- Hacker News 讀者 [49]
5、
高校都要求博士生髮表論文,至於你寫什麼、怎麼寫的、內容與研究方向有沒有關係,系裏其實都不在意。系裏需要論文,因爲論文能證明經費的合理性,而經費又能證明系的存在價值。學生只不過是達成這個目標的生產資料。
-- 《機器沒問題,有問題的是我們自己》 [50]
往年回顧
HDMI 2.2 影音可能到頭了 [51] ( #345 )
你做過不在乎結果的項目嗎? [54] ( #195 )
(完)
References
[1]
開源:
https://github.com/ruanyf/weekly
[2]
投稿:
https://github.com/ruanyf/weekly/issues
[3]
《誰在招人》:
https://github.com/ruanyf/weekly/issues/9454
[4]
郵件聯繫:
mailto:[email protected]
[5]
[email protected]:
mailto:[email protected]
[6]
via:
https://www.nfnews.com/content/0oXLNmjJo9.html
[7]
投毒:
https://cloud.tencent.com/announce/detail/2249
[8]
官方的清除說明:
https://github.com/axios/axios/issues/10636
#issue
-4195231282
[9]
本人透露:
https://github.com/axios/axios/issues/10636
#issuecomment
-4180237789
[10]
印度新聞:
https://www.wsj.com/world/fake-cops-fake-judges-the-hollywood-style-scam-poised-to-go-global-e1e339a3?st=fXpKE6&mod=1440&user_id=66c4c9305d78644b3ac5df9c
[11]
關閉:
https://finance.sina.cn/stock/jdts/2026-04-07/detail-inhtsezc7221412.d.html
[12]
文章:
https://martinalderson.com/posts/what-next-for-the-compute-crunch/
[13]
不斷髮生故障:
https://mrshu.github.io/github-statuses/
[14]
說:
https://jonno.nz/posts/what-if-your-browser-built-the-ui-for-you/
[15]
自適應瀏覽器:
https://github.com/jonnonz1/adaptive-browser
[16]
修改:
https://www.reddit.com/r/webdev/comments/1sb6hzk/comment/oe1ap9h/
[17]
MDN 新前端的底層結構:
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
[18]
殺死那個寫代碼的人:
https://windliang.wang/2026/03/31/%E6%9D%80%E6%AD%BB%E9%82%A3%E4%B8%AA%E5%86%99%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BA%BA/
[19]
@wind-liang:
https://github.com/ruanyf/weekly/issues/9545
[20]
我如何用安卓手機搭建短信網關:
https://jonno.nz/posts/built-an-sms-gateway-with-a-20-dollar-android-phone/
[21]
使用 QEMU 進行大端字節序測試:
https://www.hanshq.net/big-endian-qemu.html
[22]
Python 的 importtime 功能:
https://simonwillison.net/2025/Jun/20/python-importtime-graph/
[23]
2000年庫爾斯克號核潛艇災難:
https://rarehistoricalphotos.com/kursk-submarine-disaster-photos/
[24]
Google AI Edge Gallery:
https://apps.apple.com/nl/app/google-ai-edge-gallery/id6749645337
[25]
apfel:
https://apfel.franzai.com/
[26]
Docking:
https://docking.cc/
[27]
Tantivy:
https://github.com/quickwit-oss/tantivy
[28]
介紹文章:
https://www.paradedb.com/blog/tantivy-interview
[29]
Open Screen:
https://github.com/siddharthvaddem/openscreen
[30]
epub-tts:
https://github.com/rafael1mc/epub-tts
[31]
NVTOP:
https://github.com/Syllo/nvtop
[32]
dmcheck:
https://github.com/PlayerYK/dmcheck
[33]
@PlayerYK:
https://github.com/ruanyf/weekly/issues/9542
[34]
Reze Studio:
https://github.com/AmyangXYZ/reze-studio
[35]
@AmyangXYZ:
https://github.com/ruanyf/weekly/issues/9555
[36]
gitlogue:
https://github.com/unhappychoice/gitlogue
[37]
佛津:
https://fojin.app/
[38]
@xr843:
https://github.com/ruanyf/weekly/issues/9507
[39]
Flight Viz:
https://flight-viz.com/
[40]
@haojiang99:
https://github.com/ruanyf/weekly/issues/9538
[41]
GPU 時間線:
https://sheets.works/data-viz/every-gpu
[42]
綠化荒山的簡單方法:
https://www.sciencealert.com/how-12-000-tonnes-of-dumped-orange-peel-produced-something-nobody-imagined
[43]
2025年全球物理攝影大賽:
https://www.quantamagazine.org/global-physics-photowalk-2025-winners-revealed-20260401/
[44]
這裏:
https://www.quantamagazine.org/global-physics-photowalk-2025-winners-revealed-20260401/
[45]
爲什麼沙子有粘性?:
https://www.mentalfloss.com/posts/why-is-sand-sticky
[46]
Andrew Murphy:
https://andrewmurphy.io/blog/if-you-thought-the-speed-of-writing-code-was-your-problem-you-have-bigger-problems
[47]
Andrew Murphy:
https://andrewmurphy.io/blog/if-you-thought-the-speed-of-writing-code-was-your-problem-you-have-bigger-problems
[48]
《預測市場的最糟糕後果》:
https://www.derekthompson.org/p/we-havent-seen-the-worst-of-what
[49]
Hacker News 讀者:
https://news.ycombinator.com/item?id=47643388
[50]
《機器沒問題,有問題的是我們自己》:
https://ergosphere.blog/posts/the-machines-are-fine/
[51]
HDMI 2.2 影音可能到頭了:
https://www.ruanyifeng.com/blog/2025/04/weekly-issue-345.html
[52]
巧妙的燈泡鍾:
https://www.ruanyifeng.com/blog/2024/03/weekly-issue-295.html
[53]
摩天大樓是反人類的:
https://www.ruanyifeng.com/blog/2023/03/weekly-issue-245.html
[54]
你做過不在乎結果的項目嗎?:
https://www.ruanyifeng.com/blog/2022/02/weekly-issue-195.html