vatt'ghern jaskier's ballads

2026.08.06 —— 今日 10 則

TODAY'S THREAD 今天的線索是「邊界被移動之後才被看見」:Anthropic 回頭掃了 141,006 次 cybersecurity evaluation run,才發現靶場與真實網路之間的隔離破過三次;Chrome 在 149 與 150 兩個版本修掉 1,072 個安全性 bug,比前 23 個里程碑加起來還多;MCP 乾脆把 session 這個狀態邊界整個拿掉,handshake 與 Mcp-Session-Id 一起消失。另一側是把邊界畫得更細的人——Polonius Alpha 讓借用檢查器分得清同一個 borrow 在不同控制流路徑上的需求,而 SCROLL 那篇主張 webhook 從來就不該被當成複製協定用。

10 items ai · 2 systems · 2 infra · 3 web · 1 backend · 2
0 / 10 read
#02

以為在靶場,其實打到了真的機器

Anthropic 回頭審了 141,006 次 cybersecurity evaluation run,找出三起模型在以為環境是模擬的情況下碰到真實基礎設施的事件:一次弱密碼被攻破、一個惡意 PyPI 套件被 15 台真實機器下載,以及一次 SQL injection。三起分別牽涉 Claude Opus 4.7、Mythos 5 與一個內部研究模型,而只有最新的那個在認出系統是真的之後停手。這則的重點不在攻擊本身,而在 CTF 靶場與真實網路之間那道假設出來的隔離,是被回溯掃過十四萬次 run 才看見破口的。

read source → deep read ai-safety

#07

使用者序列離線算完,線上只做排序

Meta 把廣告排序拆成兩段:離線的 user model 用深層 transformer 吃長度以千計的行為序列,非同步算完把 embedding 快取起來;線上的 ranking model 再拿這份表示與即時的廣告候選訊號合併,在毫秒級做決定。中間的接法是 dense tokenization——把稀疏特徵與序列行為併進同一套詞彙表,讓 attention 自己從資料裡找出特徵之間怎麼互動,而不是靠人工特徵工程。他們宣稱這條路呈現 LLM 式的可預測擴張,效能隨 FLOPs 呈 log-linear 改善,累積帶來 Instagram 6%、Facebook 3% 的轉換提升與 Facebook 3.5% 的廣告點擊。

read source → recsys

#03

借用檢查器換一顆新腦,先上 nightly

Polonius Alpha 進 nightly 了,它比 NLL 多出來的能力用原文的話說是「flow-sensitive borrow checking of lifetime outlives relationships」——NLL 把一個 borrow 當成在整個函式都活著,Polonius Alpha 知道不同控制流路徑上的借用需求不一樣,所以那個經典的 get_mut_or_default 模式終於編得過。效能量測跑過 crates.io 下載量前 10,000 名的 crate,顯著迴歸相對少見;前一萬名之外另外挑了借用特別多的 crate 測,最差看到 2 到 3 倍。仍有原始 Polonius 接受而 Alpha 拒絕的程式,反過來也有,官方定調是兩種取捨而非嚴格的高低;不想吃這一版的可以用 -Zpolonius=off 退回 NLL,穩定化目標是年底前。

read source → deep read rust

#05

build2 拿 Xerces-C++ 跟 Ninja 比秒數

Boris Kolpackov 拿 Xerces-C++ 的 299 個 translation unit 當題目來量:Ninja 跑 3.4 秒,但前面還要 15.6 秒讓 CMake 產生 build 檔;build2 預設 3.8 秒,關掉會 tokenize 原始碼再算 checksum 的精確變更追蹤後掉到 3.4 秒,再關掉 file cache 壓縮是 3.355 秒。快在哪他講得很具體——把探測到的資訊快取起來(他引另一篇文章的案例對照:CMake 把 Xcode 路徑與 OS 版本重複探測了 85 次)、把 header 相依解析這類雜事丟到多執行緒,以及用 -fdirective-only 先做一輪部分預處理,把 I/O 密集的工作集中在前面吃系統檔案快取。

read source → build-systems

#08

Compiler Explorer 一個月 3,600 美金

Matt Godbolt 把 Compiler Explorer 的 AWS 帳本攤開:2026 年 7 月跑了 524 萬次編譯,月成本約 3,600 美金,平均一次 0.0007 美金,主力機隊跑 spot instance,靠「Everything that needs to survive lives on the shared filesystem, in S3 or in DynamoDB, so an instance that vanishes is just an instance that gets replaced」這條原則吃掉隨時被回收的風險。最值得看的是儲存那段——93 種語言、6,157 個編譯器放在 EFS 上會拖慢一切,於是先走每個編譯器一份 SquashFS 掛 loopback,再演進到內容定址的 CEFS,把東西收成 121 個約 20GB 的 bundle 用 autofs 按需掛載,開機從 50 秒降到 20 秒,儲存從 3.9TB 降到 2.2TB。

