This media is not supported in your browser
VIEW IN TELEGRAM
Спасаем преподавателя по фортепиано за вечер!
Дочь вернулась после долгой паузы с урока фортепиано и сказала: «Это был самый худший урок. У меня ничего не получается и ничего не помню.»
Учительница написала заглавными: МУЗА ЗАБЫЛА НОТЫ СКРИПИЧНОГО КЛЮЧА. А про басовый я вообще молчу. А скоро переводной экзамен!!!!!
По дороге домой мы с Музой решили придумать приложение. Чтобы учить ноты было весело, а не через скучные учебники.
Вечером — сели с AI. Утром — приложение в проде.
Что получилось:
— 30 уровней на двух островах: скрипичный и басовый ключ
— 3 мини-игры: квиз «Назови ноту», виртуальное пианино, аркада с падающими нотами
— 14 коллекционных персонажей-Нотиков — До-зайчик, Ре-лисичка и так далее
— Героиня Муза спасает Нотландию от злодея Какофония
— iOS + Android + Web + macOS + tvOS — один Flutter-кодбейс
— Приложение для детей — значит никакой слежки. Вообще никакой. Не потому что так написано в правилах, а потому что технически некуда собирать
~5 часов, ~5900 строк кода, 6 коммитов включая фиксы двух крашей в день запуска.
Нотный стан пришлось рисовать с нуля — готовых решений для Flutter не существует. Это одна из тех задач где AI не выдаёт готовый ответ, а ты час объясняешь ему что вообще такое леджерная линия.
Что понял:
Лучшие продукты рождаются из личной боли. Я не исследовал рынок, не делал CustDev. Просто увидел расстроенного ребёнка и сделал то, что нужно именно ему.
Приложение названо в честь дочери. Она первый тестировщик и главный критик.
Муза: Ноты и Музыка — попробовать можно уже сейчас в веб версии👇
https://musa-liart.vercel.app/
🌐 mddt.tech
✈️ @aleksundervolkov
#Flutter #AI #IndieDev #образование #MDDT #муза #геймификация #aleksundervolkov
Дочь вернулась после долгой паузы с урока фортепиано и сказала: «Это был самый худший урок. У меня ничего не получается и ничего не помню.»
Учительница написала заглавными: МУЗА ЗАБЫЛА НОТЫ СКРИПИЧНОГО КЛЮЧА. А про басовый я вообще молчу. А скоро переводной экзамен!!!!!
По дороге домой мы с Музой решили придумать приложение. Чтобы учить ноты было весело, а не через скучные учебники.
Вечером — сели с AI. Утром — приложение в проде.
Что получилось:
— 30 уровней на двух островах: скрипичный и басовый ключ
— 3 мини-игры: квиз «Назови ноту», виртуальное пианино, аркада с падающими нотами
— 14 коллекционных персонажей-Нотиков — До-зайчик, Ре-лисичка и так далее
— Героиня Муза спасает Нотландию от злодея Какофония
— iOS + Android + Web + macOS + tvOS — один Flutter-кодбейс
— Приложение для детей — значит никакой слежки. Вообще никакой. Не потому что так написано в правилах, а потому что технически некуда собирать
~5 часов, ~5900 строк кода, 6 коммитов включая фиксы двух крашей в день запуска.
Нотный стан пришлось рисовать с нуля — готовых решений для Flutter не существует. Это одна из тех задач где AI не выдаёт готовый ответ, а ты час объясняешь ему что вообще такое леджерная линия.
Что понял:
Лучшие продукты рождаются из личной боли. Я не исследовал рынок, не делал CustDev. Просто увидел расстроенного ребёнка и сделал то, что нужно именно ему.
Приложение названо в честь дочери. Она первый тестировщик и главный критик.
Муза: Ноты и Музыка — попробовать можно уже сейчас в веб версии👇
https://musa-liart.vercel.app/
🌐 mddt.tech
#Flutter #AI #IndieDev #образование #MDDT #муза #геймификация #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Как держать фокус на 17 проектах одновременно?
Раньше для этого использовал таск-менеджеры. Заходишь — создаёшь задачи, расставляешь приоритеты, вспоминаешь, где остановился. И так каждый раз при переключении между проектами. Умножь на количество переключений в день?!
Сделал себе CPM(Chief Project Manager)-агента. Не таск-менеджер — второй мозг по проектам.
"Создай встречу с Марком, он в Майами, вот мои слоты по местному" — через минуту встреча в календаре, инвайт ушёл клиенту. Я даже не открывал Calendar.
"Какой у нас сегодня план" - рисует дашборд, через мгновение уже решаем первоприоритеную задачу.
Пока dev-агент разбирается с одним проектом — переключаюсь на другой. Возвращаюсь — понимаю что потерял фокус. CPM-агент восстанавливает контекст за 30 секунд. Не я вспоминаю, он напоминает.
Хотя в течение недели агент работал больше как напоминалка — стратегия всё равно проигрывала операционке.
Но в пятницу сделали короткий стратегический срез. Стало понятно, что начало следующей недели нужно посвятить фолоуапам старых лидов — не новым задачам, не горящим тикетам, а потенциальным заказчикам с которыми уже был контакт.
Без этого разговора я бы снова нырнул в операционку.
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#AI #продуктивность #MDDT #инструменты #aleksundervolkov
Раньше для этого использовал таск-менеджеры. Заходишь — создаёшь задачи, расставляешь приоритеты, вспоминаешь, где остановился. И так каждый раз при переключении между проектами. Умножь на количество переключений в день?!
Сделал себе CPM(Chief Project Manager)-агента. Не таск-менеджер — второй мозг по проектам.
"Создай встречу с Марком, он в Майами, вот мои слоты по местному" — через минуту встреча в календаре, инвайт ушёл клиенту. Я даже не открывал Calendar.
"Какой у нас сегодня план" - рисует дашборд, через мгновение уже решаем первоприоритеную задачу.
Пока dev-агент разбирается с одним проектом — переключаюсь на другой. Возвращаюсь — понимаю что потерял фокус. CPM-агент восстанавливает контекст за 30 секунд. Не я вспоминаю, он напоминает.
Хотя в течение недели агент работал больше как напоминалка — стратегия всё равно проигрывала операционке.
Но в пятницу сделали короткий стратегический срез. Стало понятно, что начало следующей недели нужно посвятить фолоуапам старых лидов — не новым задачам, не горящим тикетам, а потенциальным заказчикам с которыми уже был контакт.
Без этого разговора я бы снова нырнул в операционку.
Работаем дальше.
🌐 mddt.tech
#AI #продуктивность #MDDT #инструменты #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Claude агент к успеху шел, не фартануло
Релизили Android-приложение. Решил автоматизировать всю скучную часть — заполнить Privacy Policy, добавить скриншоты, иконки, отправить на ревью в Google Play.
Попросил Claude сгенерировать промпт из кода проекта для Claude расширения в Chrome. Запустил агента в браузере. Дал задачу.
73 итерации. 73 скриншота. Агент уверенно шёл к цели.
Не дошёл.
Известный баг Claude: если в чат попадает слишком большой скриншот — всё, чат висит. Ни переспросить, ни удалить. Только новый чат — и потеря контекста, времени, токенов.
Доделывал руками.
Это к разговору о том, заменит ли AI разработчика и за что платит заказчик.
Да агент быстро делает рутину. Но чтобы определить эту рутину для агента нужен человек, чтобы он делал это качественно — нужен эксперт.
Мы, команда экспертов - даем высокое качество за разумный бюджет и сроки и, главное - несем отвественность за результат. Вам достаточно сформулирвоать ожидаемый результат и мы полностью возьмем на себя реализацию.
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#AI #разработка #GooglePlay #MDDT #агенты #aleksundervolkov
Релизили Android-приложение. Решил автоматизировать всю скучную часть — заполнить Privacy Policy, добавить скриншоты, иконки, отправить на ревью в Google Play.
Попросил Claude сгенерировать промпт из кода проекта для Claude расширения в Chrome. Запустил агента в браузере. Дал задачу.
73 итерации. 73 скриншота. Агент уверенно шёл к цели.
Не дошёл.
Известный баг Claude: если в чат попадает слишком большой скриншот — всё, чат висит. Ни переспросить, ни удалить. Только новый чат — и потеря контекста, времени, токенов.
Доделывал руками.
Это к разговору о том, заменит ли AI разработчика и за что платит заказчик.
Да агент быстро делает рутину. Но чтобы определить эту рутину для агента нужен человек, чтобы он делал это качественно — нужен эксперт.
Мы, команда экспертов - даем высокое качество за разумный бюджет и сроки и, главное - несем отвественность за результат. Вам достаточно сформулирвоать ожидаемый результат и мы полностью возьмем на себя реализацию.
Работаем дальше.
🌐 mddt.tech
#AI #разработка #GooglePlay #MDDT #агенты #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥1👍1
Муза: Что такое разряды числа?
Я: Ни слова больше!
(В сторону)
создай приложение на flutter для детей для освоения математики
AI:
Отлично, всё понял. Идея с байтом→буква и 6 hex→цвет — супер, возьму в работу.
План:
flutter create funny_math (все платформы) → flutter analyze чист
Главный экран + уровень «Касса разрядов»: 3 режима (DEC 7 / BIN 8 / HEX 6 барабанов)
Интерпретация справа: DEC → прописью по-русски, BIN → ASCII-символ, HEX → цветной квадрат
Кнопка 🔊 озвучки (flutter_tts) для DEC
Запустить в Chrome, проверить глазами
Стиль: деревянная касса с костяшками, тёплые пастельные тона.
Погнали.
————————————-
Меньше слов, больше дела
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#AI #разработка #MDDT #будни #aleksundervolkov
Я: Ни слова больше!
(В сторону)
создай приложение на flutter для детей для освоения математики
AI:
Отлично, всё понял. Идея с байтом→буква и 6 hex→цвет — супер, возьму в работу.
План:
flutter create funny_math (все платформы) → flutter analyze чист
Главный экран + уровень «Касса разрядов»: 3 режима (DEC 7 / BIN 8 / HEX 6 барабанов)
Интерпретация справа: DEC → прописью по-русски, BIN → ASCII-символ, HEX → цветной квадрат
Кнопка 🔊 озвучки (flutter_tts) для DEC
Запустить в Chrome, проверить глазами
Стиль: деревянная касса с костяшками, тёплые пастельные тона.
Погнали.
————————————-
Меньше слов, больше дела
Работаем дальше.
🌐 mddt.tech
#AI #разработка #MDDT #будни #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
MDDT Life
Спасаем преподавателя по фортепиано за вечер! Дочь вернулась после долгой паузы с урока фортепиано и сказала: «Это был самый худший урок. У меня ничего не получается и ничего не помню.» Учительница написала заглавными: МУЗА ЗАБЫЛА НОТЫ СКРИПИЧНОГО КЛЮЧА.…
Месяц назад выпустили первую версию Музы за вечер.
Выглядела как прототип — она им и была.
Сейчас готовим релиз в App Store и GooglePlay. За месяц переделали почти всё.
Не переписали с нуля — переосмыслили.
1. Vintage Music Book стиль везде. Пергамент, латунные рамки, сепия на персонажах, бумага с орнаментами
2. Карта Нотландии — горизонтальный архипелаг. Три острова, океан из пяти линий нотного стана, воздушный шар дрейфует по мере прогресса
3. Компас-метроном в углу карты с реальным магнитометром. Поворачиваешь iPhone — стрелка показывает север. Маленькая деталь для wow эффекта "это реальный компас??"
4. 10 AI-персонажей вместо эмодзи. До-зайчик, Ре-лисичка, Маэстро-кот, Какофоний — все в едином арт-стиле
5. Босс-экзамен на финале острова — нужно перетащить ноту на правильное место на стане. Не просто "назови ноту" а "где она живёт"
5. Тактильная вибрация. Правильный ответ - лёгкий импульс, ошибка - средний, три звезды - сильный.
Под капотом:
— Собственный домен
— 191 unit-тест на геймплейную логику (было 119)
— 26 нотных семплов синтезированы программно — никаких чужих сэмплов
"Сделано за вечер" и "готово к стору" — разные задачи. Первая версия - быстрая доставка ценности. Последний месяц - полировка. Визуал, обратная связь, коренер кейсы, отладка.
Играть онлайн: musa.mddt.tech
Следи за обновлениями:
t.me/musa_notlandia
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#Flutter #AI #IndieDev #образование #MDDT #муза #геймификация #aleksundervolkov
Выглядела как прототип — она им и была.
Сейчас готовим релиз в App Store и GooglePlay. За месяц переделали почти всё.
Не переписали с нуля — переосмыслили.
1. Vintage Music Book стиль везде. Пергамент, латунные рамки, сепия на персонажах, бумага с орнаментами
2. Карта Нотландии — горизонтальный архипелаг. Три острова, океан из пяти линий нотного стана, воздушный шар дрейфует по мере прогресса
3. Компас-метроном в углу карты с реальным магнитометром. Поворачиваешь iPhone — стрелка показывает север. Маленькая деталь для wow эффекта "это реальный компас??"
4. 10 AI-персонажей вместо эмодзи. До-зайчик, Ре-лисичка, Маэстро-кот, Какофоний — все в едином арт-стиле
5. Босс-экзамен на финале острова — нужно перетащить ноту на правильное место на стане. Не просто "назови ноту" а "где она живёт"
5. Тактильная вибрация. Правильный ответ - лёгкий импульс, ошибка - средний, три звезды - сильный.
Под капотом:
— Собственный домен
— 191 unit-тест на геймплейную логику (было 119)
— 26 нотных семплов синтезированы программно — никаких чужих сэмплов
"Сделано за вечер" и "готово к стору" — разные задачи. Первая версия - быстрая доставка ценности. Последний месяц - полировка. Визуал, обратная связь, коренер кейсы, отладка.
Играть онлайн: musa.mddt.tech
Следи за обновлениями:
t.me/musa_notlandia
Работаем дальше.
🌐 mddt.tech
#Flutter #AI #IndieDev #образование #MDDT #муза #геймификация #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2❤🔥2
Разработка без чёрных ящиков.
Классическая боль любой команды: мобайл разраб не знает, как работает сервер. Серверный не знает, что происходит на клиенте. PM спрашивает статус — ждёт ответа до вечера. Бизнес вообще в темноте.
Знания живут в головах. Документации нет. Все коммуникации - глухой телефон.
Мы все переизобрели. Монорепа стала основой новых процессов.
Как это работает:
Один воркспейс — всё внутри. Серверная часть, клиенты, лендинги, базы данных, тесты, деплой, скрипты. Каждый разработчик видит всю систему целиком. Мобайл может зайти в серверный код, понять как работает API или схема базы данных и протестировать, не дожидаясь коллеги из другого часового пояса.
Каждый разраб работает в IDE с ИИ. И разработчик, и его агент — в едином контексте всей системы. Решения принимаются на основе полной картины системы.
Кроме коммитов теперь автоматически обновляются контекстные документы проекта. Любой LLM-агент подхватывает актуальный контекст без онбординга. Правила деплоя тоже в доках — потому что агенты без них начинают деплоить как вздумается. Однажды снесли env на виртуалке. Больше не сносят.
Спринты и бэклоги тоже в монорепе. PM запрашивает у агента статус — он актуализирует все ветки, обновляет доки и выдаёт картину в любое время суток. PM не дергает разраба лишний раз - все довольны.
Стекхолдеры получают доступ через наш DevForge, теперь у бизнеса есть доступ к ИИ, который знает всю систему изнутри. Любое продуктовое решение принимается в общем контексте проекта. Мы полностью прозрачны для бизнеса — не на словах, а технически.
Что это даёт на практике:
Каждый разработчик растёт вширь — понимает всю систему. И вглубь — развивает свою область.
Роль и ответственность разработчика двигается в сторону архитектора системы.
T-shaped без насилия над процессом.
Никаких чёрных ящиков и глухих телефонов. Ни для команды, ни для заказчика.
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#разработка #монорепа #AI #процессы #MDDT #Claude #aleksundervolkov
Классическая боль любой команды: мобайл разраб не знает, как работает сервер. Серверный не знает, что происходит на клиенте. PM спрашивает статус — ждёт ответа до вечера. Бизнес вообще в темноте.
Знания живут в головах. Документации нет. Все коммуникации - глухой телефон.
Мы все переизобрели. Монорепа стала основой новых процессов.
Как это работает:
Один воркспейс — всё внутри. Серверная часть, клиенты, лендинги, базы данных, тесты, деплой, скрипты. Каждый разработчик видит всю систему целиком. Мобайл может зайти в серверный код, понять как работает API или схема базы данных и протестировать, не дожидаясь коллеги из другого часового пояса.
Каждый разраб работает в IDE с ИИ. И разработчик, и его агент — в едином контексте всей системы. Решения принимаются на основе полной картины системы.
Кроме коммитов теперь автоматически обновляются контекстные документы проекта. Любой LLM-агент подхватывает актуальный контекст без онбординга. Правила деплоя тоже в доках — потому что агенты без них начинают деплоить как вздумается. Однажды снесли env на виртуалке. Больше не сносят.
Спринты и бэклоги тоже в монорепе. PM запрашивает у агента статус — он актуализирует все ветки, обновляет доки и выдаёт картину в любое время суток. PM не дергает разраба лишний раз - все довольны.
Стекхолдеры получают доступ через наш DevForge, теперь у бизнеса есть доступ к ИИ, который знает всю систему изнутри. Любое продуктовое решение принимается в общем контексте проекта. Мы полностью прозрачны для бизнеса — не на словах, а технически.
Что это даёт на практике:
Каждый разработчик растёт вширь — понимает всю систему. И вглубь — развивает свою область.
Роль и ответственность разработчика двигается в сторону архитектора системы.
T-shaped без насилия над процессом.
Никаких чёрных ящиков и глухих телефонов. Ни для команды, ни для заказчика.
Работаем дальше.
🌐 mddt.tech
#разработка #монорепа #AI #процессы #MDDT #Claude #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Написать приложение с AI сегодня можно за вечер. Опубликовать — месяц!
Проходим через это сейчас с нашей Музой.
UPD: Уже в AppStore
Играйте бесплатно!
Сначала просто получи право публиковать.
Apple Developer: регистрация, подтверждение личности, апрув, $99 в год.
Google Play: ещё одна учётка, проверки, $25.
Даже это - несколько дней.
А дальше начинается настоящий квест.
AppStore. DSA Compliance. Евросоюз с 2024 года требует определиться: ты трейдер или нет. Если трейдер — имя, адрес, телефон видны всем пользователям из ЕС. Если нет — теряешь 27 стран ЕС.
Приложение создаётся сразу под iOS, macOS и tvOS — лишнее чисти руками. visionOS блокирует Made for Kids - снова сборка. Забыл encryption flag — ещё пересборка. Скриншоты, ссылки на прайваси, анкеты, чеклисты и прочие политики...
Детские приложения проверяют строже. Запросили видео с реального устройства, список всех зависимостей, объяснение возрастных рейтингов, собираем ли данные. Каждый ответ — плюс 1-2 дня ожидания.
Google Play. Personal аккаунт — обязательные 14 дней закрытого тестирования с 12 реальными тестерами. Не просто email — живые Google-аккаунты. Корпоративные почты система считает "несуществующими".
Вот кстати — если у вас Android и 2 минуты, вы можете нам помочь прямо сейчас. Нужно просто установить Музу — это и есть тот самый обязательный тест.
👉 https://play.google.com/apps/internaltest/4701681214572726078
И отдельный сюр: IARC задаёт вопросы про терроризм, нацистскую символику и азартные игры. Для приложения где кот, учит детей нотам.
ASO — отдельная дисциплина. Сначала ресёрч: ниша, конкуренты, ключевые слова по которым тебя вообще найдут. Название 30 символов — каждый на счету. Теги только из фиксированного списка платформы, своих keywords не добавить на Google play. Категория на Google, выбираешь один раз. Описание, промо-текст, скриншоты — не просто заполнить, а оптимизировать под поиск. И на двух языках.
Мы попробовали делегировать часть этого Claude-агенту в браузере. Хороший тест реальности.
Агент нажимает кнопки и проходит формы. Но как очень медленный стажёр: то что человек делает за 10 секунд, агент делает 5 минут, сжигая токены. В какой-то момент упёрлись в лимиты даже на максимальном тарифе.
AI отлично ускоряет разработку, тексты, анализ. Но store submission пока требует ручной внимательности.
Код - вершина айсберга. Под водой: политики, декларации, рейтинги, подписи билдов, локализации, ASO, бесконечные формы.
От "начали сабмит" до "приложение в сторе" — реалистично 3-4 недели. На первом релизе.
Если не хотите проходить через это самостоятельно — берём на себя весь цикл от идеи до релиза в сторах.
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#AppStore #GooglePlay #AI #Flutter #MDDT #инди #разработка #aleksundervolkov
Проходим через это сейчас с нашей Музой.
UPD: Уже в AppStore
Играйте бесплатно!
Сначала просто получи право публиковать.
Apple Developer: регистрация, подтверждение личности, апрув, $99 в год.
Google Play: ещё одна учётка, проверки, $25.
Даже это - несколько дней.
А дальше начинается настоящий квест.
AppStore. DSA Compliance. Евросоюз с 2024 года требует определиться: ты трейдер или нет. Если трейдер — имя, адрес, телефон видны всем пользователям из ЕС. Если нет — теряешь 27 стран ЕС.
Приложение создаётся сразу под iOS, macOS и tvOS — лишнее чисти руками. visionOS блокирует Made for Kids - снова сборка. Забыл encryption flag — ещё пересборка. Скриншоты, ссылки на прайваси, анкеты, чеклисты и прочие политики...
Детские приложения проверяют строже. Запросили видео с реального устройства, список всех зависимостей, объяснение возрастных рейтингов, собираем ли данные. Каждый ответ — плюс 1-2 дня ожидания.
Google Play. Personal аккаунт — обязательные 14 дней закрытого тестирования с 12 реальными тестерами. Не просто email — живые Google-аккаунты. Корпоративные почты система считает "несуществующими".
Вот кстати — если у вас Android и 2 минуты, вы можете нам помочь прямо сейчас. Нужно просто установить Музу — это и есть тот самый обязательный тест.
👉 https://play.google.com/apps/internaltest/4701681214572726078
И отдельный сюр: IARC задаёт вопросы про терроризм, нацистскую символику и азартные игры. Для приложения где кот, учит детей нотам.
ASO — отдельная дисциплина. Сначала ресёрч: ниша, конкуренты, ключевые слова по которым тебя вообще найдут. Название 30 символов — каждый на счету. Теги только из фиксированного списка платформы, своих keywords не добавить на Google play. Категория на Google, выбираешь один раз. Описание, промо-текст, скриншоты — не просто заполнить, а оптимизировать под поиск. И на двух языках.
Мы попробовали делегировать часть этого Claude-агенту в браузере. Хороший тест реальности.
Агент нажимает кнопки и проходит формы. Но как очень медленный стажёр: то что человек делает за 10 секунд, агент делает 5 минут, сжигая токены. В какой-то момент упёрлись в лимиты даже на максимальном тарифе.
AI отлично ускоряет разработку, тексты, анализ. Но store submission пока требует ручной внимательности.
Код - вершина айсберга. Под водой: политики, декларации, рейтинги, подписи билдов, локализации, ASO, бесконечные формы.
От "начали сабмит" до "приложение в сторе" — реалистично 3-4 недели. На первом релизе.
Если не хотите проходить через это самостоятельно — берём на себя весь цикл от идеи до релиза в сторах.
Работаем дальше.
🌐 mddt.tech
#AppStore #GooglePlay #AI #Flutter #MDDT #инди #разработка #aleksundervolkov
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3
Внимание всем, кто работает с Github, VSCode или npm!
Вчера столкнулись с очень странной историей
Сначала подумали обычная путаница. Но внутри оказалось интереснее:
— в репах появились .vscode/tasks.json
— если бы открыли проект в VSCode, автоматически запускался hidden task
— где-то payload был замаскирован под обычный .woff2 файл шрифта
— в одном из проектов обфусцированный код прямо в next.config.js
То есть выглядело всё как обычные файлы проекта. Пока не начинаешь копать.
Самое неприятное — коммиты выглядели довольно правдоподобно. Если быстро смотреть diff, можно вообще не обратить внимание.
Сегодня GitHub опубликовал пост про свой security incident с похожим вектором через poisoned VSCode extension.
GitHub incident post on X
Если работаете с GitHub / VSCode / npm — стоит проверить у себя:
— нет ли странных .vscode/tasks.json
— нет ли runOn: "folderOpen"
— не появились ли неожиданные force-push коммиты
— что вообще лежит внутри .woff2, .svg, .png файлов в новых коммитах
— кто и чем пушил последние изменения
Теперь npm install и открытие чужого репо уже воспринимаются совсем иначе.
Работаем дальше.
🌐 mddt.tech
✈️ @aleksundervolkov
#GitHub #VSCode #CyberSecurity #NodeJS #MDDT #DevSecOps
Вчера столкнулись с очень странной историей
Обнаружили force-push коммиты в нескольких наших репозиториях, которые мы не делали.
Сначала подумали обычная путаница. Но внутри оказалось интереснее:
— в репах появились .vscode/tasks.json
— если бы открыли проект в VSCode, автоматически запускался hidden task
— где-то payload был замаскирован под обычный .woff2 файл шрифта
— в одном из проектов обфусцированный код прямо в next.config.js
То есть выглядело всё как обычные файлы проекта. Пока не начинаешь копать.
Самое неприятное — коммиты выглядели довольно правдоподобно. Если быстро смотреть diff, можно вообще не обратить внимание.
Сегодня GitHub опубликовал пост про свой security incident с похожим вектором через poisoned VSCode extension.
GitHub incident post on X
Если работаете с GitHub / VSCode / npm — стоит проверить у себя:
— нет ли странных .vscode/tasks.json
— нет ли runOn: "folderOpen"
— не появились ли неожиданные force-push коммиты
— что вообще лежит внутри .woff2, .svg, .png файлов в новых коммитах
— кто и чем пушил последние изменения
Теперь npm install и открытие чужого репо уже воспринимаются совсем иначе.
Работаем дальше.
🌐 mddt.tech
#GitHub #VSCode #CyberSecurity #NodeJS #MDDT #DevSecOps
Please open Telegram to view this post
VIEW IN TELEGRAM
😱1