Перейти к содержимому
Услуги · Консалтинг и аудит

Аудит кода

Проверяем, в каком состоянии ваш продукт: качество кода, архитектура, безопасность, производительность и инфраструктура. Отчёт с понятными выводами для руководителя и конкретными задачами для разработчиков.

Независимость
Взгляд со стороны, не связанный с командой разработки
Глубина
Код, архитектура, безопасность, производительность, инфраструктура
Выводы
Резюме для руководства и задачи для разработчиков
Приоритеты
Проблемы по критичности с оценкой исправления

Как выглядит отчёт

Пример структуры: оценка по направлениям для руководителя и список проблем с местом в коде и оценкой исправления для разработчиков.

audit-report.pdfПример · данные условные

Оценка по направлениям

  • Качество кода6/10
  • Архитектура5/10
  • Безопасность3/10
  • Производительность4/10
  • Инфраструктура7/10
  • Документация2/10
Критичных
2
Высоких
2
Исправление
8,5 дн.

Найденные проблемы

  1. Критично
    Ключи внешних сервисов хранятся в репозиторииsettings/production.py
    0,5 дня
  2. Критично
    SQL-инъекция в поиске по заказамorders/views.py:142
    1 день
  3. Высокий
    Страница каталога делает сотни запросов к базеcatalog/api.py
    2 дня
  4. Высокий
    Резервные копии базы не проверяютсяинфраструктура
    1 день
  5. Средний
    Зависимости с известными уязвимостямиrequirements.txt
    3 дня
  6. Низкий
    Нет инструкции по развёртываниюREADME.md
    1 день

Когда нужен аудит

Когда решение о продукте нужно принимать по фактам.

  • Принимаете работу подрядчика

    Перед подписанием акта нужно убедиться, что код написан качественно и его можно развивать.

  • Меняете подрядчика

    Нужно понять, что досталось в наследство и сколько будет стоить продолжение.

  • Продукт тормозит и падает

    Растёт нагрузка и число ошибок, а причины непонятны.

  • Покупаете продукт или долю

    Перед сделкой нужна техническая оценка актива.

Что проверяем

Глубину проверки согласуем под цель аудита.

01

Качество кода

Структура, читаемость, дублирование, тесты, соответствие стандартам языка и фреймворка.

02

Архитектура

Разделение на компоненты, связность, масштабируемость, узкие места.

03

Безопасность

Уязвимости в коде и зависимостях, хранение секретов, авторизация и права доступа.

04

Производительность

Запросы к базе данных, кеширование, нагрузка на серверы, время отклика.

05

Инфраструктура и выкладка

Сборка, CI/CD, окружения, мониторинг, резервное копирование.

06

Документация и процессы

Насколько проект понятен новой команде и как устроена разработка.

Как проходит аудит

Длительность зависит от объёма кода и числа систем.

  1. 00

    Доступы и контекст

    первые дни

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

    • цели и границы аудита
  2. 01

    Автоматический анализ

    первая неделя

    Статический анализ, проверка зависимостей на уязвимости, метрики кода.

    • отчёты анализаторов
  3. 02

    Ручной разбор

    обычно 1–2 недели

    Инженеры разбирают архитектуру, критичные модули, работу с данными и безопасность.

    • список проблем с примерами
  4. 03

    Отчёт и разбор

    обычно до недели

    Готовим отчёт с приоритетами и оценками и разбираем его с вами и вашей командой.

    • отчёт об аудите
    • план исправлений

Что аудируем

Основные стеки, с которыми работаем при аудите.

Веб-интерфейсы

Кабинеты, маркетплейсы, админки
  • React
  • Next.js
  • TypeScript
  • Vue
  • Nuxt
  • Tailwind CSS

Мобильные приложения

Нативные и кроссплатформенные
  • Kotlin
  • Swift
  • React Native
  • Java

Серверная часть

API, интеграции, расчётные ядра
  • Python
  • Django
  • FastAPI
  • Spring
  • .NET
  • C#
  • Node.js
  • Rust
  • C++

Данные

Хранилища, поиск, аналитика
  • PostgreSQL
  • ClickHouse
  • Redis
  • Elasticsearch
  • OpenCV

Инфраструктура

Сборка, выкладка, эксплуатация
  • Docker
  • Nginx
  • Linux
  • GitLab CI

Условия

Как проводим аудит без рисков для вас.

Фиксированная цена

Стоимость аудита называем до старта по объёму кода и инфраструктуры.

NDA до доступа к коду

Подписываем соглашение о конфиденциальности до получения доступов.

Только чтение

Работаем с копией репозитория и доступами только на чтение, ничего не меняем в рабочих системах.

Исправления по желанию

Найденное можем исправить сами или передать вашей команде в виде задач.

Частые вопросы

Сколько длится аудит?
Обычно от одной до трёх недель в зависимости от объёма кода и числа систем.
Нужен ли доступ к рабочим серверам?
Для аудита кода достаточно репозитория. Для оценки инфраструктуры нужен доступ на чтение к окружениям.
Что будет в отчёте?
Резюме для руководства, список проблем по критичности с примерами из кода, оценка трудозатрат на исправление и рекомендации.
Какой стек проверяете?
JavaScript и TypeScript, Python, Java и Kotlin, C#, Swift, базы данных и инфраструктуру на Linux и Docker. Если ваш стек другой, скажем об этом честно до старта.
Сможете потом исправить найденное?
Да, отдельным этапом или в рамках поддержки по SLA.

Другие услуги

Расскажите о продукте

Что за система, на чём сделана и зачем нужен аудит. Ответим и назовём объём и стоимость.

Расскажите про задачу

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

Контакты и реквизиты