Анализ константного времени
Detects timing side-channel vulnerabilities in cryptographic code. Use when implementing or reviewing crypto code, encountering division on secrets, secret-dependent branches, or constant-time programming questions in C, C++, Go, Rust, Swift, Java, Kotlin, C#, PHP, JavaScript, TypeScript, Python, or Ruby.
Что делает навык
Статически анализирует скомпилированный код (ассемблер или байткод) на наличие инструкций с переменным временем выполнения, которые могут привести к уязвимостям через побочные каналы по времени. Помогает выявить операции, зависящие от секретных данных, в криптографических реализациях.
Когда применять
- Реализация или проверка алгоритмов подписи, шифрования, KEM или вывода ключей
- Код выполняет операции деления (/) или остатка (%) от значений, полученных из ключа, открытого текста, nonce или токена
- Пользователь упоминает «constant-time», «timing attack», «side-channel» или «KyberSlash»
- Анализ функций с именами sign, verify, encrypt, decrypt, derive_key
Как работает
- Скомпилировать код
- Изучить сгенерированный ассемблер или байткод на предмет инструкций с переменным временем выполнения
- Определить, какие из отмеченных операций действительно затрагивают секретные данные
- Принять решение о наличии уязвимости на основе статического анализа
Примеры запросов агенту
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.