Перейти к содержимому
vetkit
Ранний доступБесплатно во время беты — запросите приглашение

Проверьте код перед релизом.

Вставьте ссылку на репозиторий GitHub, запустите аудит и получите отчёт с оценкой. vetkit ищет утечки секретов, уязвимые зависимости, рискованные паттерны кода и проблемы гигиены репозитория — неважно, кто написал код: ваша команда, подрядчик или ИИ-агент.

  • Доступ только для чтения
  • Ваш код никогда не выполняется
  • Значения секретов никогда не сохраняются

acme/payments-api@main·9f3c2e1

УСПЕШНО
Оценка B

86/100

10 находок · критических: 0

Безопасность
87
Секреты
87
Зависимости
74
Гигиена
98
Качество
100

Главные находки4 из 10

  • ВЫСОКАЯ

    URL вебхука Slack закоммичен в исходный код

    src/notify/slack.ts:14

  • ВЫСОКАЯ

    lodash 4.17.20 — инъекция команд (CVE-2021-23337)

    package-lock.json

  • СРЕДНЯЯ

    SQL-запрос собирается конкатенацией строк

    src/db/orders.ts:88

  • ИНФО

    Нет политики раскрытия SECURITY.md

    корень репозитория

ИИ-сигнал · бета · не влияет на оценкуJSONMarkdownSARIF
Условный пример отчёта. Репозиторий не настоящий.

Как это работает

От URL репозитория до отчёта за три шага

Не нужно устанавливать агенты или настраивать пайплайны. Начните в браузере, а автоматизируйте позже через API или MCP.

  1. Подключите GitHub

    Войдите через GitHub и установите GitHub App vetkit для выбранных репозиториев — публичных или приватных. Приложение запрашивает только доступ на чтение и ничего больше.

    Содержимое · Метаданные · Пул-реквесты — чтение

  2. Запустите аудит

    Вставьте URL репозитория и выберите ветку, тег или коммит — или включите «Аудит при push», и аудит будет запускаться заново при каждом push в ветку по умолчанию. vetkit делает поверхностную одноразовую копию и запускает анализаторы по файлам — ничего не устанавливая, не собирая и не выполняя.

    github.com/acme/payments-api @ main

  3. Получите отчёт с оценкой

    Оценка от A до F, балл по каждой категории и все находки с файлом, строкой, критичностью и предложенным исправлением. Запустите аудит позже, чтобы увидеть, какие находки появились и сколько вы исправили. Скачайте отчёт в Markdown или SARIF либо получите JSON через API.

    B · 86/100 · 10 находок

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

Четыре анализатора — один отчёт с оценкой

Каждый аудит запускает проверенные open-source-сканеры и собственные проверки vetkit, а затем сводит всё в единый список находок без дубликатов. В отчёте указаны все запущенные анализаторы и версии инструментов.

gitleaks

Секреты

API-ключи, токены, приватные ключи и учётные данные, закоммиченные в рабочее дерево.

  • Ключи облачных, SaaS- и платёжных провайдеров
  • Находки маскируются — значения секретов никогда не сохраняются
  • Для отслеживания находки между аудитами хранится только односторонний хеш
OSV-Scanner · osv.dev

Зависимости

Известные уязвимости в пакетах, версии которых зафиксированы в ваших lock-файлах, по открытой базе OSV.

  • npm, PyPI, Go, crates.io, Maven, RubyGems и другие
  • Идентификаторы CVE / GHSA и критичность для каждой находки
  • Рекомендации по обновлению, если есть исправленная версия
SAST · набор правил vetkit

Статический анализ

Поиск рискованного кода по паттернам: инъекции, небезопасная десериализация, слабая криптография и похожие ошибки.

  • 64 собственных правила vetkit для JS/TS, Python, Go, Java, PHP и Ruby; во время беты их становится больше
  • Ссылки на CWE и предложенное исправление для каждого правила
  • Репозиторий не может отключить правила собственными конфигурационными файлами
