Тёмная сторона вайб-кодинга

Эта история не имеет ничего общего с реальностью. Весь рассказ является плодом воображения автора.

Сегодня хочу рассказать про один серьёзный случай.

Есть у нас один хороший клиент Джон, который заказывал у нас уже несколько проектов. И вот, он попросил помощи в очередном своём проекте. Надо уточнить, что с появлением AI, Джон стал активным пользователем этого всего и очень сильно пытается создавать продукты самостоятельно, хотя, в программировании он не разбирается совсем. Так вот, насколько я знаю по легенде, у Джона был свой проект, но он был недостаточно хорош, и Джону захотелось переписать его с нуля, изменив даже бренд.
Я получил доступ к репозиторию на Github и Google Doc с названием "PRD" с целью изучения этого и оценки насколько сложно будет передать этот проект нам на доработку.

Далее, я расскажу про свои впечатления от знакомства с этим репозиторием.

За 3 недели он успел настрогать 465 коммитов в репу, 35к loc Typescript, но большинство коммитов состояли из "Deployed your application" или из двух изменений в tailwindcss в одном файле ❤️

Вот список инструментов, которые пробовал Джон, судя по репозиторию: Replit, Claude Code, Google Jules, Semgrep (какой-то AI AppSec Engineer)

Судя по истории коммитов, Джон делал скриншоты экрана (они сохранились в истории) и описывал где что не так прямо в окно чата. Причём, я думаю, что описывал он эти задачи именно голосом 😎

Джон красавчик, в своем возрасте (он довольно взрослый мужчина) он сумел разобраться в новомодных приблудах.
Но есть несколько но:
🔺 репозиторий представляет из себя монорепу с мешаниной файлов. Хорошо хоть разграничил client от server. Правда, в папке server скинуты в одну кучу сразу все файлы (на бэкенде express.js), а на фронте файлы разложены по папочкам components, hooks, lib и т. д. — видно, что гайдлайны nextjs повлияли
🔺 есть закоммиченный .env с кредами от облачной модной БД neon.tech. Закоммитил Replit
🔺 есть закоммиченный файлик с интересным названием private.key. Его закоммитил Replit
🔺 есть license key от одного пропиетарного софта, который захардкожен прямо на стороне клиента. Закоммитил Claude Code.
🔺 в этом коде его логин и пароль от ERP (хоть и тестовый контур, но всё же) встречается 12 раз в 12 разных файлах. Я проверил, эти креды закоммитил Claude Code

Вишенка на торте — репозиторий публично открыт 🤯😦

Вторая — сфера работы Джона, отнюдь не инфоцыганство, а серьёзная сфера, по регулирующим законам которой, могут произойти серьёзные последствия, если сикреты из этого репозитория утекут не в те руки.

Vibe coding in a nutshell 💪

Мы уже сообщили Джону, что он допустил ошибку. Он закрыл репозиторий и сбросил опубликованные креды.

Какие выводы можно сделать из этого случая?

Даже если вы офигенный эксперт в своей доменной зоне и AI даёт вам буст, то всему есть предел, об этом стоит помнить и понимать свои границы.

Из-за огромного хайпа в мире, AI может причинить большие убытки. Пожалуйста, доверьте работу с кодом профессионалам. Особенно, если в вашей сфере есть злые регуляторы. Да, мы тоже будем использовать AI coding tools, но мы понимаем как должен выглядеть результат.

Ну и монетка в копилку новомодных coding agents. Как бы создатели не старались, но пользователь всё ещё может выстрелить себе в ногу, даже в две:
- агенты почему-то не проверяют коммиты на наличие кредов в них
- агенты не проверяют, что репозиторий публично открыт и в нём находятся сикреты

#ai_coding@the_ai_architect

✔️ The AI Architect Blog, подписывайтесь!
Открыть в Telegram
 
 
Back to Top