← Vibehacking← Vibehacking← Vibehacking
Mini-darslarМини-урокиMini-guidesVibehackingVibehackingVibehackingDasturchilar uchunДля разработчиковFor developers
Vibehacking · middle+ · Dasturchilar uchun Vibehacking · middle+ · Для разработчиков Vibehacking · middle+ · For developers

Vibehacking — Claude Code multi-agentlar Вайбхакинг — мульти-агенты Claude Code Vibehacking — Claude Code multi-agents

Vibe-coding g'oyasini offensive security'ga ko'chirish: subagentlar, waves, OPSEC, anti-patterns, 1 soatlik chek-list. Перенос идеи vibe-coding в offensive security: субагенты, волны, OPSEC, анти-паттерны, чек-лист на час. Bringing the vibe-coding idea to offensive security: subagents, waves, OPSEC, anti-patterns, a 1-hour checklist.

Bu daraja hozircha faqat rus tilida — pastdagi RU tugmasini bosing.
This level is Russian-only for now — switch to RU above.
🎯
Урок для security researchers, CTF-игроков и bug-bounty хантеров. Базовый веб-пентест предполагается известным — здесь про то, как разогнать его в 5–10 раз через мультиагентный режим Claude Code.

Vibe-coding, перенесённый в offensive security

Главный агент Claude Code не делает работу руками: он раскладывает методологию (PTES / OWASP WSTG) на независимые фазы и запускает их параллельно через субагентов, после чего агрегирует находки. То, что обычно стоит недели ручного пентеста — recon, source-leak hunt, fingerprinting, headers, nuclei, path enum, GraphQL probe, CMS detection — сжимается до 1–2 часов.

📦
На выходе — не финальный pwn, а карта атакующей поверхности + low-hanging fruit за один присест. Главный профит: ваш контекст не загажен dig-ами и curl-ами. Субагенты работают в sandbox-контексте, возвращают сжатые саммари, основной агент остаётся свежим для креатива — chaining, business logic, ручная эксплуатация.

Bottleneck — не CPU, а контекст

Подавляющее большинство этапов recon-а независимы по контексту:

  • DNS recon не зависит от HTTP fingerprint
  • nuclei на одном поддомене не зависит от dirbuster на другом
  • source-leak hunt (.git, .env, swagger) не зависит от GraphQL probe
  • CMS-fingerprint автономен от header-аудита
🧠
CPU и сеть — не bottleneck. Bottleneck — context window основного агента. Гоняете каждый dig +short лично — в логе быстро 100K+ токенов мусора, и к моменту, когда нужно думать над chain-ом, окно забито. Субагенты едят свой контекст, наверх возвращают только итоги.

Диспетчер + субагенты по ролям

Main agent (диспетчер, руками не пентестит)
├── planner   — разложить scope на волны и таргеты
├── recon x N — DNS, whois, CT logs, ASN
├── web x N   — HTTP probes, nuclei, dirbuster
├── source-leak — .git/.env/swagger/source-maps
└── reporter  — internal.md → tech.pdf + exec.pdf
🎛️
main / dispatcher
оркестрация, агрегация, PTT
Руками не пентестит — задача PTT (Pentest Task Tracker), делегирование через Agent/Task tool
Между волнами агрегирует результаты и решает, кого запускать дальше
Ведёт TodoList через TaskCreate/TaskUpdate — видимость прогресса, возможность отката
🗺️
planner
раскладка scope
Разбивает scope на target list, назначает волны — предотвращает дубликат работы
Явное разделение target list между recon-агентами
🛰️
recon x N
passive: DNS, whois, CT, ASN
Только публичные DNS/CT-источники, без активных сканов
Пишет в свою папку loot/<wave>/<host>/ — нет гонок за файлы
Не делает выводов об уязвимостях — только факты
🌐
web x N
HTTP probes, nuclei, dirbuster
Конкретные пути вместо bruteforce 50K-wordlist
sleep 0.3s между запросами, --max-time на каждый
Stop after PoC — success:true → запись в internal.md, остановка
📝
reporter
internal.md → tech + exec
Вход — internal.md + loot/, выход — два markdown'а под Pandoc
REPORT_STANDARD-формат, не «сделай красиво» — иначе эссе вместо отчёта
Находки группирует по root cause, не по симптомам
🗃️
Общий журнал internal.mdappend-only, с тегами [WAVE2A], [WAVE3B]. Каждый агент дописывает свой блок, никогда не перезаписывает чужой. Если два агента пишут одновременно — потеряете данные; соглашение: каждый в свой файл loot/<wave>/<agent>.md, reporter в конце мержит.

