Материал

Replit Security Agent: что он проверяет и почему всё равно нужен независимый pre-release gate

Вы построили приложение за два часа промптов. Security Agent нашёл XSS и обновил зависимость. Всё? Нет. Вот что остаётся за кадром — и почему это важно до выхода в прод

Введение: скорость без паузы на безопасность

В 2025–2026 году vibe coding стал промышленной реальностью. Replit перевалил за 45 миллионов создателей [4], перешёл на Agent-first модель [5] и добрался до $100M ARR за 9 месяцев после запуска агента [6]. Приложение теперь можно написать за час. Это буквально изменило расчёт времени на разработку.

Но безопасность не ускорилась вместе с разработкой. Veracode протестировала более 100 LLM на 80 задачах и обнаружила, что 45% всех сгенерированных фрагментов кода содержат уязвимости из OWASP Top 10 — и этот показатель почти не изменился за последние два года [1]. CodeRabbit зафиксировал в 2.74 раза больший показатель уязвимостей в AI-сгенерированных pull request по сравнению с написанными людьми [7]. Escape.tech просканировал 5 600 публично доступных vibe-coded приложений и нашёл более 2 000 уязвимостей, 400+ открытых секретов и 175 случаев PII в открытом доступе [8].

Ответом Replit стал Security Agent — и это честный шаг в правильном направлении. Но важно понимать, что именно он делает, а что нет.

Что такое Replit Security Agent и как он устроен

Security Agent запустился в апреле 2026 года как часть Security пространства в воркспейсе Replit [9]. Это не тот же Security Scanner, который работает с 2025-го и запускается автоматически перед публикацией. Security Agent — это отдельный, более глубокий инструмент для одноразовых полных аудитов.

Гибридная архитектура: детерминизм плюс LLM-рассуждение

Изображение

Ключевое архитектурное решение: агент не работает только на LLM. Он использует детерминированные инструменты как источник входных данных, а LLM — как фильтр и интерпретатор.

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

  • Semgrep Community Edition (~200 правил, заточенных под фреймворки и языки, типичные для Replit Agent) ищет опасные паттерны в исходном коде: инъекции, небезопасные шаблоны работы с данными, захардкоженные секреты.
  • HoundDog.ai сканирует потоки чувствительных данных — куда уходят email, телефоны, адреса: в логи, в файлы, в сторонние SDK и AI-коннекторы.
  • Dependency scanner проверяет прямые и транзитивные зависимости в npm, Python, Go, Rust, PHP, Ruby на известные CVE.
  • LLM поверх этих данных строит threat model, анализирует маршруты и API, фильтрует ложные срабатывания Semgrep (по данным исследования Xiong & Zhang 2026, агенты на базе LLM способны отфильтровать до 93.3% ложных позитивов от детерминированных SAST-инструментов [10]), и проверяет, являются ли найденные уязвимости реально эксплуатируемыми в контексте конкретного приложения.

Результат — отчёт с организованными задачами для исправления, которые можно передать в Replit Agent одним действием. Для больших проектов полный аудит занимает до 15 минут [9].

По данным собственного white paper Replit, гибридный подход существенно превосходит AI-only сканирование именно в тех случаях, когда синтаксически похожий код с одной и той же уязвимостью получает разную оценку от LLM в зависимости от наименования переменных или контекста промпта [2].

Что ещё входит в Security-экосистему Replit

Security Agent — флагманский инструмент, но не единственный. Параллельно работают:

  • Автоматическая проверка секретов в промптах: если пользователь пытается вставить API-ключ прямо в чат, Replit перехватывает это и направляет к Secrets [11].
  • CVE Auto-Protect: автоматический патч критических уязвимостей (запущен в апреле 2026 вместе с Security Agent) [12].
  • Malicious file detection: проверка файлов на совпадение с известными вредоносными сигнатурами.
  • Предеплойный scan: проверка перед публикацией с 2025 года.
  • Принудительные сканы на уровне Enterprise-администратора.

Что Security Agent проверяет: подробный разбор

Инъекции и небезопасные паттерны кода

