Все статьи
SAST28 апреля 2026 г.Команда ВанСек

SAST для 1С: зачем анализировать код конфигурации на уязвимости

Static Application Security Testing — стандартная практика в разработке ПО. Для 1С такой инструмент долгое время отсутствовал. Рассказываем, что именно ищет SAST в коде конфигурации и почему это важно.

SAST (Static Application Security Testing) — это анализ исходного кода без его выполнения. Инструмент читает код, ищет паттерны, характерные для уязвимостей, и сообщает о находках до того, как код попадёт в продуктив.

Для большинства языков программирования SAST-инструменты существуют давно: SonarQube, Checkmarx, Semgrep. Для языка 1С такого инструмента долгое время не было.

Почему SAST для 1С — отдельная задача

Язык 1С:Предприятие имеет специфику, которая делает анализ нетривиальным:

  • Двуязычность: код пишется на русском или английском, конструкции эквивалентны
  • Метаданные как часть кода: права доступа, формы, реквизиты — всё это влияет на безопасность
  • Специфичные уязвимости: инъекции в языке запросов 1С отличаются от SQL-инъекций в классическом понимании
  • Закрытый формат: конфигурация хранится в бинарном формате .cf/.cfu, требует декомпиляции

Что ищет SAST в коде 1С

SQL-инъекции через язык запросов

Конкатенация строк при построении запросов — классическая уязвимость. В 1С она выглядит так:

ТекстЗапроса = "ВЫБРАТЬ * ИЗ Справочник.Номенклатура ГДЕ Наименование = """ + ВходнойПараметр + """";

Если ВходнойПараметр содержит управляющие символы — запрос можно модифицировать.

Хардкод учётных данных

Пароли, токены, ключи API, строки подключения — всё это нередко встречается прямо в коде:

СтрокаПодключения = "Server=db-server;Database=mydb;User=sa;Password=P@ssw0rd";

Небезопасное использование Execute и Eval

Выполнение динамически сформированного кода открывает возможность для инъекций:

Выполнить(КодИзВнешнегоИсточника);

Небезопасная передача данных

Использование HTTP вместо HTTPS в обращениях к внешним сервисам, отключение проверки сертификатов.

Запись в произвольные пути файловой системы

Операции с файлами без проверки пути могут привести к записи в системные директории или перезаписи важных файлов.

Как это работает в ВанСек

Процесс анализа:

  1. Загружается файл конфигурации (.cf или .cfu) или устанавливается подключение к серверу
  2. ВанСек декомпилирует объекты и извлекает исходный код всех модулей
  3. Движок правил прогоняет код через набор детекторов
  4. Каждая находка получает уровень критичности и описание

Правила написаны на YAML и поддаются кастомизации. Если в вашей компании есть корпоративные стандарты разработки — их можно формализовать в правила и включить в анализ.

Когда запускать SAST

Оптимальная практика — регулярный анализ: после каждого релиза конфигурации или по расписанию (еженедельно). Это позволяет отслеживать появление новых уязвимостей и не накапливать технический долг по безопасности.

Первый запуск на давно эксплуатируемой системе обычно даёт значительное количество находок — это нормально. Важно не испугаться объёма, а расставить приоритеты и устранять планомерно.

ВанСек

Проверьте свою систему 1С

Запустите пилот — получите отчёт о реальных уязвимостях в вашей конфигурации.

Связаться