constant-time-analysis
透過靜態與動態分析檢測密碼學程式碼中的時間側通道漏洞,支援多種程式語言。
簡介
此技能提供了一種專用的分析器,旨在識別密碼學實作中的時間側通道漏洞。它專為安全工程師、密碼學家以及負責編寫、審核或稽核處理密鑰、權杖或身份驗證機制等敏感程式碼的開發人員所設計。透過分析執行時間的變化,該工具能協助防止透過數學運算或條件分支所耗費的時間來洩漏秘密資料的攻擊。
-
自動偵測依賴於秘密資料的分支,以及對秘密值執行除法或取模等可能洩漏資訊的數學運算。
-
支援廣泛的語言,包含 C, C++, Go, Rust, Swift, Java, Kotlin, C#, PHP, JavaScript, TypeScript, Python 及 Ruby。
-
為原生語言提供架構感知分析(x86_64, arm64),並針對虛擬機語言(JVM/CIL)提供位元組碼層級的評估。
-
提供靈活的報告選項,包含標準輸出、條件分支警告,以及用於 CI/CD 流程整合的 JSON 輸出。
-
包含針對多平台最佳化測試的支援,確保安全不變量在不同的編譯器與直譯器設定下皆能成立。
-
當實作如簽章產生、解密、金鑰衍生等核心基礎功能,或驗證程式碼的常數時間特性時,請使用此技能。
-
當觸發敏感運算(如 sign, verify, encrypt, decrypt, derive_key 函數)或提及時間攻擊、KyberSlash、側通道等關鍵字時,此工具會自動運作。
-
請確保必要的編譯器工具鏈(如 gcc, clang, swiftc, javac, dotnet)已正確設定在 PATH 環境變數中,以發揮完整分析功能。
-
請注意,此工具專注於密碼學正確性與時間洩漏;它並非用於一般非密碼學業務邏輯的效能分析。
-
針對 Java 或 C# 等虛擬機語言,請參考提供的參考指南,因為 JIT 編譯行為可能會影響可觀測性。
倉庫統計
- Star 數
- 4,884
- Fork 數
- 424
- Open Issue 數
- 21
- 主要語言
- Python
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年4月29日 下午03:00