Технический аудит — это способ узнать состояние системы до того, как в неё вложат деньги. Он не заменяет разработку и не «лечит» проект: его результат — список фактов, приоритетов и рисков, на основании которого можно планировать работы.
Чаще всего аудит заказывают в трёх ситуациях: проект достался в наследство от другого подрядчика, планируются крупные инвестиции, либо система регулярно ведёт себя непредсказуемо.
Что проверяется
Код и архитектура
- Структура проекта и границы ответственности модулей.
- Дублирование логики и мёртвый код, который уже никто не поддерживает.
- Устаревшие зависимости и версии фреймворка.
- Места, где изменения ломают что-то в другом конце системы.
Безопасность
- Аутентификация, разграничение прав и хранение секретов.
- Обработка пользовательских данных и защита от типовых атак.
- Конфигурация окружения: что попадает в репозиторий и логи.
- Известные уязвимости в зависимостях.
Производительность и данные
- Тяжёлые запросы, отсутствие индексов, запросы в цикле.
- Кэширование и размер ответов API.
- Схема базы, целостность связей, дубли и расхождения между системами.
- Поведение под нагрузкой и поведение при пиковых сценариях.
Инфраструктура
- Как разворачивается проект и что происходит при откате.
- Логирование и мониторинг: узнаете ли вы о падении раньше клиента.
- Резервные копии — и главное, проверка того, что они действительно восстанавливаются.
Что получается на выходе
- 1 Отчёт с находками, сгруппированными по уровням риска: критично, важно, улучшение.
- 2 Перечень уязвимостей и ошибок с указанием, чем каждая грозит.
- 3 План работ: что делать в первую очередь, что может подождать.
- 4 Оценку сроков и стоимости по каждому блоку.
- 5 Рекомендации по архитектуре и инфраструктуре, включая решения «оставить как есть».
- 6 Презентацию результатов и ответы на вопросы команды.
Отчёт самодостаточен: его может выполнить ваша команда или другой подрядчик. Мы не привязываем смету аудита к последующим работам — это осознанное решение, иначе аудит превращается в продажу.
Что нужно для начала
- Доступ к репозиторию и, если есть, к истории изменений.
- Описание инфраструктуры: где хостится, как деплоится, какие внешние системы.
- Доступ к серверу и базе данных на чтение — часть выводов нельзя сделать по коду.
- Список известных проблем своими словами: это сильно ускоряет поиск.
Подробнее о составе работ — на странице услуги технический аудит. Если проект нужно не только оценить, но и вывести на стабильную работу, следующий шаг обычно — сопровождение.