AIKraft/Skills/Анализ константного времени

Анализ константного времени

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.

trailofbits official Разработка

Что делает навык

Статически анализирует скомпилированный код (ассемблер или байткод) на наличие инструкций с переменным временем выполнения, которые могут привести к уязвимостям через побочные каналы по времени. Помогает выявить операции, зависящие от секретных данных, в криптографических реализациях.

Когда применять

  • Реализация или проверка алгоритмов подписи, шифрования, KEM или вывода ключей
  • Код выполняет операции деления (/) или остатка (%) от значений, полученных из ключа, открытого текста, nonce или токена
  • Пользователь упоминает «constant-time», «timing attack», «side-channel» или «KyberSlash»
  • Анализ функций с именами sign, verify, encrypt, decrypt, derive_key

Как работает

  1. Скомпилировать код
  2. Изучить сгенерированный ассемблер или байткод на предмет инструкций с переменным временем выполнения
  3. Определить, какие из отмеченных операций действительно затрагивают секретные данные
  4. Принять решение о наличии уязвимости на основе статического анализа

Примеры запросов агенту

Проверь функцию sign на уязвимость к атакам по времени
Есть ли здесь деление на секретное значение? Нужно constant-time программирование
Анализируй этот код шифрования на side-channel уязвимости

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «constant-time-analysis» из репозитория: # https://github.com/trailofbits/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r constant-time-analysis/ ~/.claude/skills/constant-time-analysis/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.