Перейти к содержимому
Экосистема AI Vibe

Разборы

RepoPilot: балл 0–100 для GitHub-репозитория до клона, и почему это про MCP, а не про «ещё один линтер»

Редакция 20 октября 2026 г.

RepoPilot: балл 0–100 для GitHub-репозитория до клона, и почему это про MCP, а не про «ещё один линтер»

Три развилки для соло-разработчика с ассистентом в цикле: слепо выполнить установку из README, довериться ссылке из чата на skill или MCP-сервер либо вставить owner/repo в проверку до git clone. В кейсе на AWS Builders автор RepoPilot связывает вторую ветку с кампанией FakeGit: сотни подделок под AI skills и MCP-серверы и агент на Lambda с Bedrock, который считает оценку детерминированным Python, а не «угадыванием» модели.

Подделки под skills и MCP: когда агент сам находит ловушку

Кампания AgentBaiting (Island) насчитывает порядка 7 600 вредоносных репозиториев GitHub и более 800, маскирующихся под навыки для ИИ или MCP-серверы; у операции тысячи поддельных профилей и миллионы загрузок release-артефактов. Исследователи описывают сценарий: ассистент без подсказанной ссылки может опираться на убедительный README и рекомендовать опасный репозиторий.

Для vibe coding речь не о абстрактной «безопасности репо», а о доверии к цепочке «модель предложила → вы клонируете → выполняете curl | bash». Рядом с поддельными репозиториями в том же сюжете фигурирует SANDWORM_MODE (Socket, февраль 2026): подмена локальных конфигов MCP в средах вроде Claude Desktop, Cursor, VS Code Continue и Windsurf.

Угроза смещается к README и метаданным, которые читает и человек, и агент. Проверка до первого запуска логичнее, чем расследование после инцидента.

Как устроен score 0–100: инструменты считают, модель объясняет

RepoPilot выставляет репозиторию оценку от 0 до 100 (и буквенный грейд) как взвешенную сумму пяти измерений по метаданным и файлам, а не как «мнение LLM»:

Измерение Вес Смысл
Safety 30% Опасные шаги установки, postinstall, base64, вызовы на «сырые» IP; критическая находка ограничивает итог
Trust 25% Звёзды, возраст, форки, контрибьюторы, паттерн накрутки
Maintenance 20% Коммиты, issues, релизы
Maturity 15% Возраст проекта, «след» команды
Documentation 10% README, лицензия, примеры

Принцип автора: Amazon Nova Pro на Amazon Bedrock наррирует факты, которые уже собрали tools («The model only narrates the facts the tools produce»). На развёрнутой Lambda в демо pallets/flask получает 98/100, langchain-ai/langchain даёт 100, а у ollama/ollama низкий грейд из‑за официального curl … | sh в инструкции: это предупреждение об установке, а не ярлык «малварь».

Семь tools агента и стек AWS

Фронт: AWS Lambda (Python 3.12) и API Gateway; локально автор предлагает Strands Agents SDK. Семь инструментов (имена из README проекта):

  1. assess_repo_trust: доверие к репо и владельцу
  2. scan_setup_for_danger: опасные шаги в README и install-скриптах
  3. build_first_run_plan: упорядоченный путь clone → run
  4. check_readme_against_reality: расхождения README и файлов
  5. generate_env_example: черновик .env.example
  6. preflight_requirements: версии из манифестов
  7. explain_error: разбор ошибки первого запуска

В документации порядок такой: сначала safety-tools, затем first-run, затем наррация Nova Pro. Open source здесь мотивирован тем, что скан можно развернуть на своём AWS-аккаунте или гонять CLI локально, чтобы данные не уходили в чужой SaaS.

Ввод в UI: строка owner/repo для скоринга и плана первого запуска либо username для профиля и топ-репозиториев по звёздам. Есть demo (без настройки) и live (вызов агента на AWS с fallback на demo при сбое).

Где агент слаб и где цифры расходятся

Ограничения перечислены явно: поверхностный анализ без распаковки бинарников; высокий балл не спасает от вредоносного релиза «завтра»; звёзды и возраст можно наращивать. Оценка advisory: не замена ревью кода и не гарантия supply chain.

В README самого RepoPilot для той же угрозы указано более 17 000 репозиториев со ссылкой на отдельную публикацию. Эта цифра не совпадает с 7 600 в публикации AWS Builders и отчёте Island; счётчики не смешиваем в одном утверждении.

Заявлены 25 тестов, в том числе проверка 200 случайных репозиториев на инварианты весов и cap при critical flag. Это аргумент детерминизма скоринга без облака на этапе unit-тестов.

Если ассистент в Cursor или другом агентном контуре предлагает «поставь MCP» или «склонируй skill из GitHub», имеет смысл вставить паузу: проверить owner/repo тем же классом сигналов, что RepoPilot вынес в Safety и Trust, прежде чем выполнять install-команды из README. Это не отменяет ручной осторожности с секретами и CI, но снижает риск AgentBaiting, когда доверие строится на красивом описании репозитория.

Исходники под лицензией Apache-2.0 на GitHub, есть live demo и walkthrough на YouTube; развёртывание описано как self-hosted AWS или локальный CLI.

Источники

  • Пост AWS Builders на Dev.to (публикация 19 октября 2026): Dev.to
  • Island, AgentBaiting / FakeGit: https://www.island.io/blog/agentbaiting-how-800-fake-ai-skills-and-mcp-servers-delivered-malware
  • Артефакты индикаторов Island: https://github.com/island-io/island-security-research-artifacts/tree/main/agentbaiting
  • Репозиторий RepoPilot (README, лицензия, tools): https://github.com/simplynadaf/repopilot-your-first-run-agent
  • Live demo: https://simplynadaf.github.io/repopilot-your-first-run-agent/
  • Видео walkthrough: https://youtu.be/CZXNQrqXG7I
  • Статья AWS Builder Center: https://builder.aws.com/content/3KSGqk5omLzBXfpe6VIOritaAQn/score-any-github-repo-0-100-before-you-clone-it-an-aws-ai-agent