Общий vs конкретный

плохо
«посмотри что там у host»
  • субагент интерпретирует на свой лад
  • тратит контекст
  • возвращает мусор
хорошо
конкретные команды + границы
  • ровно эти команды, без додумывания
  • лимиты времени и шума
  • жёсткая структура отчёта
recon-dns subagent prompt
SYSTEM PROMPT
ROLE: passive DNS recon subagent
TARGET: target.example (in scope: *.target.example)
AUTHORIZATION: yes, written approval, ref TKT-1234
OPSEC: passive only, no active scans, VPN on
TASKS (ровно эти команды)
1. dig +short A/AAAA/MX/NS/TXT target.example
2. curl -s "crt.sh/?q=%25.target.example&output=json" | jq -r '.[].name_value' | sort -u
3. whois target.example | grep -iE 'registrar|created|name server'
4. curl -s "api.hackertarget.com/aslookup/?q=target.example"
CONSTRAINTS
max 5 мин wallclock · sleep 0.3s между запросами · только публичные DNS/CT
OUTPUT (≤400 слов → loot/wave1/recon-dns.md)
## Subdomains список с источником (CT/DNS/OSINT)
## DNS records A/AAAA/MX/NS/TXT — таблица
## ASN / Hosting провайдер, страна, ASN
## Anomalies что бросилось в глаза для след. волн
— не делать выводов об уязвимостях, только факты —
📋
Промпт читается как ТЗ для джуна. Если джун может выполнить буквально — субагент тоже сможет.

Приоритезация по шуму

Не запускать всё сразу. Каждая волна — свой OPSEC-профиль:

WaveЧто делаемШумВремя
1passive recon — DNS, CT logs, whois, ASN, OSINTlow5 мин
2light active — HTTP fingerprint, headers, robots/sitemap, TLSmedium10 мин
3targeted probes — найденные сервисы (Portainer, Grafana, MinIO, Vault, GraphQL, Swagger, Actuator)medium15 мин
4source-leak hunt — .git/, .env, *.bak, source-maps, exposed bucketsmedium-high15 мин
5depth — CVE-PoC, эксплойты, RCE-проверкиhigh — только с явным OK30+ мин
⚖️
Между волнами диспетчер агрегирует результаты и решает, кого запускать дальше. Не лезть слепо в Wave 5 — часто Wave 1+2 уже дают критичные находки (exposed admin panel, leaked .env).

Параллелизм усиливает шум

🛡️
Один точечный curl > 20 переборов. Знаешь, что искать — запрашивай конкретный путь, не bruteforce-ишь 50K-wordlist.
sleep 0.3s между запросами внутри субагента — без этого по логам цели вы DDoS.
/usr/bin/curl --max-time 8 — явный путь обходит RTK-хуки/алиасы, --max-time страхует от подвисших соединений (они роняют пайплайн).
Stop after PoC — получили success:true → записали → остановились.
Не загружать файлы на цель — никаких webshell, phpinfo.php. Артефакт = улика = провал OPSEC.
Logging — каждое действие → internal.md с timestamp: [2026-05-09 14:32:01] [WAVE2A] dig target.example → 198.51.100.10.
VPN до стартаcurl -s ifconfig.me в самом первом субагенте.

Где multi-agent реально лажает

  • Дубликат работы — два recon-агента независимо делают dig по одному хосту. Решение: planner с явным разделением target list.
  • Гонки за internal.md — каждый агент пишет в свой файл, reporter мержит.
  • Слишком общие промпты — расход контекста + случайный output. Всегда список конкретных команд.
  • 20+ агентов параллельно — context overflow у диспетчера, WAF замечает аномалию. Реальный потолок — 4–6 одновременных субагентов.
  • Игнор OPSEC tripwires — субагент видит unsealed Vault и идёт дальше по чеклисту. Должно быть: stop → escalate → ждать решения.
  • Reporter без структуры — «сделай красиво» вместо REPORT_STANDARD = эссе вместо отчёта.

