Громкие заголовки сообщают: “Не доверяйте ИИ генерацию паролей” или “LLM генерируют предсказуемые пароли”. Они основаны на публикации, в которой исследователи проверили надежность паролей, созданных с помощью LLM.
С помощью LLM были сгенерированы 16-значные пароли, которые выглядели сложными и проходили стандартные проверки надежности, но более глубокое изучение выявило повторяющиеся паттерны. Причина проста: в своих ответах LLM предсказывают наиболее вероятный следующий символ, опираясь на статистические закономерности обучающих данных. Они работают на основе вероятностей, а не обеспечивают истинную случайность. А для создания надежных паролей требуются криптографически стойкие генераторы случайных чисел.
Выглядит как очередное задание, с которым ИИ не справился, не так ли? Не будем забывать ключевую деталь. Проблема проявляется только в том случае, когда LLM используется как источник энтропии, сама пытается “придумать” случайную строку. Если же модель использует подходящие инструменты, как модуль secrets в Python, действительно запускает код, то случайность пароля будет обеспечена операционной системой, а не самой моделью.
Большие языковые модели не являются генераторами случайных чисел, их не создавали с этой целью. Но это не означает, что в данном случае они бесполезны. Вы можете получить действительно случайную последовательность символов, если правильно используете LLM.