Поиск багов в криптографическом коде на Go с Claude Code
Криптограф Филиппо Валсорда дал Claude Code свою новую реализацию ML-DSA на Go, и агент с первой попытки нашёл три бага. Предложенные исправления оказались посредственными, и Валсорда переписал их сам.
Что сделали
Филиппо Валсорда запустил Claude Code (Opus 4.1, без системного промпта) на своей новой реализации ML-DSA на Go. В промпте он указал команду для тестов и папку с кодом, описал, как проявляется сбой, и попросил хорошенько подумать. Агент прочитал код и проследил баг, а гипотезу проверил собственным небольшим тестом. Потом Валсорда повторил то же на двух более ранних багах в подписи, каждый раз в новой сессии.
Что получилось
Агент нашёл все три бага с первой попытки и без подсказок. Баг в Verify занял считаные минуты (старшие биты брались дважды). Предложенные исправления были посредственными, поэтому Валсорда их выбросил и переписал сам.
На что обратить внимание
Давайте агенту чётко очерченные падающие тесты и на каждый независимый баг открывайте новую сессию. Результат считайте указателем на баг, а не готовым исправлением для слияния.
Пояснение
ML-DSA это новый стандарт цифровой подписи, устойчивый к квантовым компьютерам. Verify здесь функция проверки подписи.
Кому пригодится
Разработчикам низкоуровневого и криптографического кода, которые застряли на падающем тесте.
Попробуйте сами с Claude Code
В моём криптографическом коде в [путь] падает тест, симптом такой [описание симптома, например неверный результат на некоторых входных данных]. Выясни, почему он падает, сравни с [эталонная реализация или тестовые векторы] и предложи исправление. Задача готова, когда тесты проходят и ты объяснил причину. Прежде чем менять файлы, покажи мне diff.
Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗
Источник: words.filippo.io ·