2026.08.21 —— 今日 10 則
TODAY'S THREAD 今天好幾則都在講同一件事:你以為沒事的地方,正在悄悄出事。一個熱門 Rust crate 被掉包成後門、只上架 86 分鐘;兩家 Tier-1 網路把防路由外洩的欄位中途拆掉;AliExpress 用一段永遠靜音的音訊霸佔你的藍牙;攻擊者則用一萬七千個機器速度的動作,跑贏了為人類步調設計的審查。
重要的參數多給幾個 bit,2-bit 也能打
Unsloth 放出 Dynamic 3.0 GGUF 量化,做法是逐層挑選、對每個模型量身訂做量化方案,在同樣的檔案大小下換取更高精確度;這一版換上了更高品質、涵蓋 agentic coding 與多語的 imatrix 校準資料集,而且強調「不做 QAT/QAD」,純後訓練量化。官方對 Qwen3.8-27B 宣稱「同樣大小下 top-1% 準確率比其他家高 10% 以上」,其中 UD-IQ1_S 壓到 6.2GB、體積小 89%,還能保留約 72% 的 top-1% 準確率。跑在消費級 GPU 上想塞大模型的人,這是可以直接換上去試的量化檔。
一萬七千個動作,人根本審不完
Docker 這篇把 Hugging Face 七月那場入侵拆給你看:Hugging Face 事後重建出對方在四天半裡的約 17,600 個攻擊動作,其中約兩天半在基礎設施內部遊走,還撈到一份含 136 把金鑰的正式環境機密。作者算了一筆帳——「每個動作花三十秒人工複審,就是 147 小時的工作」,就算歸併成約 6,280 群也還要五十幾小時。他的結論不是「agent 逃出沙盒」,而是「一套為人類步調設計的安全系統,撐不住機器速度」,該做的是讓 agent 做錯事時拿不到通往其他一切的鑰匙。
熱門 crate 被掉包,後門只上架 86 分鐘
8 月 20 日 07:15 UTC,Rust 團隊收到通報說 proc-macro1 這個仿冒套件是惡意的;熱門的 arrayref 剛被重新發佈、改成相依它,於是任何專案只要拉進 arrayref@0.3.10,Cargo 就會在 build 時自動抓下並執行 payload。那個 build script 會用一條「接受任何憑證、完全不驗證」的 TLS 連線抓對應架構的執行檔,在 Unix 上丟出並執行 /tmp/rust-setup,C2 指向 23.254.165.112。惡意版本只在 crates.io 上活了 86 分鐘(07:15 到 08:41 被刪),官方研判作者不是主謀,而是電腦或憑證被盜。
同一個壓縮指令,換個寫法快 40 倍
一篇 AVX-512 的效能除錯筆記:作者在 Zen 4 上用 SIMD 加速 copy_if,用 intrinsics 拿到最高 40 倍的加速。關鍵發現是 CPU 把 vpcompressd 的「記憶體目的版本」做成很糟的 microcode——profiling 顯示 95.20% 的 retired uops 都卡在這條指令;改用「先 compress 到暫存器、再 store」的寫法就繞開了。要點很好記:避開 COMPRESS 指令的記憶體目的形式。
Go 1.27:泛型方法與後量子簽章
Go 1.27 在 8 月 19 日釋出,語言層終於補上泛型方法,函式型別推論也擴到 composite literal、conversion、channel send 等更多情境。執行期把小於 80B 的小物件配置成本降了最多 30%,並加入偵測 goroutine 洩漏的 profile。標準函式庫這次也很有份量:crypto/mldsa 實作了後量子的 ML-DSA 簽章(FIPS 204),encoding/json 改由 v2 實作在背後撐著、unmarshal 更快。
兩家 Tier-1 把防路由外洩的欄位拆掉了
RFC 9234 把「路由外洩防護」直接寫進 BGP 協定:兩端在 OPEN 訊息裡宣告彼此的 role,路由帶上 OTC 屬性後,一台懂 OTC 的 router「不必靠人手寫 policy,就能自己拒掉被外洩的路由」。Cloudflare 靠自家的全球 peering,用「誰對我們送出 OTC 屬性」來追蹤這個機制的採用率,結果撞見一件沒預期的事——「有兩家大型 Tier-1 網路,會把它們轉發出去的路由上的 OTC 屬性拆掉」。這等於在中途破壞了防護的傳遞,Cloudflare 說已經在跟這兩家溝通放行。
帶著 debug 資訊,Rust 編到 wasm 慢 40 倍
一篇追查「為什麼 Rust 編到 WebAssembly 這麼慢」的文章,把矛頭指向 LLVM 的除錯資訊:開了 debug = 2 之後,大量 inline 會讓單一函式產出「數十萬筆 DBG_VALUE 記錄」。一個四十行的重現例,帶 debug 要 50 秒、不帶只要 1.5 秒,中間膨出約 90,000 條指令卻有 267,000 筆 DBG_VALUE;瓶頸集中在 WebAssembly 的 Register Stackify pass,佔了 LLVM pass 時間的 85.6%。作者提出的修法讓 ed25519-compact 這個 crate 的該階段從 1683.4 秒降到 23.2 秒,快了約 73 倍。
一段永遠靜音的音訊,讓藍牙一直斷不掉
有人發現 AliExpress 的網頁會用 WebAudio 做指紋,順帶把你的藍牙 multipoint 卡死:它接了一條 Sawtooth oscillator → AnalyserNode → ScriptProcessorNode → GainNode(設成 0)→ destination 的音訊圖,增益雖然是零、但只要連到 AudioContext.destination,瀏覽器就會持續處理音訊、讓音訊工作階段一直活著,耳機因此無法在裝置之間切換。麻煩的是「靜音分頁也沒用,因為根本沒有可以靜音的媒體元素」。指紋本體來自兩支混淆過的腳本 collina.js 與 fireyejs.js,作者附了 uBlock 規則擋掉它們。
一次函式呼叫,比一趟網路快一百倍
一篇替 SQLite 撐腰的文章,主張多數正式環境工作負載其實用 SQLite 就夠了——它從 2000 年就在,是「地球上部署最廣的資料庫引擎,差距大到不成比賽」。核心論點是把資料庫從網路跳躍變成函式呼叫:「localhost 上一次 Redis GET 大約 100 微秒,而對熱頁快取做一次 SQLite 點查詢大約 1 微秒」。作者的算盤是,一台 128GB RAM 加 NVMe 的機器,當你的資料庫往返只是一次函式呼叫時,能扛掉的流量會多到嚇人,還省下維運多套系統的複雜度。
一天四億個動作,規則引擎自己開源了
Discord 把內部拿來抓詐騙、垃圾內容的規則引擎 Osprey 開源了,官方說法是「Discord uses the open source version of Osprey to handle ~400 million actions per day」——平台上每天約四億個動作都經過它判斷。核心是一套自訂的規則語言 SML,Entity、Feature、Effect 被當成一等公民對待,團隊可以不重新部署系統就即時上線新規則、跟上變化中的攻擊手法。官方也提到系統設計成能「handle thousands of events per second, in real-time」,並隨著平台成長水平擴充。