forumСоздать тему

Забрали кодовую базу у агентства — как провести аудит безопасности кода и с чего начать?

SSultan A***Участник
Должность
Тестировщик
Отрасль
Грузоперевозки
Тип организации
Компания на 300 человек
Дата регистрации
авг. 2025 г.
Сообщение
143

Doki · Консалтинг по соответствию KVKK · 2023

#1

У нас стартап в сфере грузоперевозок и логистики в Далласе, 12 человек. Около 10 месяцев работали с агентством над разработкой веб-портала: клиенты там смотрят котировки на фрахт, грузят накладные и отслеживают контейнеры в реальном времени. В проект влили около 35.000 USD. Разработку закончили, приемку провели, контракт закрыли. Исходники полностью выгрузили в наш Git-репозиторий.

Мы наняли сеньора, чтобы поддерживать и развивать проект инхаус. Он склонировал репозиторий, заглянул внутрь и просто схватился за голову: рутовый пароль к базе данных и ключи от сервиса SMS захардкожены открытым текстом прямо в файлах, а часть опенсорсных библиотек не обновлялась минимум пару лет. Всего в проекте около 45 тысяч строк на PHP и JavaScript.

Теперь реально боимся скрытых бэкдоров, кривой авторизации и возможных утечек данных клиентов. С чего одному разработчику начать нормальный аудит безопасности кода и по каким этапам двигаться?

HHilal Z***УчастникУчастник сообщества
Дата регистрации
дек. 2024 г.
Сообщение
136
Самый полезный#2

Короткий ответ: полноценный аудит безопасности кода строится на автоматическом сканировании уязвимостей и зависимостей с помощью SAST-инструментов, за которым следует точечная ручная проверка бизнес-логики и авторизации. Прочитать 45 тысяч строк руками один человек не сможет, так что разбейте задачу на три шага: автоматический чекинг, чистка зависимостей и ручной аудит критических узлов.

Шаг первый — зачистка секретов и сканирование зависимостей. Зашитые в код пароли и токены нужно не просто стереть из файлов, а немедленно перевыпустить на стороне базы и внешних сервисов. Затем запускаются сканеры сторонних библиотек, чтобы найти известные CVE и накатить патчи.

Второй шаг — запуск статических анализаторов кода. Такие утилиты прогоняют исходники до компиляции и за считанные минуты подсвечивают типовые косяки вроде SQL-инъекций, XSS и отсутствия валидации пользовательского ввода.

Третий и самый важный этап — ручная проверка бизнес-логики. Никакой сканер не поймет, может ли один клиент открыть чужую накладную или инвойс по прямой ссылке. Разработчику нужно вручную отсмотреть механику разграничения прав, модуль загрузки файлов и открытые эндпоинты API.

MMehmet M***Участник
Должность
Специалист по цифровому маркетингу
Отрасль
Обучение
Тип организации
региональный дилер
Дата регистрации
нояб. 2025 г.
Сообщение
302
#3

Первым делом вычистите историю Git. Если просто удалить пароль из файла и закоммитить, он все равно останется в логах навсегда. Прогоните по всей истории коммитов сканеры секретов, перепишите историю репозитория и сразу смените все эти пароли на серверах.

DDilara T***Участник
Должность
Специалист по социальным сетям
Отрасль
Логистика
Тип организации
компания в составе холдинга
Дата регистрации
авг. 2024 г.
Сообщение
333
#4

Пусть разработчик прямо завтра запустит встроенную проверку безопасности через пакетный менеджер. В библиотеках двухлетней давности наверняка висит куча критических бюллетеней безопасности. Простое обновление пакетов до актуальных стабильных версий срежет половину всех рисков.

OOnur A***ЭкспертУчастник сообщества
Дата регистрации
нояб. 2025 г.
Сообщение
64
#5

В прошлом году забирали чужой проект на 30к строк, сразу натравили статический анализатор. Вылезло 142 варнинга. Разраб перепроверил руками — 8 оказались критическими дырами, через которые реально можно было слить базу. Закрыли все 8 штук за три дня.

İİlknur O***Участник
Должность
Координатор курьерской службы
Отрасль
Животноводство
Тип организации
сеть магазинов
Дата регистрации
февр. 2025 г.
Сообщение
109
#6

Не полагайтесь слишком сильно на тулы автоматического анализа, просто утонете в тысячах строк отчета среди сотен ложных срабатываний. Самые крупные утечки данных происходят не из-за дыр в библиотеках, а из-за банальных косяков в проверке сессий, на которые разраб из агентства забил со словами «да кто туда вообще полезет». Делайте упор на ручное тестирование логики.

SSena S***УчастникУчастник сообщества
Дата регистрации
май 2023 г.
Сообщение
175
#7