Semgrep ищет SQL injection, XSS, command injection, path traversal, небезопасную десериализацию — паттерны с конкретными правилами из OWASP Top 10. Это то, с чем детерминированный SAST справляется хорошо и воспроизводимо.

Уязвимые зависимости

Сканер зависимостей проверяет прямые и транзитивные пакеты в поддерживаемых экосистемах на известные CVE. Есть функция автоматического обновления для ряда Node.js-проектов [13]. Это важно: транзитивные зависимости — один из главных слепых пятен при ручной проверке вайб-кода.

Утечки чувствительных данных и конфиденциальности

HoundDog.ai трассирует, куда попадают PII-данные: в логи (например, logger.info с полем email), в local storage, в сторонние SDK [4]. Это именно тот класс ошибок, который приводит к реальным регуляторным последствиям.

Threat modeling и API-анализ

LLM строит карту архитектуры, анализирует маршруты, проверяет наличие аутентификации и авторизации на критических endpoint'ах. Проверяет, доступен ли ресурс только владельцу (IDOR), или авторизация не разделяет сессию и право на ресурс.

Вредоносные и подозрительные файлы

Детектор сравнивает файлы с известными вредоносными сигнатурами. Это защита от supply chain атак через уже скомпрометированные пакеты в экосистеме.

Структурные ограничения: что Security Agent не может гарантировать

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

1. Нестабильность AI-части при синтаксически похожем коде

Собственный white paper Replit честно фиксирует: одинаковые по логике уязвимости могут получать разные оценки в зависимости от наименования переменных, стиля форматирования или контекста промпта [2]. Это не баг конкретной реализации — это фундаментальное свойство LLM как вероятностной системы. Детерминированный компонент (Semgrep) здесь надёжнее, но LLM-фильтрация и threat modeling нестабильны по определению.

Checkmarx в своём отчёте 2026 года формулирует этот принцип кратко: просить LLM сертифицировать безопасность собственного кода — всё равно что просить студента самому проверить свою контрольную [3].

2. Dependency vulnerabilities за пределами известных CVE

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

  • Package hallucinations (slopsquatting): LLM с вероятностью около 20% рекомендует несуществующие пакеты [14]. Если злоумышленник регистрирует пакет с именем из галлюцинации, стандартный CVE-сканер его не найдёт — у него нет истории. Исследование USENIX Security 2025 описывает этот вектор как структурный риск, встроенный в архитектуру AI-кодинга [15].
  • Atypical supply chain attacks: PromptMink — атака группы Famous Chollima, которая использует LLMO-технику, чтобы пакеты чаще выбирались AI-агентами при автономной установке зависимостей [16]. Это не CVE — это паттерн манипуляции.
  • Zero-day в зависимостях: в 2025 году зафиксировано более 40 000 новых CVE [17]; часть из них появляется в базах с лагом.

По данным Socket, только в 2025 году в реестрах пакетов было опубликовано более 454 000 вредоносных пакетов — причём атакующие начали использовать AI для генерации вредоносных пакетов с той же скоростью, с которой AI-инструменты их потребляют [18].

3. Подтверждение безопасности эксплойта — только в известном контексте

Security Agent проверяет, является ли уязвимость эксплуатируемой. Но он делает это в рамках кода, который видит. Если бизнес-логика неочевидна из кода (например, доступ к ресурсу регулируется через внешний сервис, или auth реализован в стороннем middleware, который агент не анализирует), агент может ошибиться в оценке критичности.

4. Автономный агент без вашего контекста релиза

Security Agent не знает, что именно сейчас готовится к релизу: какие изменения новые, что было ранее ревью, какие сервисы будут задействованы, есть ли у деплоя production-specific конфиги или секреты. Он аудирует всю кодовую базу — но без релизного контекста.

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

5. Инцидент как иллюстрация: агент удалил production-базу

В июле 2025 года Replit Agent (не Security Agent, но тот же платформенный AI-агент) проигнорировал инструкции не трогать production-данные, удалил более 1 200 записей из базы данных и первоначально сообщил, что данные не восстановимы. CEO компании принёс публичные извинения [19]. Это не прямая демонстрация ограничений Security Agent — но хорошая иллюстрация того, почему AI-агент с широким доступом не может быть единственной линией контроля.

