Пятый фактор
Обсудить задачу
Безопасность и эксплуатация

Проверка безопасности критичной функции по коду

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

Срок: 7 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • Функция оплаты, входа, выдачи документов или интеграции готовится к релизу, и команда хочет проверить именно её полный путь до production.
  • Критичный модуль достался от прежнего подрядчика, часто исправляется локальными патчами, а текущие разработчики затрудняются объяснить доверенные данные и состояния.
  • SAST или общий аудит показал много потенциальных проблем, и владельцу нужен проверенный список с влиянием, исправлением и тестом для одной приоритетной области.

Что именно мы сделаем

01

Фиксируем commit, пользовательский сценарий, бизнес-инварианты, тестовые данные и окружение выбранной функции.

02

Рисуем входы, доверенные границы, источники данных, проверки, хранилища и внешние вызовы.

03

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

04

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

05

Запускаем исходный сценарий после исправления и передаём схему, ссылки на код, тесты и протокол.

Что входит в стоимость

29 900 ₽ за всю работу

Выбираем вход, платёж, выдачу документа, загрузку, webhook, интеграцию или другую функцию с высокой ценой ошибки. Прослеживаем данные от источника через валидацию и бизнес-логику до базы, файла или внешнего API, проверяем авторизацию, состояния, гонки, транзакции, idempotency, ошибки, журналы, секреты и зависимости именно этого пути. Исправляем подтверждённые риски и закрепляем результат тестами.

Что будет готово

Материалы

Передадим вам

  • Схема потока данных, доверенных границ, состояний, ролей, хранилищ и внешних вызовов выбранной функции.
  • Перечень просмотренных файлов и функций с commit hash и подтверждённые находки с file:line, влиянием и способом исправления.
  • Patch, модульные или интеграционные security-тесты и протокол повторного функционального и внешнего сценария.
Проверка

Перед сдачей проверим

  • Версия кода и граница review зафиксированы, а каждый вывод связан с конкретным файлом, функцией, строкой, бизнес-правилом и проверяемым сценарием.
  • Patch проходит штатные функциональные тесты и новые security-проверки, сохраняя ожидаемое действие для разрешённого пользователя и состояния.
  • Исходный опасный сценарий после правки получает ожидаемый безопасный результат, а команда воспроизводит тест по переданной инструкции.

Как это выглядит на практике

Схема результата услуги «Проверка безопасности критичной функции по коду»

Платёжный callback проверяется от подписи до статуса заказа

  1. 01

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

  2. 02

    Review связывает проверку подписи, серверную сумму, валюту, допустимый текущий статус, повтор callback и внешнюю выдачу цифрового продукта.

  3. 03

    Код получает сверку суммы с заказом, транзакционное изменение состояния и idempotency по идентификатору операции, а тест покрывает повторную доставку.

  4. 04

    Первичный callback завершает заказ один раз, повтор возвращает сохранённый результат, изменённая сумма получает безопасный ответ и попадает в журнал.

Что понадобится для работы

От вас

  • Репозиторий, commit или tag, инструкция локального запуска и доступ к тестовому контуру выбранной функции.
  • Бизнес-правила, роли, состояния, тестовые данные и описание ожидаемого результата нормального и ошибочного сценария.
  • Контакт разработчика, доступ к журналам и безопасные sandbox-ключи внешнего сервиса по необходимости.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 29 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 26 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Как определяется объём кода?

Граница строится вокруг рабочей функции и всех критичных компонентов, влияющих на её данные, права и результат. Фиксируем её вместе с commit до основного review.

Какую функцию можно выбрать?

Часто выбирают оплату, вход, восстановление, загрузку файла, выдачу документа, webhook или интеграцию. Приоритет задаёт цена ошибки для бизнеса и данных.

Автоматический сканер тоже используется?

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

Входят ли правки критичной функции в стоимость?

Да. Включены выбранный patch ключевых подтверждённых рисков, тесты и повторный сценарий. Детали реализации обсуждаем с разработчиком по ходу review.

Что получит команда разработки?

Схему, commit, список файлов и строк, объяснение влияния, patch, регрессионные тесты и инструкцию повторного запуска после будущих изменений функции.

Проверяются ли запросы к базе и внешним API внутри функции?

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

Проверяются ли повторные и одновременные запросы?

Да, если функция меняет состояние или создаёт финансовое действие. Проверяем идемпотентность, гонки, повтор webhook, двойное нажатие и порядок переходов между статусами.

Можно выполнить анализ до развёртывания новой функции?

Да. Достаточно ветки кода, схемы данных, тестового окружения или возможности запустить тесты проекта. Замечания можно закрыть до слияния и выпуска в production.

Цена и изменения по ходу работы

Цена на странице окончательная?

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

Что означает резерв незапланированных работ?

Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

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

Как учитываются платные лицензии и внешние сервисы?

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

Проверка результата и гарантия

Как принимается готовая работа?

Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.

Какая гарантия действует после сдачи?

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

Следующие шаги по защите

Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.

  1. 01Модель угроз для сайта, сервиса или интеграции

    Разобрать угрозы и границы доверия

  2. 02Проверка безопасности критичной функции по коду

    Проверить критичную функцию

  3. 03Исправление уязвимостей по готовому отчёту

    Исправить подтверждённые уязвимости

Все услуги по безопасной разработке

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.