встроенные проверки

Гигиена репозитория

Основы, благодаря которым кодовую базу безопасно передать, открыть как open source или развернуть.

  • LICENSE, README, .gitignore, конфигурация CI, lock-файл, SECURITY.md
  • Закоммиченные файлы .env, файлы ключей, node_modules или результаты сборки
  • Слишком большие файлы, которым не место в git
Бета · не влияет на оценку

Сигнал ИИ-авторства

Эвристическая метрика того, какая часть кодовой базы написана с помощью ИИ. Она основана на трейлерах и ритме коммитов, конфигурационных файлах агентов, таких как CLAUDE.md или AGENTS.md, и проверке небольшой выборки файлов моделью.

Честное предупреждение: авторство ИИ невозможно надёжно определить по коду. Это сигнал, а не доказательство, — повод для разговора. Он носит информационный характер и никогда не влияет на вашу оценку.

Как выставляется оценка

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

A
≥ 90
B
≥ 80
C
≥ 70
D
≥ 60
F
< 60

Неустранённая критическая находка ограничивает оценку уровнем D, и отчёт объясняет почему. Подавляйте ложные срабатывания с указанием причины и, при необходимости, срока действия; подавления сохраняются в последующих аудитах и остаются видны в журнале аудита.

Безопасность и конфиденциальность

Аудитор кода должен быть наименее рискованным из всего, что вы подключаете

Мы построили vetkit на принципах минимальных привилегий и короткого хранения данных, потому что вы доверяете ему свой исходный код.

  • GitHub App только для чтения

    vetkit может читать репозитории, к которым вы дали доступ. Он не может делать push, создавать issues, менять настройки или трогать другие репозитории.

  • Ваш код никогда не выполняется

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

  • Временные рабочие копии

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

  • Значения секретов никогда не сохраняются

    Находки-секреты маскируются перед сохранением. Мы храним файл, строку и односторонний хеш — но никогда сами учётные данные.

  • Короткоживущие токены без сохранения

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

  • Хешированные учётные данные

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

Разрешения GitHub App

Ровно то, что запрашивает приложение. GitHub попросит вас подтвердить любое изменение.

Разрешения, которые запрашивает GitHub App vetkit
РазрешениеДоступ
СодержимоеПолучение файлов коммита, который вы проверяетеЧтение
МетаданныеСписок репозиториев и веток по умолчаниюЧтение
Пул-реквестыАудит пул-реквестов (скоро)Чтение
Адреса электронной почтыИдентификация вашего аккаунта при входеЧтение

Подробнее — на нашей странице безопасности и в политике конфиденциальности.

MCP и API

Пусть ваш ИИ-агент сам проверяет свою работу

MCP-сервер vetkit даёт Claude Code — и любому другому MCP-клиенту — инструменты для подключения репозиториев, запуска аудитов и чтения находок. Всё, что есть в приложении, доступно и через документированный REST API.

  • Проведи аудит acme/payments-api на ветке main и кратко опиши все находки высокого и критического уровня.
  • Для каких зависимостей из последнего аудита уже есть исправленная версия?
  • Сравни этот аудит с предыдущим — что мы исправили?
Claude Code
claude mcp add vetkit -e VETKIT_API_KEY=vk_live_... -- npx -y @vetkit/mcp
REST API
# Запустить аудит подключённого репозиторияcurl -X POST https://api.vetkit.dev/v1/orgs/$ORG_ID/audits \  -H "Authorization: Bearer $VETKIT_API_KEY" \  -H "Content-Type: application/json" \  -d "{\"repositoryId\":\"$REPO_ID\",\"ref\":\"main\"}" # Скачать отчёт в формате SARIF для GitHub code scanningcurl "https://api.vetkit.dev/v1/orgs/$ORG_ID/audits/$AUDIT_ID/report?format=sarif" \  -H "Authorization: Bearer $VETKIT_API_KEY" -o vetkit.sarif