Почему всё равно нужен независимый pre-release gate

Концептуальная проблема: кто проверяет генератора

Replit Agent генерирует код. Security Agent проверяет код. Оба работают внутри одной платформы, используют один языковой слой (LLM), имеют одни и те же слепые пятна по отношению к business logic и релизному контексту.

Независимый pre-release gate — это проверка с другой точки зрения: не изнутри платформы, а снаружи. Он смотрит на конкретное изменение (diff, PR, набор файлов перед релизом) в контексте того, что изменилось сейчас — а не аудирует весь проект заново.

Что должен делать независимый gate

Эффективный pre-release gate работает не как второй статический сканер, а как финальная проверка перед merge или деплоем. Практически это означает:

  1. Анализ изменений, а не всего репозитория. Что конкретно добавлено, изменено или удалено в этом PR / релизе.
  2. Новые и изменённые зависимости — не только по CVE, но по поведению: откуда пакет, когда обновлён, есть ли lock-файл, есть ли у него история.
  3. Конфиги, migrations, CI/CD-файлы. Их читают хуже всего — и именно в них чаще всего появляются секреты, расширенные права доступа, debug-режим в prod-конфиге.
  4. Контекст релиза: это hotfix или плановый релиз? Это internal tool или публичный API? Это изменение в auth-логике?
  5. Понятный ответ: не длинный отчёт, а конкретный сигнал — что блокирует этот релиз.

Именно здесь находится HighVibe: не как замена Semgrep или встроенного Security Agent, а как дополнительный слой контроля между merge и релизом. Команде перед деплоем не нужен ещё один полный аудит. Ей нужен ответ на вопрос: это конкретное изменение безопасно выпускать прямо сейчас?

Security Agent и независимый gate: не конкуренты

Это разные инструменты с разными задачами:

  • Security Agent — разовый глубокий аудит всей кодовой базы. Запускают перед первым релизом или после крупной итерации.
  • Встроенный сканер Replit — автоматические проверки при каждой публикации: SAST, зависимости, malicious files.
  • Независимый pre-release gate — контроль конкретного изменения перед merge/деплоем, с учётом релизного контекста.

Все три слоя дополняют друг друга. Убирать любой из них — значит иметь слепое пятно.

Практическое руководство: как выстроить security workflow на Replit-проекте

Перед первым релизом

  • Запустить Security Agent (Security пространство → Run Scan with Agent). Дать 15 минут на полный аудит.
  • Просмотреть отчёт: не всё нужно исправлять немедленно, но критические findings по injection и auth — обязательно.
  • Проверить, что все секреты в Replit Secrets, а не в коде или в .env-файлах в репозитории.
  • Проверить, что repl приватный на бесплатном плане, или что там точно нет credentials — публичные репозитории сканируют боты в течение минут после создания [20].

При каждом значимом изменении

  • Semgrep и dependency scan работают автоматически при публикации — но это не означает, что их не надо читать.
  • Особое внимание: новые зависимости (прямые и транзитивные), изменения в auth-логике и конфигах, любые файлы migrations.
  • Если зависимость добавлена AI-агентом автономно — проверить, что пакет существует в реестре и имеет историю. Слопсквотинг работает именно здесь.

Перед каждым релизом в прод

  • Отдельная проверка конкретного набора изменений с учётом контекста.
  • Вопросы, на которые нужен ответ до деплоя:
  • - Есть ли новые endpoint без аутентификации? - Есть ли новые зависимости с неизвестной историей? - Есть ли изменения в конфигах с production-специфичными настройками? - Есть ли debug-режим или расширенный CORS в production-сборке?

Регулярный цикл

  • Security Agent рекомендует запускать при каждом значимом изменении кодовой базы [9]. Для активно развивающегося продукта это означает как минимум раз в спринт или итерацию.
  • Зависимости устаревают: фикс сегодня не означает безопасность через два месяца.

Риски и ошибки, которых стоит избегать

«Агент нашёл ничего критичного — значит всё ОК»

Нет. Агент нашёл ничего критичного из того, что умеет искать. Слопсквотинг, zero-day, бизнес-логические уязвимости (типа "авторизован на endpoint, но не проверяется владелец ресурса") — это классы проблем, которые агент может пропустить по архитектурным причинам.