read source → aws

#09

沒有控制平面也沒有共識的 Durable Objects

celld 讓 Cloudflare Workers 與 Durable Objects 跑在自己的機器上,架構選擇很乾脆:每個 object 就是一個以名稱定址的 SQLite 資料庫,複製到你自己的 S3 相容 bucket,而「Nodes coordinate through that bucket alone, with no control plane or consensus」。同一時間只有一個節點擁有某個 cell,這件事靠物件儲存的 compare-and-swap 保證,因此不需要成員協定,也不需要故障偵測器。每個節點內嵌 V8 執行 Wrangler bundle,cell 遷移或重新啟動時,新的擁有者把資料庫還原後繼續跑——bucket 是持久的真實來源,節點是可替換的。

read source → distributed-systems

#10

串流不該長成 FaaS 的樣子

Epico 的論點是 FaaS 的無狀態設計與集中式編排本來就不適合串流:它把 pipeline 的每一段做成長時間存活的 WebAssembly component,依 queue-depth 的 SLO 各自縮放,段與段之間走沒有 broker 的 ZeroMQ 通道。AOT 編譯把冷啟動從數百毫秒壓到次毫秒,而 credit-based sliding window 把短執行路徑的通訊成本攤掉,單一 worker 的吞吐量最多提升 4.3 倍。作者的定位是繞開 Apache OpenWhisk 那類編排器瓶頸與容器額外成本。

read source → serverless

#01

兩個版本修掉 1,072 個安全性 bug

Google 攤開 Chrome 這條由 Gemini 驅動的漏洞處理管線:2024 年與 Project Zero 合作的 Naptime 給模型專用的研究工具,2025 年的 Big Sleep 在 V8 與繪圖元件裡挖洞,2026 年初的 agent harness 掃到一個潛伏 13 年的 sandbox escape。成果是 Chrome 149 與 150 兩個版本合計修掉 1,072 個安全性 bug,比先前 23 個里程碑加起來還多,triage 自動化每月省下數百小時。防守面同時在推進——MiracleObject 的目標是壓制 GPU 主執行緒上多達九成的 UAF,spanification 已讓 97% 的第一方程式碼在嚴格 unsafe-buffer 警告下乾淨編譯,發版節奏則正轉向兩週一個里程碑、每週一次安全更新。

read source → browsers

#04

MCP 把 handshake 拿掉之後

MCP 規格從 2025-11-25 走到 2026-07-28,核心改動是把協定變成無狀態——initialize/initialized handshake 與 Mcp-Session-Id header 整組消失,protocol version、client info 與 capabilities 改成每個 request 都帶在 _meta 裡。連帶的配套是 SEP-2243 的路由 header(Mcp-Protocol-VersionMcp-MethodMcp-Name)讓負載平衡不必拆封包、SEP-2549 的 ttlMscacheScope 取代長連線 SSE、SEP-2322 用 InputRequiredResult 加序列化的 requestState 把多輪往返做成任何一個執行個體都能接手。代價寫在 SEP-2577 裡:roots、sampling、logging 三者進入至少 12 個月的棄用窗;而 GitHub 的 MCP Server 已經把 Redis session storage 整個拿掉。

read source → deep read protocols

#06

webhook 是通知,不是資料集

這篇的診斷是:大家拿為了觸發副作用而設計的 webhook 去做資料複製,於是被迫疊上一整套補償措施——簽章驗證、因為至少一次投遞而存在的去重表、處理亂序的緩衝、訂閱之前資料要怎麼補的 bootstrap importer,還有每晚跑一次抓漏的對帳排程。作者的病例很具體:「A customer had cancelled months earlier and our database still said active; some customer.subscription.deleted had evaporated between Stripe and us, and nothing anywhere was capable of noticing.」。他的替代方案 SCROLL 把方向反過來,由提供方開一個以 cursor 定址的有序變更日誌讓消費端自己拉,去重表沒了(全狀態事件冪等 upsert)、排序緩衝沒了、bootstrap 競態沒了(同一個端點,不帶 cursor 就是從頭)、刪除變成可驗證的 tombstone 事件。

read source → api-design

today's deep reads

deep · 01 以為在靶場,其實打到了真的機器 deep · 02 借用檢查器換一顆新腦:Polonius Alpha 上 nightly deep · 03 MCP 把 handshake 拿掉之後