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