工程开发
constant-time-analysis avatar

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日 15:00
在 GitHub 查看
constant-time-analysis | Skills Hub