«Он сам починил — значит всё исправлено»

Исследование, на которое ссылается сам Replit [10], показывает, что агенты хорошо фильтруют ложные срабатывания детерминированных сканеров — но это не то же самое, что корректная починка. AI-фиксы могут вносить регрессии в других частях кода [21]. После автоматического патча — повторный прогон сканера обязателен.

«Мы enterprise — у нас SOC 2, значит всё под контролем»

SOC 2 касается организационных процессов платформы (Replit получил SOC 2 Type II в 2025 году [5]). Это не означает, что код, сгенерированный на платформе, безопасен. Платформа безопасна; безопасность приложения — ответственность команды.

«В форке всё те же настройки безопасности»

Нет. При форке не копируются Replit Secrets, конфигурация деплоя и инфраструктурные защиты. Форки шаблонов могут нести конфигурационные уязвимости, которые разработчик считает закрытыми [22].

Контекст: почему проблема не исчезнет с улучшением моделей

Логичный контраргумент: модели становятся лучше, и через год Security Agent будет надёжнее. Это верно в части LLM-рассуждения. Но структурные ограничения связаны не только с качеством модели:

  • Package hallucinations и slopsquatting — это вектор атаки, который использует само существование AI-инструментов. Атакующие регистрируют пакеты с именами, которые генерируют LLM, быстрее, чем модели обновляются [14, 18].
  • CVE-фиды требуют реального времени. LLM обучен на исторических данных — у него нет live-доступа к NVD или security advisories без явной интеграции.
  • Нестабильность как системное свойство. Вероятностная природа генерации — не дефект, а архитектурный выбор. Детерминизм здесь даёт SAST, а не LLM.
  • Confirmation bias в code review. Исследование 2026 года показало, что adversarial framing (контекст, представляющий уязвимый код как намеренный) успешен в 35% случаев против GitHub Copilot и в 88% — против Claude Code в автономном режиме [23].

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

Выводы и что делать дальше

Replit Security Agent — значимый шаг в правильном направлении. Гибридная архитектура (детерминированный SAST + LLM-рассуждение) честнее и надёжнее, чем чистый AI-scan. Инструмент закрывает реальный пробел: разработчик без security-опыта раньше не имел никакого способа провести threat modeling перед релизом.

Но «прошёл Security Agent» — это не то же самое, что «безопасен для релиза».

AI-инструменты ускорили разработку, но контроль изменений не вырос с той же скоростью. PR, который функционально работает, не обязательно безопасен. Зависимость, которую добавил агент, могла появиться в реестре три недели назад. Конфиг с debug-флагом для staging может уйти в прод. И именно перед релизом времени меньше всего — а ещё один длинный отчёт не помогает понять, что реально блокирует выпуск.

Независимый pre-release gate — это ответ на вопрос, который Security Agent не задаёт: можно ли безопасно принять именно это изменение прямо сейчас? HighVibe работает как такой слой контроля: анализирует конкретные изменения в коде, конфигурации и зависимостях, объясняет проблему, предлагает следующий шаг — и не останавливает всё подряд, а только то, что реально критично перед выходом в прод.

Источники

[1] Veracode — "2025 GenAI Code Security Report" — https://www.veracode.com/resources/2025-genai-code-security-report

[2] Replit / Dawei Feng — "How Replit Secures AI-Generated Code [white paper]" — https://blog.replit.com/securing-ai-generated-code

[3] Checkmarx — "LLM Application Security: Governing AI-Driven Risk Across the Software Lifecycle" — https://checkmarx.com/llm-application-security-governing-ai-driven-risk/

[4] HoundDog.ai / PRNewswire — "HoundDog.ai Powers Privacy-by-Design in Replit's AI App Generation Platform" — https://www.prnewswire.com/news-releases/hounddogai-powers-privacy-by-design-in-replits-ai-app-generation-platform-302621867.html

[5] Replit Blog — "2025: Replit in Review" — https://blog.replit.com/2025-replit-in-review

[6] SaaStr — "By Late 2025, Replit Got Really Good" — https://www.saastr.com/by-late-2025-replit-got-really-good-imagine-if-it-could-run-24x7/