если агентство захардкодило пароли прямо в коде, к загрузке файлов они стопудово даже не притрагивались. срочно проверьте, можно ли под видом клиентских документов залить на бэк исполняемый php-файл, это щас самая опасная дыра.

BBurcu E***Участник
Должность
Руководитель административного отдела
Отрасль
Недвижимость
Тип организации
Производственная компания из 40 человек
Дата регистрации
февр. 2023 г.
Сообщение
37
#8

Зафиксируйте обнаруженные уязвимости в корпоративной матрице рисков безопасности. Классифицируйте их по уровню критичности: критический, высокий и средний. Оставлять систему в открытом доступе для клиентов на проде до устранения критических уязвимостей, напрямую угрожающих базам данных и конфиденциальности пользователей, чревато серьезной юридической ответственностью.

BBetülЭксперт
Должность
Консультант по управлению
Дата регистрации
окт. 2023 г.
Сообщение
164
#9

Перечитайте договор с агентством. В большинстве договоров прямо или косвенно прописаны гарантии соответствия сдаваемого кода отраслевым стандартам и базовым практикам безопасности. Хардкод паролей — это явный дефект оказания услуг, у вас могут быть все основания выставить агентству официальную претензию на исправление.

İİlknur C***УчастникУчастник сообщества
Дата регистрации
февр. 2025 г.
Сообщение
18
#10

а как инструменты статического анализа кода проверяют его без запуска? как именно эти тулы понимают что функция уязвима если код не развернут на боевом сервере и нет подключения к БД?

HHalideНовый участник
Должность
Руководитель фонда
Дата регистрации
авг. 2024 г.
Сообщение
44
#11

У меня нет опыта в аудит безопасности кода, поэтому и спрашиваю. Первые три месяца все идет хорошо, проблемы всплывают на четвертом.

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

HHüseyin Z***УчастникУчастник сообщества
Дата регистрации
март 2023 г.
Сообщение
76
#12

мне тоже интересно.

İİsmail Ş***Участник
Должность
Специалист технической поддержки
Отрасль
Производство мебели
Тип организации
бутиковое агентство
Дата регистрации
апр. 2024 г.
Сообщение
32
#13

У этого подхода есть цена, о которой молчат. Если включена двухфакторная аутентификация, украденный пароль бесполезен.

Пишите, если есть вопросы, отвечу по мере возможности.

MMustafa A***Участник
Должность
Региональный директор
Отрасль
Бумага
Тип организации
кооператив
Дата регистрации
март 2023 г.
Сообщение
37
#14

Я тоже об этом думал. Автоматический отчет о сканировании и пентест — это не одно и то же.

Я бы пошел этим путем.

EEmre K***Участник
Должность
Координатор курьерской службы
Отрасль
Право
Тип организации
кооператив
Дата регистрации
февр. 2025 г.
Сообщение
1
#15

Я сталкивался с тем же. Без измерений мы всегда приходим к одному и тому же.

На этом всё, извините, если затянул.

AAlper Ç***Участник
Должность
Специалист службы поддержки клиентов
Отрасль
Грузоперевозки
Тип организации
Компания на 120 человек
Дата регистрации
июль 2024 г.
Сообщение
41
#16

Я тоже об этом думал. Если включена двухфакторная аутентификация, украденный пароль бесполезен.

Решения, работающие в малом масштабе, рушатся при росте, я узнал это слишком поздно. Оставлю как заметку, пригодится.

MMert E***УчастникУчастник сообщества
Дата регистрации
сент. 2024 г.
Сообщение
28
#17

на что обратить внимание при выполнении этого. люди защищают не процесс, а привычку. сопротивление идет оттуда.

SSerkan S***УчастникУчастник сообщества
Дата регистрации
янв. 2023 г.
Сообщение
87
#18

У меня та же ситуация, поэтому и спрашиваю. ну если разрешение и объем тестирования не зафиксированы письменно тест не начинать.

Процесс, по которому не ведется учет не улучшается, потому что вы не знаете что именно улучшать. Это мое мнение, не утверждаю что оно единственно верное.

MMustafa M***Участник
Должность
Специалист по контролю качества
Отрасль
Оптовая торговля продуктами питания
Тип организации
региональный дилер
Дата регистрации
февр. 2024 г.
Сообщение
106
#19

У меня было наоборот, поэтому и пишу. Ошибка, сделанная на стороне аудит безопасности кода, обычно исправима, но дорого.

Если путь уведомления длинный, уведомление не приходит; а не пришедшее уведомление — это поздно обнаруженный инцидент.

BBurak Can M***Ветеран
Должность
Основатель · e-ticaret
Тип организации
компания из 20 человек
Дата регистрации
апр. 2023 г.
Сообщение
212
#20

Мои сомнения развеялись, спасибо. Время обнаружения проблемы напрямую определяет ее стоимость.

Пишите если есть вопросы, отвечу по мере возможности.

Написать ответ