Жёсткие стопы в system prompt каждого субагента

🚨
Publicly-exposed database port (Postgres/Redis/Mongo/Elastic без auth) → STOP, флаг в internal.md, репорт диспетчеру.
EOL/unsealed Vault, Consul без ACL, exposed Docker API → STOP, не пытаться читать секреты.
Поверхность для admin RCE (Portainer без auth, Jenkins script console, exposed Actuator/heapdump) → STOP, не эксплуатировать без явного OK.
3 неудачные попытки одного PoC → подход неверный. Revert-first: откатиться, переосмыслить, не накручивать костыли.
PII в leaked-данных → маскировать в отчёте до сохранения (REPORT_STANDARD требует).

Три документа (REPORT_STANDARD)

md
internal.md
сырые находки, полный PoC, raw output, timestamps. Для команды.
≤15
tech.pdf — технический
находки сгруппированы по root cause, не по симптомам. CSS: ~/infosec/pdf_style.css.
≤4
exec.pdf — для менеджмента
бизнес-impact, severity, рекомендации без жаргона.
📑
Раздел №0 «О характере работ» идентичен в обоих PDF. Профиль атакующего — L1–L4. Запрещены формулировки «белый хакер / пентестер / любой с интернетом» — только конкретный профиль.

Таймлайн для типового SaaS (5–15 поддоменов)

T+00–05 · setup

диспетчер: scope + authorization + VPN (ifconfig.me). planner: разложить scope на target list, назначить волны.

T+05–15 · Wave 1 (parallel)

recon-dns: dig + crt.sh + whois · recon-osint: GitHub dorks, pastebin, web-archive → агрегация → обновить target list.

T+17–30 · Wave 2 (parallel)

web-headers: curl -I по всем поддоменам · web-tls: testssl.sh короткий профиль · web-fingerprint: whatweb-like → выделить «интересные» сервисы.

T+32–45 · Wave 3 (parallel by service)

probe-graphql (если /graphql) · probe-swagger (если /swagger или /api-docs) · probe-actuator/heapdump (Spring) · probe-portainer/grafana/minio.

T+45–55 · Wave 4 · source-leak

.git/HEAD, .env, .DS_Store, source-maps, exposed buckets.

T+55–60 · trip-wire check → reporter

есть критичные находки? → STOP, репорт. Иначе: reporter собирает internal.md → tech + exec.

⏱️
Час — для типового SaaS-таргета с 5–15 поддоменами. Для крупного периметра масштабируется до 4–6 часов, логика та же.

Multi-agent — для широты, человек — для глубины

Multi-agent отлично делает discovery + low-hanging fruit. Плохо делает:

  • Chaining уязвимостей — SSRF → metadata → IAM creds → S3. Креатив, нужен контекст всей картины; субагент видит только свой кусок.
  • Business-logic flaws — race conditions в платежах, IDOR через бизнес-сценарий, abuse скидочной логики. Руками + Burp Repeater.
  • Custom auth flows — нестандартный SSO, JWT с кастомными claims, OAuth misconfigs.
  • Social engineering — OSINT для phishing, recon сотрудников. Отдельная зона.
  • Глубокий pwn — privilege escalation цепочки, persistence, lateral movement. Одна голова с полной картой, не 5 агентов.
🔑
Правило: subagents для широты, человек + один основной агент для глубины.

Станок с ЧПУ, а не замена инженеру

Vibe-hacking даёт за час то, на что раньше уходила неделя: карта атакующей поверхности + список low-hanging fruit + черновик отчёта. Это не замена ручному пентесту, это акселератор его discovery-фазы. За человеком остаётся:

  • Разрешение на работу — scope, authorization, contract.
  • OPSEC — VPN, чистый профиль, минимальный footprint.
  • Креативная эксплуатация — chaining, custom flows, business logic.
  • Responsible disclosure — отчёт владельцу, координация фиксов, никаких публикаций без согласования.
Authorized scope, OPSEC, responsible disclosure — без этих трёх якорей vibe-hacking превращается в обычный black hat, со всеми вытекающими. Trip-wire сработал — STOP. Не дожимайте. Удачной охоты.
← Barcha darslar← Все уроки← All guides