В эпоху цифровой трансформации безопасность информации становится одной из ключевых задач для компаний по всему миру. Одним из самых распространённых и опасных уязвимых мест в инфраструктуре безопасности являются «секреты» — конфиденциальные данные, такие как пароли, токены и ключи доступа, которые могут случайно или намеренно оказаться в исходном коде или настройках систем. Их утечка зачастую ведёт к серьёзным последствиям, включая компрометацию данных, нарушение работы сервисов и финансовые потери. В связи с этим перед специалистами по безопасности стоит задача точного, быстрого и масштабируемого обнаружения таких секретов в самых разных средах. Традиционные методы, основанные на регулярных выражениях, не удовлетворяют этим требованиям из-за ограниченной точности и повышенного количества ложных срабатываний.
В последние годы технологии искусственного интеллекта стали ключевыми инструментами в борьбе с подобными угрозами, особенно в виде машинного обучения и языковых моделей. Однако использование масштабных моделей зачастую связано с высокими вычислительными затратами и вопросами конфиденциальности данных. Решение проблемы нашли в разработке и обучении малых специализированных языковых моделей, адаптированных под конкретные задачи обнаружения секретов, сочетающих эффективность, скорость и безопасность. Секреты в коде представляют собой не только прямые текстовые значения, но и контекстуальные паттерны, скрытые в комментариях, строках или логах. Регулярные выражения, несмотря на простоту и распространённость, не способны эффективно работать с такими тонкими нюансами, что приводит к высокой частоте ложных тревог и пропуска угроз.
В свою очередь крупные языковые модели, хотя и более точны благодаря глубокому пониманию контекста, требуют значительных ресурсов, что затрудняет их внедрение на уровне больших предприятий. Для решения этих задач специалисты компании Wiz разработали подход с использованием небольшой модели LLAMA 3.2 с 1 миллиардами параметров, которая была специально дообучена для задачи обнаружения секретов. Эта модель обеспечивает баланс между производительностью и ресурсными затратами, достигая точности порядка 86% и полноты 82%, превосходя традиционные методы. Создание качественной обучающей выборки потребовало инновационного подхода.
Для разметки данных применялась многоагентная система, где крупные языковые модели выступали помощниками и судьями, автоматически идентифицируя секреты в открытых репозиториях кода, включая скрытые и сложные для обнаружения варианты. Данные тщательно фильтровались с применением алгоритмов кластеризации и проверки качества, что позволило исключить дубли, ложноположительные случаи и недостаточно информативные образцы. Обучение модели базировалось на технологии Low-Rank Adaptation (LoRA), которая стала прорывом в области тонкой настройки. Вместо полного перестроения всех весов сети, LoRA добавляет управляющие матрицы с низким рангом, значительно снижая требования к вычислениям и памяти. Это позволило не только сохранить исходные способности модели, но и эффективно адаптироваться под специфику задачи секретного детектирования.
Кроме того, была применена квантзация, сокращающая размер модели и ускоряющая обработку без значительной потери точности. Экспериментальная эксплуатация показала, что такая модель может работать с приемлемой скоростью на стандартных CPU, что исключает необходимость в дорогой GPU-инфраструктуре. Это фактор особенно важен для обработки миллионов файлов в корпоративных средах, где требования к приватности и стоимости услуг играют ключевую роль. Внедрение этой технологии открывает новые возможности для оперативного мониторинга кода и конфигураций на наличие конфиденциальных данных, значительно снижая риски утечки и упрощая работу команд безопасности. Вместо замены существующих решений новая модель интегрируется в гибридные системы, повышая общую эффективность за счёт уменьшения количества ложных совпадений и расширения охвата обнаруживаемых угроз.