KeyFrame內部研究專用

Beyond “Just Read the Code”: Auditing Strategies & Tactics

DeFi Security Summit - DSS·11月24日週一·5 min英文

三句話摘要

代碼審計不只是「讀代碼」——兩種主動解釋技術能讓你找到被動閱讀錯過的漏洞。 找漏洞的關鍵不是讀得更多,而是大聲說出來——主動解釋才能逼出被動閱讀永遠看不見的理解盲區。 被動閱讀有盲區:如果讀代碼就夠了,所有人早就找到所有漏洞,但現實並非如此——頂尖審計師做的事情不只是「讀」。

重點整理

重點
  • 1

    被動閱讀有盲區:如果讀代碼就夠了,所有人早就找到所有漏洞,但現實並非如此——頂尖審計師做的事情不只是「讀」。

  • 2

    逐行注釋法強迫顯性化假設:把每行代碼翻譯成無術語的白話,會迫使審計師面對「我以為我懂但其實沒懂」的部分,尤其對複雜流程效果顯著。

  • 3

    橡皮鴨技術觸發元認知:大聲向實體橡皮鴨解釋代碼,有研究支持其效果優於書寫或腦中思考;當你說不清楚時,自然會暴露理解缺口,驅動你回頭重讀。

  • 4

    速度與深度並不矛盾:若原本需要讀 5–10 遍才能理解一段代碼,這兩種方法能讓你更快達到相同甚至更深的理解層次。

實用技巧與重點

乾貨
  • 公開資源庫名稱:「优秀的审计方法」(awesome audit methodology)
  • 資源數量:50+ 個審計方法相關資源
  • 技術一:逐行代碼 → 無術語白話英文注釋
  • 技術二:橡皮鴨調試法(Rubber Duck Debugging)— 購買管道:Amazon
  • 核心認知原理:元認知(Metacognition,思考自己的思考過程)
  • 效果對比:大聲解釋 > 寫下來 > 腦中默想(有研究佐證)
  • 適用場景:複雜流程、難以理解的合約函式、深度審計段落

結論

結論

找漏洞的關鍵不是讀得更多,而是大聲說出來——主動解釋才能逼出被動閱讀永遠看不見的理解盲區。

完整解析

詳細

在軟體安全社群中流傳著一個梗圖:遇到複雜代碼庫或漏洞,答案就是「去讀代碼」。講者認為這個說法雖然幽默,卻嚴重過度簡化了現實。如果被動閱讀真的足夠,那麼所有人都應該能找到所有漏洞,沿著相同的路徑理解任何複雜系統——但這顯然不是頂尖審計師的做法。因此講者開始訪問業界頂尖的審計師,試圖找出他們做了哪些「讀代碼之外」的事,才能找到別人遺漏的關鍵錯誤。

第一種技術是逐行注釋翻譯法:審計師逐行閱讀代碼,並用最簡單、零術語的白話語言為每一行寫下注釋,解釋「這行在做什麼」以及「為什麼這樣做」。這個動作看似繁瑣,實則強迫審計師從被動接收轉為主動建構理解。開發者在撰寫代碼時埋下的隱性假設,在這個過程中會被迫顯現——而這些假設往往正是漏洞的溫床。

第二種是講者最喜歡的橡皮鴨技術:在桌上放一隻橡皮鴨,找到一段想深入理解的合約或函式,讀完之後,費力地大聲向鴨子解釋這段代碼的運作邏輯。「大聲」這個細節至關重要——有研究證實,口頭解釋的認知效果顯著優於書寫或腦中默想。當你嘗試解釋時,你會發現自己說不清楚某些環節、不自覺地使用了說不明白的術語,而這些卡頓點正是理解缺口所在,促使你回頭重新審視代碼。

這兩種技術的共同底層原理是元認知——思考自己的思考過程。透過主動解釋,審計師被迫放慢速度,把「以為自己懂」與「真正能說清楚」之間的落差暴露出來。講者指出,如果原本需要讀 5 到 10 遍才能理解一段複雜代碼,搭配這些技術可以更快達到相同甚至更深的理解深度。講者也將這次演講背後的研究成果彙整成一個公開資源庫「优秀的审计方法」,收錄超過 50 個審計方法論相關資源。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。