Проверка безопасности критичной функции по коду
Проверка безопасности функции по коду подходит для процесса, где ошибка особенно дорога: оплаты, авторизации, выдачи файла, документа, webhook или обмена. Читаем код вручную, строим путь данных и состояний, проверяем права, валидацию, повторные запросы и внешние вызовы. Каждую находку связываем с версией и строкой, исправляем подтверждённое и повторяем функциональный и security-сценарий.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Функция оплаты, входа, выдачи документов или интеграции готовится к релизу, и команда хочет проверить именно её полный путь до production.
- Критичный модуль достался от прежнего подрядчика, часто исправляется локальными патчами, а текущие разработчики затрудняются объяснить доверенные данные и состояния.
- SAST или общий аудит показал много потенциальных проблем, и владельцу нужен проверенный список с влиянием, исправлением и тестом для одной приоритетной области.
Что именно мы сделаем
Фиксируем commit, пользовательский сценарий, бизнес-инварианты, тестовые данные и окружение выбранной функции.
Рисуем входы, доверенные границы, источники данных, проверки, хранилища и внешние вызовы.
Прослеживаем авторизацию, валидацию, запросы, файлы, состояния, гонки, ошибки, секреты и журналирование.
Подтверждаем находки тестом, готовим patch и добавляем модульные или интеграционные проверки ключевых правил.
Запускаем исходный сценарий после исправления и передаём схему, ссылки на код, тесты и протокол.
Что входит в стоимость
29 900 ₽ за всю работу
Выбираем вход, платёж, выдачу документа, загрузку, webhook, интеграцию или другую функцию с высокой ценой ошибки. Прослеживаем данные от источника через валидацию и бизнес-логику до базы, файла или внешнего API, проверяем авторизацию, состояния, гонки, транзакции, idempotency, ошибки, журналы, секреты и зависимости именно этого пути. Исправляем подтверждённые риски и закрепляем результат тестами.
Что будет готово
Передадим вам
- Схема потока данных, доверенных границ, состояний, ролей, хранилищ и внешних вызовов выбранной функции.
- Перечень просмотренных файлов и функций с commit hash и подтверждённые находки с file:line, влиянием и способом исправления.
- Patch, модульные или интеграционные security-тесты и протокол повторного функционального и внешнего сценария.
Перед сдачей проверим
- Версия кода и граница review зафиксированы, а каждый вывод связан с конкретным файлом, функцией, строкой, бизнес-правилом и проверяемым сценарием.
- Patch проходит штатные функциональные тесты и новые security-проверки, сохраняя ожидаемое действие для разрешённого пользователя и состояния.
- Исходный опасный сценарий после правки получает ожидаемый безопасный результат, а команда воспроизводит тест по переданной инструкции.
Как это выглядит на практике
Платёжный callback проверяется от подписи до статуса заказа
- 01
Функция принимает order_id, сумму и статус провайдера, затем переводит заказ в оплаченное состояние и запускает выдачу товара.
- 02
Review связывает проверку подписи, серверную сумму, валюту, допустимый текущий статус, повтор callback и внешнюю выдачу цифрового продукта.
- 03
Код получает сверку суммы с заказом, транзакционное изменение состояния и idempotency по идентификатору операции, а тест покрывает повторную доставку.
- 04
Первичный callback завершает заказ один раз, повтор возвращает сохранённый результат, изменённая сумма получает безопасный ответ и попадает в журнал.
Что понадобится для работы
От вас
- Репозиторий, commit или tag, инструкция локального запуска и доступ к тестовому контуру выбранной функции.
- Бизнес-правила, роли, состояния, тестовые данные и описание ожидаемого результата нормального и ошибочного сценария.
- Контакт разработчика, доступ к журналам и безопасные sandbox-ключи внешнего сервиса по необходимости.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 26 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Как определяется объём кода?
Граница строится вокруг рабочей функции и всех критичных компонентов, влияющих на её данные, права и результат. Фиксируем её вместе с commit до основного review.
Какую функцию можно выбрать?
Часто выбирают оплату, вход, восстановление, загрузку файла, выдачу документа, webhook или интеграцию. Приоритет задаёт цена ошибки для бизнеса и данных.
Автоматический сканер тоже используется?
Да, как вспомогательная навигация. Основные выводы подтверждаются ручным чтением потока данных, бизнес-правил, состояний и работающим тестом.
Входят ли правки критичной функции в стоимость?
Да. Включены выбранный patch ключевых подтверждённых рисков, тесты и повторный сценарий. Детали реализации обсуждаем с разработчиком по ходу review.
Что получит команда разработки?
Схему, commit, список файлов и строк, объяснение влияния, patch, регрессионные тесты и инструкцию повторного запуска после будущих изменений функции.
Проверяются ли запросы к базе и внешним API внутри функции?
Да. Прослеживаем данные от входного запроса до базы, очереди, файла и внешнего сервиса. Проверяем права, валидацию, транзакцию, повтор операции и обработку ошибочного ответа в тех местах, которые влияют на результат функции.
Проверяются ли повторные и одновременные запросы?
Да, если функция меняет состояние или создаёт финансовое действие. Проверяем идемпотентность, гонки, повтор webhook, двойное нажатие и порядок переходов между статусами.
Можно выполнить анализ до развёртывания новой функции?
Да. Достаточно ветки кода, схемы данных, тестового окружения или возможности запустить тесты проекта. Замечания можно закрыть до слияния и выпуска в production.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Следующие шаги по защите
Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.
- 01Модель угроз для сайта, сервиса или интеграции
Разобрать угрозы и границы доверия
- 02Проверка безопасности критичной функции по коду
Проверить критичную функцию
- 03Исправление уязвимостей по готовому отчёту
Исправить подтверждённые уязвимости