bsl-language-server
bsl-language-server copied to clipboard
[NEW] Отключение безопасного режима
Описание проблемы, ошибки, которую надо диагностировать
Текущее правило находит код отключения безопасного режима. Для внешнего кода, например, кода из внешних отчетов\обработок, расширений это действие может быть небезопасным. Также важно проверять код от сторонних разработчиков, подрядчиков и т.п.
По найденным замечаниям необходимо выполнить ручной аудит кода на предмет его правильности и безопасности.
Правило находит вызовы методов УстановитьБезопасныйРежим и УстановитьОтключениеБезопасногоРежима
- вызов
УстановитьБезопасныйРежим (Истина)игнорируется - вызов
УстановитьОтключениеБезопасногоРежима(Ложь)игнорируется
Примеры
УстановитьБезопасныйРежим (Ложь); // есть замечание
Значение = Ложь;
УстановитьБезопасныйРежим (Значение); // есть замечание
УстановитьБезопасныйРежим (Истина); // нет замечания
УстановитьОтключениеБезопасногоРежима(Истина); // есть замечание
Значение = Истина;
УстановитьОтключениеБезопасногоРежима(Значение); // есть замечание
УстановитьОтключениеБезопасногоРежима(Ложь); // нет замечания
Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы
- Статья "Безопасный режим работы" - руководство разработчика 1С 8.3.22
- Стандарт "Ограничение на выполнение «внешнего» кода"
- Стандарт "Безопасность прикладного программного интерфейса сервера"
- Стандарт "Ограничения на использование Выполнить и Вычислить на сервере"
- Стандарт Использование привилегированного режима
Параметры диагностики
Тип Статья на русском
- [ ] :ant: Ошибка
- [ ] :cop: Уязвимость
- [x] :guardsman: Потенциальная уязвимость
- [ ] :poop: Качество кода
- [ ] :trollface: Другое
Важность Статья на русском
- [ ] :broken_heart: Блокирующая / Blocker
- [ ] :heart: Критическая / Critical
- [x] :yellow_heart: Важная / Major
- [ ] :blue_heart: Незначительная / Minor
- [ ] :green_heart: Информационная / Info
- [ ] :revolving_hearts: Другое
Тэги Статья на русском
- [ ]
STANDARD- "Нарушение стандартов 1С" - [ ]
LOCKINOS- "Не будет работать в другой ОС" - [ ]
SQL- "Проблема с запросом" - [ ]
PERFORMANCE- "Проблема производительности" - [ ]
BRAINOVERLOAD- "Непонятный код" - [ ]
BADPRACTICE- "Плохая практика программирования" - [ ]
CLUMSY- "Излишние действия" - [ ]
DESIGN- "Ошибка в проектировании" - [x]
SUSPICIOUS- "Подозрительный код" - [ ]
UNPREDICTABLE- "Непредсказуемо работающий код" - [ ]
DEPRECATED- "Устаревшая функциональность" - [ ]
ERROR- "Ошибочная конструкция" - [ ]
LOCALIZE- "Проблемы локализации"
Время на исправление (минут)
1
Дополнительная информация
- связанное правило - https://github.com/1c-syntax/bsl-language-server/issues/3003
- связанный тикет https://github.com/1c-syntax/bsl-language-server/issues/1762