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

Меню команд

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

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

Проверка безопасности API на Hono

Проверьте API на Hono перед деплоем: CORS, отражающий любой origin вместе с credentials, секреты аутентификации в коде или в vars Wrangler, данные запроса в raw() или c.html(), SQL, собранный из запроса, открытые редиректы, отсутствующий csrf() и многое другое.

$5.00

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

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

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

cors({ origin: (origin) => origin, credentials: true }) позволяет любому сайту вызывать ваш API с cookies ваших пользователей и читать ответы, а c.html() с обычной шаблонной строкой отправляет ${c.req.query('q')} в браузер без экранирования, потому что экранирует только тег html. Этот навык находит эти и другие перечисленные ниже ошибки Hono до деплоя и подсказывает, как исправить каждую из них.

Ваш агент запускает сканер для вашего кода на Hono (TypeScript и JavaScript на Cloudflare Workers, Bun, Deno или Node, включая импорты jsr:@hono/hono) и вашего wrangler.toml или wrangler.json. Он пропускает комментарии и тестовые файлы, отслеживает данные запроса (params, query, заголовки, cookies, тело и валидированный ввод) через локальные переменные, считает безопасными тег html, JSX, D1 .bind() и тегированные SQL-шаблоны, знает, что привязки c.env и env(c) не являются секретами в виде литералов, и учитывает secureHeaders(), csrf() и bodyLimit(), зарегистрированные в любом месте проекта. Он никогда не запускает ваше приложение. Результат: BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного решения. Секреты никогда не выводятся.

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

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

  • H01: cors() с credentials и функцией origin, которая возвращает любой origin запроса, или заголовок Access-Control-Allow-Origin, скопированный из запроса
  • H02: секреты для JWT-, Basic- и Bearer-аутентификации или секреты подписанных cookies, записанные в коде, в качестве запасного значения или в vars Wrangler (публичные ключи и настройки вроде времени жизни токенов не затрагиваются)
  • H03: данные запроса в raw(), в c.html() с обычной шаблонной строкой или с функцией из того же файла, которая её собирает, либо в dangerouslySetInnerHTML
  • H04: SQL для D1, pg, Prisma или Drizzle, собранный из данных запроса с помощью шаблонного литерала или + (списки плейсхолдеров и значения, выбранные из фиксированных вариантов, допустимы)

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

  • H11: CORS с credentials и origin '*', проверки origin через startsWith, includes, endsWith без точки или незаякоренные регулярные выражения, а также csrf(), разрешающий межсайтовые запросы
  • H12: c.redirect() на URL из запроса без проверки origin или списка разрешённых адресов (одна лишь проверка startsWith('/') всё равно пропускает /\evil.com)
  • H13: приложения, отдающие HTML без secureHeaders()
  • H14: маршруты загрузки файлов без bodyLimit()
  • H15: onError, возвращающий сообщения об ошибках или трассировки стека
  • H16: POST-маршруты с аутентификацией через cookies без csrf() или сессионных cookies с SameSite
  • H17: middleware аутентификации, зарегистрированный после маршрутов, которые он должен защищать
  • H18: сессионные cookies без httpOnly или secure
  • H19: c.html(), получающий данные из функции представления, которая вызывается с данными запроса и внутрь которой сканер заглянуть не может

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

  • Сканер (Python 3.9+, только стандартная библиотека)
  • Руководство по правилам: причина, более безопасное решение и официальный источник для каждого правила
  • Рискованный и безопасный примеры проектов Workers (маршруты Hono, D1, R2 и wrangler.toml), а также реальный отчёт сканера по рискованному проекту

Ограничения

Сканер читает каждый файл отдельно и отслеживает данные запроса только через переменные в этом файле: значения, переданные во вспомогательные функции из других файлов, и цепочки определений маршрутов не отслеживаются, а secureHeaders(), csrf() и bodyLimit() учитываются для всего проекта без сопоставления путей. Он не сверяет вашу версию Hono с бюллетенями безопасности, не проверяет настройки панели Cloudflare и секреты, заданные через wrangler secret put. NOT FLAGGED не является гарантией.

Содержимое

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

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

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

1 файл · 47.45 KB

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

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

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

Теги

honocloudflare-workersapisecuritytypescriptai agent skill
R
RR HH

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

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

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

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

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

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

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

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

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

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

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

Цена

$5.00