Я недавно присоединился к миру безопасности программного обеспечения, и одна вещь меня беспокоит.
Есть ли смысл сканировать внешний код JavaScript на предмет уязвимостей с помощью инструмента SAST? Мой вопрос здесь - это только код, который мы пишем, а не зависимости OSS, которые являются совершенно другой темой, поэтому забудьте о теневых зависимостях, которые крадут ваши сеансовые файлы cookie.
Я хочу сказать, что даже самый безопасный код может быть легко изменен с помощью клиента, если клиент хочет перевернуть ваш интерфейс вверх ногами, они могут это сделать. И все доступно из front-end, у самого клиента уже есть доступ к нему, "дополнительной мощности" нет или есть?
Есть ли унаследованная уязвимость, которую можно выявить / уменьшить с помощью внешнего кода JavaScript?
Если мы научим ребенка программировать на JS, а затем попросим его написать код за нас, что может пойти не так (с точки зрения безопасности)?
Я мог думать о следующих вещах:
Если не из-за уязвимости, а из-за безопасности во время выполнения, то черт возьми. ESLint в TypeScript или даже какой-то язык, скомпилированный в js, все они изо всех сил стараются предотвратить ошибку времени выполнения с помощью статического анализа.
Если мы говорим об «уязвимостях», я не могу придумать ни одной (кроме секретного ключа в коде, конечно), которая не связана с серверной частью.