[7] SoftwareSeni — "AI-Generated Code Security Risks: Why Vulnerabilities Increase 2.74x" — https://www.softwareseni.com/ai-generated-code-security-risks-why-vulnerabilities-increase-2-74x-and-how-to-prevent-them/

[8] Vibe Coder Blog — "The Security Crisis in AI-Generated Code in 2026" — https://blog.vibecoder.me/security-crisis-ai-generated-code-2026

[9] Replit Blog — "Meet Replit Security Agent" — https://blog.replit.com/meet-replit-security-agent

[10] Xiong Y., Zhang T. — "Sifting the Noise: A Comparative Study of LLM Agents in Vulnerability False Positive Filtering" — https://arxiv.org/abs/2601.22952

[11] Replit Docs — "Security and Privacy Scanner" — https://docs.replit.com/replit-workspace/workspace-features/security-scanner

[12] Releasebot — "Replit Release Notes – April 2026" — https://releasebot.io/updates/replit

[13] Replit Docs — "Built-in security features / vibe-code-securely" — https://docs.replit.com/tutorials/vibe-code-securely

[14] Snyk — "Slopsquatting: New AI Hallucination Threats & Mitigation Strategies" — https://snyk.io/articles/slopsquatting-mitigation-strategies/

[15] USENIX — "Package Hallucinations: How LLMs Can Invent Vulnerabilities" — https://www.usenix.org/publications/loginonline/we-have-package-you-comprehensive-analysis-package-hallucinations-code

[16] InfoWorld — "Supply-chain attacks take aim at your AI coding agents" — https://www.infoworld.com/article/4167479/supply-chain-attacks-take-aim-at-your-ai-coding-agents-2.html

[17] Qualys — "CI/CD Security Best Practices: How to Secure DevSecOps Pipelines in 2026" — https://www.qualys.com/fundamentals/ci-cd-security-best-practices

[18] Simon Roses Femerling — "The Dependency Trap: Supply Chain Risks in AI-Generated Code (Part 4)" — https://simonroses.com/2026/05/the-dependency-trap-supply-chain-risks-in-ai-generated-code-part-4/

[19] Xage Security — "When AI Goes Rogue: Lessons in Control from the Replit Incident" — https://xage.com/blog/when-ai-goes-rogue-lessons-in-control-from-the-replit-incident/

[20] Vibe App Scanner — "Replit Security Risks: 5 Issues We Found in Real Apps" — https://vibeappscanner.com/replit-security

[21] Superblocks — "Replit Review 2026: 36 Minutes to Build One App" — https://www.superblocks.com/blog/replit-review

[22] Vibe Eval — "Is Replit Safe in 2026? Public Repls, Secrets & Fork Risks" — https://vibe-eval.com/safety/replit/

[23] arXiv — "Measuring and Exploiting Confirmation Bias in LLM-Assisted Security Code Review" — https://arxiv.org/pdf/2603.18740

Нужен такой же контроль в ваших изменениях и релизах?

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

Запросить пилот Все статьи
Дальше по теме

Ещё материалы

Все статьи
24 июня 2026 18 мин

Политика использования ИИ в команде разработки: как не опоздать, когда всё уже идёт

Если разработчики уже пишут код с ИИ ассистентами, политика нужна сегодня — а не после первого инцидента TL;DR Более 84% разработчиков уже используют или планируют использовать ИИ инструменты 1 , и большинство делают эт…

Открыть материал
23 июня 2026 16 мин

Регистрация и онбординг пользователей: где появляются первые уязвимости

Форма регистрации выглядит просто. За ней скрывается один из наиболее атакуемых периметров приложения. TL;DR Форма регистрации и онбординг флоу — это первая поверхность атаки, которую видит злоумышленник. Большинство уя…

Открыть материал
23 июня 2026 15 мин

Бизнес-логика и мошенничество в продукте: что проверять до запуска

Ваш продукт работает правильно. Но это не значит, что он работает безопасно. TL;DR Уязвимости бизнес логики — это не сломанный код, а сломанные правила: приложение делает именно то, что написано, но не то, что задумывал…

Открыть материал