Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка безопасности обработчиков вебхуков

Проверяет эндпоинты вебхуков для GitHub, Shopify, Twilio, Paddle, Clerk, Razorpay и ещё 9 провайдеров: отсутствие проверки подписи, секреты в коде, проверки, которые пропускают запрос при сбое, сравнения через ==, HMAC по разобранному JSON, повторы и дублирующиеся события.

$5.00

Что вы получите: 1 файл · 50.11 KB · ZIP

Варианты покупки

Описание товара

Маршрут, который читает X-Shopify-Topic и отправляет заказ, но никогда не проверяет X-Shopify-Hmac-Sha256, отправляет заказы любому, кто найдёт URL. То же самое делает HMAC, вычисленный по JSON.stringify(req.body), забытый после тестов twilio.webhook({ validate: false }) или проверка, которая возвращает true, если заголовка подписи нет. Этот навык находит такие ошибки и ещё семь других ошибок в вебхуках до того, как эндпоинт заработает в продакшене, и объясняет, как исправить каждую.

Ваш агент запускает сканер для кода вебхуков на JavaScript и TypeScript (Express, Next.js, NestJS, Hono, Koa, Fastify), Python (Flask, FastAPI, Django, AWS Lambda), PHP (Laravel), Ruby (Rails, Sinatra) и Go. Он находит каждый маршрут и считает POST-маршрут приёмником GitHub, GitLab, Shopify, Twilio, Paddle, Lemon Squeezy, Polar, Svix, Clerk, Resend, SendGrid, Mailgun, Square, Razorpay или Coinbase, если тот читает заголовки или полезную нагрузку событий этого провайдера. Он проверяет каждый маршрут отдельно и знает функции проверки каждого провайдера (octokit verify, authenticate.webhook, twilio.webhook(), paddle.webhooks.unmarshal, validateEvent, verifyWebhook, Svix Webhook.verify и другие), поэтому проверенные маршруты, а также маршруты, защищённые проверяющим middleware, декоратором или вспомогательной функцией в другом просканированном файле (Express app.use, обёртки обработчиков в Go, middleware в Next.js, Rails before_action и Rack::TwilioWebhookAuthentication), не попадают в отчёт. Он пропускает комментарии и тестовые файлы и никогда не запускает ваш код. Результат: BLOCK, REVIEW или NOT FLAGGED, с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.

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

BLOCK (исправить до выпуска)

  • W01: POST-маршруты, которые читают заголовки или полезную нагрузку вебхуков провайдера без проверки подписи
  • W02: секреты подписи вебхуков, ключи провайдеров и токены GitLab, прописанные в коде
  • W03: проверка отключена или пропускает запрос при сбое (validate: false, octokit receive(), пропуск запроса, когда подписи или секрета нет, отклонение только при наличии подписи или продолжение работы после неудачной проверки)

REVIEW (проверить перед релизом)

  • W11: подписи сравниваются через ==, ===, strcmp или bytes.Equal вместо сравнения за постоянное время
  • W12: HMAC вычисляется по повторно сериализованному JSON вместо исходного тела запроса
  • W13: самописные проверки подписей с временной меткой без временного окна (повторное воспроизведение)
  • W14: события заказов и платежей обрабатываются без проверки идентификатора события или дубликатов
  • W15: устаревший заголовок X-Hub-Signature с SHA-1 от GitHub или устаревший заголовок подписи Square
  • W16: секреты вебхуков читаются из окружения с жёстко заданным резервным значением
  • W17: проверка, которую может отключить настройка окружения или флаг SKIP_ или DISABLE_

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам с причиной, более безопасным подходом и ссылкой на документацию провайдера для каждого правила
  • Рискованный и безопасный примеры проектов, а также реальный отчёт сканера по рискованному

Ограничения

Сканер читает код в том виде, в каком он написан: проверка, выполняемая API-шлюзом, прокси или кодом вне сканируемой папки, не видна, а значения, собранные из нескольких файлов, не отслеживаются. Маршрут, в пути которого лишь упоминается провайдер, не считается приёмником вебхуков. Вебхуки Stripe не охватываются. NOT FLAGGED не является гарантией.

Содержимое

Один ZIP-файл с 19 файлами: SKILL.md, сканер в scripts/ (6 файлов Python), references/rules.md (каждое правило с причиной и более безопасным подходом) и examples/ (10 файлов примеров плюс report.md, реальный результат работы сканера на рискованном примере).

Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно с Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: без доступа к сети, и ничего никуда не отправляется.

Что вы получите

1 файл · 50.11 KB

  • webhook-handler-safety-check-1.0.0.zipZIP · 50.11 KB
ЛицензияКоммерческое использование разрешено
Проверка пакетаПройдена

Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.

Опубликовано12 нояб. 2026 г.
Размер файла50.11 KB
Формат файлаZIP
Версияv1.0

Теги

webhookssecurityhmacapibackendai agent skill
R
RR HH

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

Доступ открывается сразу?

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

Можно ли использовать в коммерческих проектах?

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

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 50.11 KB.

Обновления бесплатны?

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

Цена

$5.00