Цены

Бесплатно во время беты

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

Бета

0 $банковская карта не нужна

  • Публичные и приватные репозитории GitHub
  • Все анализаторы; сигнал ИИ-авторства (бета) включается постепенно
  • Отчёты с оценкой: загрузка в Markdown и SARIF, JSON через API
  • API-ключи с областями доступа, REST API и MCP-сервер
  • Командные организации с ролями владельца, администратора, участника и наблюдателя, а также журнал аудита
Запросить доступ

Лимиты добросовестного использования во время беты

Одновременные аудиты
3 на организацию
Запуски аудитов
30 в час на организацию
Запросы к API
60 в минуту на ключ (можно увеличить до 600)

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

Вопросы и ответы

Вопросы — и прямые ответы

Не нашли ответа? Напишите на mehmetnamiduru@vetkit.dev.

Как получить доступ?
vetkit находится в раннем доступе, и мы подключаем команды небольшими группами. Напишите на mehmetnamiduru@vetkit.dev: укажите своё имя, команду и репозитории, которые хотите проверять, — и мы с вами свяжемся.
Вы запускаете мой код?
Нет. vetkit никогда не устанавливает зависимости, не запускает скрипты сборки и не выполняет тесты. Каждый анализатор читает файлы из поверхностной копии; ничего из вашего репозитория никогда не выполняется.
Вы храните мой исходный код?
Нет. Рабочая копия находится во временном каталоге, который удаляется сразу после завершения аудита. Мы храним находки: правило, путь к файлу, номера строк и короткий фрагмент кода (до 1 КБ) вокруг проблемы, чтобы отчёт был полезен. Фрагменты для находок-секретов маскируются.
Что происходит, когда вы находите секрет?
Значение маскируется до того, как что-либо сохраняется. Мы храним односторонний хеш, чтобы распознавать тот же секрет в последующих аудитах, никогда не сохраняя само значение. Тем не менее любые закоммиченные учётные данные стоит перевыпустить — история git хранит их даже после удаления файла.
Какой доступ нужен GitHub App?
Доступ только на чтение к содержимому, метаданным и пул-реквестам выбранных вами репозиториев, а также к вашему адресу электронной почты при входе. Приложение не может ничего записывать в ваши репозитории. См. таблицу разрешений.
Какие языки и экосистемы поддерживаются?
Поиск секретов и проверки гигиены работают с любым репозиторием. Сканирование зависимостей охватывает форматы lock-файлов, которые поддерживает OSV-Scanner, включая npm, pnpm, Yarn, pip, Poetry, Go modules, Cargo, Maven, Gradle, Bundler и Composer. Покрытие статического анализа зависит от набора правил vetkit, который расширяется во время беты, — в каждом отчёте точно указано, какие анализаторы были запущены.
Насколько надёжен сигнал ИИ-авторства?
Считайте его подсказкой, а не вердиктом. Авторство ИИ невозможно надёжно определить по коду, поэтому сигнал помечен как бета, показывает свои доводы и оговорки и никогда не влияет на вашу оценку. При его запуске небольшая выборка файлов отправляется провайдеру ИИ-модели для анализа — подробности в политике конфиденциальности.
Можно ли использовать vetkit из CI или ИИ-агента?
Да. Создайте API-ключ только с нужными областями доступа, а затем используйте REST API из любого пайплайна или установите MCP-сервер в Claude Code или другой MCP-клиент. Отчёты экспортируются в SARIF 2.1.0 для GitHub code scanning.
Как удалить мои данные?
В любой момент вы можете удалить отдельные аудиты в приложении, отключить репозиторий и удалить GitHub App в настройках GitHub. Чтобы удалить аккаунт или организацию со всеми связанными данными, напишите на privacy@vetkit.dev — мы сделаем это в течение 30 дней.

Пусть ваш следующий релиз проверит ещё одна пара глаз.

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

Хотите написать напрямую? mehmetnamiduru@vetkit.dev