Топ-10 инструментов для управления контентом в 2025 году: от CMS до ИИ
Четыре утра, Москва, 2025 год. Я вцепился в Яндекс.Метрику, как утопающий в го*но, пока кофе в кружке стынет в ледяную жижу, а глаза пылают, как у вампира на диете. Сайт клиента рухнул из топа, как будто решил насрать мне на карьеру. Это моя жизнь — жизнь SEO-специалиста, где каждый день — это коктейль из адреналина, отчаяния и какого-то больного кайфа, как будто я наркоман, подсевший на клики. Без розовых очков, без пафоса, только с чёртовым упрямством и верой, что я вытащу этот сайт из цифровой жопы. Расскажу, как я выгребаю, орудуя только русскоязычными инструментами (ну почти русскоязычными), и как из этого дерьма рождаются победы. Спойлер: иногда это так смешно, что хочется выть, а иногда так ох*енно, что забываешь, что не спал трое суток. Погнали в мой мир, где алгоритмы Яндекса — это боссы, которые плюют на твои нервы, а я — упёртый псих с кучей софта и цистерной кофе.
Как я вляпался во всё это го*но, ой, в SEO
Десять лет назад я был жалким контент-менеджером в какой-то шарашкиной конторе, заливал новости про «супер-услуги» и фотки с корпоративов, где все лыбятся, как будто им не задержали зарплату на полгода. И тут шеф, как чёрт из табакерки, выдаёт: «Нам нужен трафик из поиска!» Я, наивный, как девственник на вечеринке, думал, что SEO — это закинуть пару ключей в статью, и Яндекс уже несёт тебе бабки на блюдечке. Х*р там. Первая попытка закончилась фильтром за переспам — сайт рухнул, как алкаш в канаву, а шеф смотрел на меня, как будто я спалил его бизнес. Я уже прикидывал, как буду бомжевать, но вместо этого полез в Яндекс, штудировал форумы вроде Searchengines (пристанище сеошников и вебмастеров) и тусил в Телеге, где ребята кидали мемы про алгоритмы и проклинали апдейты, как будто это чума. Так я и нырнул в эту с*аную кроличью нору, где каждый день — как квест, в котором ты то король, то лох, а Яндекс — босс, который всегда с подвохом. И знаете, я подсел на этот цирк, потому что где ещё найдёшь столько драмы, кофе и сладкого реванша, когда сайт всё-таки вылезает в топ, как зомби из могилы?
Мой toolkit: русскоязычные сервисы, которые вытаскивают из ж*пы
Десять лет в SEO — это как десять лет в окопах: перепробовал кучу всего, но оставил только то, что не подводит, когда клиент орёт, а сайт тонет. Никаких буржуйских понтов (ну ладно, почти никаких) — только наши, родные инструменты, с интерфейсом, который иногда выглядит, как сайт из 90-х, но тянет, как старый трактор. Это мой арсенал, чтобы вытаскивать сайты из цифрового де*ьма и затаскивать их в топ, пока я глушу кофе и посылаю алгоритмы Яндекса куда подальше. Вот мой набор — всё, что нужно, чтобы пережить дедлайн и не сдохнуть от клиентских воплей.
1. Key Collector — мой кореш для семантики
Key Collector (программа для сбора и анализа поисковых запросов) — мой битый жизнью напарник, который лезет в помойку ключевых слов и вытаскивает оттуда золото. Без него я бы тонул в запросах, как алкаш в канаве, окружённый дедлайнами с дубинами.
Что делаю: Выгребаю ключи из Вордстата (сервис Яндекса для анализа поисковых запросов), чищу мусор вроде «скачать джинсы бесплатно» и кластеризую запросы, чтобы всё было чётче, чем похмелье после корпоратива.
Фишка: Автокластеризация сортирует запросы быстрее, чем я успеваю сварить кофе, спасая мою задницу от превращения в офисный труп.
Минус: При тонне запросов может затупить, но это как пробка на МКАДе — бесит, но не смертельно.
Как-то собирал семантику для магазина шмоток. Вбил «купить джинсы», а Key Collector выдал 4000 запросов, включая бред вроде «джинсы с дырками на коленях дешево Москва ночью». Через три месяца сайт вломился в топ-10 по низкочастотникам, и я почувствовал себя, как будто обокрал Яндекс на миллион. Ну, почти.
2. Яндекс.Вебмастер — мой личный детектив
Яндекс.Вебмастер (инструмент для мониторинга и управления индексацией сайта в Яндексе) — мой Шерлок, который вынюхивает, где сайт накосячил, пока я не спятил от клиентских воплей, как от визга циркулярки. Это как патологоанатом, вскрывающий сайт, чтобы найти, от чего он сдох.
Что проверяю: 404-е, дубли страниц, скорость загрузки, мобильную адаптацию — всё, что может отправить сайт в цифровую канализацию.
Фишка: Отправка страницы на переобход — это как влепить Яндексу пощёчину, чтобы он заметил новый контент. Спасает, когда клиент орёт: «Где, б*я, мои позиции?!»
Минус: Данные иногда грузятся, как похмельный грузчик, но это не повод рвать остатки волос.
Однажды сайт клиента свалился из индекса, как будто решил сдохнуть без завещания. В Вебмастере я раскопал, что какой-то дебил-админ закрыл всё в robots.txt. Исправил за пять минут, отправил на переобход, и сайт воскрес, как зомби на Хэллоуин. А я мысленно нацепил себе орден.
3. Serpstat — шпион с аналитикой
Serpstat (сервис для анализа конкурентов и поисковой выдачи) — мой подлый шпион, который тырит секреты конкурентов, пока я глушу кофе и планирую, как завалить их в топе. Это как вор, который лезет в чужой карман, пока я курю в сторонке.
Что делаю: Копаю топ выдачи, подглядываю тексты и ссылки конкурентов, чтобы понять, как эти гады вылезли наверх.
Фишка: Показывает упущенные запросы — это как найти в мусорке конкурентов не мелочь, а ящик с ключами, которые они выбросили, как идиоты.
Минус: Цена для фрилансера — как счёт за кофе в модной кофейне, но с парой проектов окупается.
Работал с сайтом доставки еды. Конкуренты были, как боссы в Dark Souls, но Serpstat показал, что они плюют на низкочастотники вроде «суши ночью с доставкой». Заточили пару страниц — и вот 200 переходов в сутки. Клиент доволен, а я ржал, как будто на*бал Яндекс в покер на раздевание.
4. Just-Magic и X-GPTWriter — мои спасители текстов
Писать SEO-тексты — это как пытаться угодить Яндексу, который смотрит на тебя, как тёща на зятя, готового в любой момент выкинуть твой текст в помойку. Just-Magic (сервис для создания SEO-структур текстов) и X-GPTWriter (софт для массовой генерации текстов с помощью ИИ) — мои кореша, которые штампуют контент, от которого поисковики млеют, а я не рву последние волосы проклиная клиентов. Это как пара вышибал, которые пиз*ец как тащат мои проекты в топ, пока я мечтаю о нормальном сне.
Что делаю: В Just-Magic закидываю ключ, получаю структуру статьи и LSI-слова, чтобы текст не словил фильтр за спам, а выглядел, как конфетка для Яндекса. X-GPTWriter юзаю, когда надо нах*р наклепать кучу текстов — от описаний для тысяч товаров до рерайта старых статей под новые ключи. Задаю промпты, подкручиваю настройки и запускаю генерацию. Куча охе*енных режимов и все работает как часики.
Фишка: Just-Magic выдаёт структуру и LSI-слова, от которых Яндекс пускает слюни. X-GPTWriter — это как армия копирайтеров, которые не трындят про переработки, а штампуют уникальный контент по топу (спасибо режиму "Копирайтинг статей на базе доноров"). Юзайте промокод SALE40 для X-GPTWriter для скидки. За вечер клепаю контента на полсайта, как будто взломал лень на максималках.
Писал как-то статью про «ремонт стиралок». Just-Magic подсказал закинуть «замена подшипника» и «диагностика барабана» — и статья влетела в топ-5 без ссылок, как ракета. С X-GPTWriter за ночь нагенерил 500 описаний для кофеварок для интернет-магазина. Клиент офигел, что это ИИ, пока я не сдал себя с потрохами. Ещё случай: надо было реанимировать дохлый блог турагентства. X-GPTWriter переписал 200 статей за выходные, даже не проверял на косяки потому что их там нет, сразу залив на сайт. Чувствовал себя, как маг, вызывающий контент из ада, но спать хотелось, как после трёхдневного запоя.
5. Яндекс.Метрика — правда в цифрах
Яндекс.Метрика (сервис аналитики для отслеживания поведения пользователей на сайте) — это как рентген, который вскрывает, где твой сайт сдох, а где ещё дышит. Показывает, где юзеры сваливают, где кликают, а где зевают так, что их скука пробивает экран. Это мой компас в SEO-го*нище, пока я отбиваюсь от дедлайнов и клиентов, которые хотят топ за три копейки.
Что проверяю: Отказы, глубину просмотра, тепловые карты, чтобы понять, где сайт теряет юзеров, как девственность на выпускном.
Фишка: Настройка целей — это как подглядеть в замочную скважину, кто реально жмёт «купить», а кто просто тусит, как гость на халявной вечеринке.
Минус: Интерфейс — как лабиринт из кошмара, но пару раз пробежишь — и уже шаришь, как в родной подворотне.
Однажды заметил, что юзеры сваливают с сайта интернет-магазина, как крысы с тонущей шхуны. Тепловая карта в Метрике показала, что кнопка «Оформить» на мобилках была невидимкой, как привидение в полдень. Пнул разрабов, они починили, и конверсия вскочила на 15%. Спас проект, как чёртов герой, и мысленно вручил себе орден за то, что не дал сайту сгнить в выдаче.
6. WordPress — мой фундамент для сайтов
WordPress (CMS для создания и управления сайтами) — мой бетонный фундамент, который держит сайты, лендинги и блоги, пока я дерусь с Яндексом за топ, как с пьяным громилой в баре. Это швейцарский нож, который собирает что угодно, не заставляя меня рвать ж*пу на британский флаг.
Что делаю: Леплю сайты, блоги или лендинги, используя плагины вроде Yoast SEO для оптимизации и Elementor, чтобы всё выглядело не как го*носайт из 2000-х.
Фишка: Тонна плагинов и тем позволяет слепить сайт под любую хрень — от блога до магазина, как будто я чёртов архитектор цифровых трущоб.
Минус: Надо следить за обновлениями плагинов, чтобы сайт не словил баг, но настроишь — и он летает.
Клиент как-то потребовал лендинг для акции за три дня. WordPress выручил: собрал страницу с Elementor, закинул ключи из Key Collector, настроил Yoast — и через неделю страница влетела в топ-10 по «акция на окна Москва». Это как оживить Франкенштейна, только вместо молний — плагины, а вместо монстра — сайт, который качает трафик и заставляет клиента перестать орать.
7. Rush Analytics — для массового анализа
Rush Analytics (сервис для автоматизации SEO-анализа) — мой циничный подельник, который пашет на проверке позиций и шпионаже за конкурентами, пока я глушу кофе и мечтаю, чтобы клиенты заткнулись. Это как нанять шныря, который роется в помойке данных, чтобы я мог вмазать по топу точнее, чем пьяный боксёр по груше.
Что делаю: Отслеживаю позиции сайта по сотням ключей и копаюсь в грязных делишках конкурентов, чтобы понять, где они обос*ались.
Фишка: Автоотчёты падают на почту, как повестки, только вместо проблем там данные, которые спасают мою ж*пу от клиентских воплей.
Минус: Настройка отчётов — как возня с бабкиным телевизором, но раз настроишь — и оно работает, как борщ на похмелье.
Для блога про путешествия я заюзал Rush Analytics, чтобы выследить 500 ключей. Нашёл пару запросов, типа «дешёвые туры в Крым», которые конкуренты про*бали. Заточил статьи — и трафик влетел на 20%. Это как найти в мусорке не мелочь, а чёртов билет в топ, который качает клики.
8. Screaming Frog SEO Spider — мой аудитор технички
Screaming Frog SEO Spider (инструмент для технического аудита сайтов) — мой патологоанатом, который вскрывает сайты и находит, от чего они сдохли, пока я не свихнулся от клиентских звонков, как от коллекторов в 90-х. Это как доктор, который режет сайт без наркоза, чтобы Яндекс не зарыл его в выдаче.
Что делаю: Проверяю битые ссылки, дубли мета-тегов, косяки в коде и скорость загрузки, чтобы сайт не выглядел, как цифровая свалка.
Фишка: Даёт отчёт с рекомендациями, как поднять сайт из могилы, чтобы он сиял, как новенький в 2025-м.
Минус: На больших сайтах ползает медленно, как зомби в жару, но с нормальным компом всё летает.
Клиентский сайт однажды тормозил, как дохлый осёл на обочине. Screaming Frog показал кучу 404-х и редиректов, которые путали Яндекс, как пьяницу в лабиринте. Починил — и сайт ожил, позиции попёрли. Это как вытащить сайт из гроба и заставить его отплясывать в топ-10 на костылях.
9. X-Parser — мой помощник для парсинга и аналитики
X-Parser (сервис для парсинга данных и анализа сайтов) — мой подлый хакер, который тырит данные с сайтов конкурентов, пока я пью кофе и планирую, как завалить их в выдаче. Это как вор, который лезет в чужие сайты и тащит всё, что плохо лежит, чтобы я мог выстрелить в топ.
Что делаю: Собираю и выгружаю статьи конкурентов, копаюсь в сайтах конкурентов, проверяю структуру страниц, чтобы всё было чётко.
Фишка: Автоматизация парсинга экономит время, которое я лучше потрачу на кофе или хотя бы на попытку поспать.
Минус: Настройка парсинга — как разборка с пьяным кодером, нужно быть точным, чтобы не утонуть в море ненужной х*рни.
Для сайта услуг я заюзал X-Parser, чтобы стырить данные о ключах конкурентов. Нашёл запросы вроде «срочный ремонт техники Москва», которые они про*бали. Заточил страницы — и трафик подскочил на 15%. Это как найти в интернете чужой кошелёк с ключами и нагло забрать только то, что качает позиции.
10. SMMbox — мой автомат для соцсетей
SMMbox (сервис для автопостинга и аналитики в соцсетях) — мой ассистент, который пашет в ВКонтакте и Telegram, пока я отбиваюсь от Яндекса и клиентов. Это как нанять дохляка, который не спит, не жрёт и постит контент, пока я глушу энергетики.
Что делаю: Планирую посты с анонсами статей, акциями или новостями, настраиваю автопостинг, чтобы не тратить жизнь на рутину. Также есть массовый постинг - просто имба.
Фишка: Можно закинуть посты на месяц вперёд и забыть, как про долг по кредитке.
Минус: Настройки иногда надо перепроверять, чтобы посты не улетели в пустоту, как мои нервы в дедлайн.
Для блога про путешествия я настроил в SMMbox посты с анонсами статей. Трафик из соцсетей подскочил на 15%, а я сэкономил время, как будто нанял клона, который пашет, пока я сплю.
Как я работаю с клиентами и не схожу с ума
Клиенты — это как ходячие бомбы, которые в любой момент могут взорваться идиотскими хотелками. Один как-то выдал: «Хочу быть первым по "купить диван" за две недели». Я чуть кофе через нос не выплюнул. Пришлось малевать графики в Метрике, тыкать носом в рост кликов по низкочастотникам и объяснять, что Яндекс не ш*юха, которая за два дня всё сделает. Теперь я держу отчёты из Метрики под рукой, как гранату, чтобы показать, как юзеры дольше тусуются на сайте или чаще жмут «Заказать». Это как козырь в рукаве, когда клиент начинает биться в истерике, как капризный ребёнок. Ещё случай: один требовал «всё и сразу», но я сунул ему под нос Serpstat, где видно, как конкуренты полгода пыхтят ради топа. Он заткнулся, а я мысленно налил себе вискаря. Научился говорить «это займёт время» так, чтобы меня не выгнали к чёрту. Спойлер: кофе и фальшивая улыбка — мои лучшие адвокаты.
Мой лайфхак: как ускорить индексацию и не бесить Яндекс
Яндекс — как капризная тёща: любит, когда всё по её правилам, но иногда ленится индексировать страницы, как будто у него месячные. Однажды я три недели ждал, пока статья появится в выдаче, и чуть не свихнулся, как от звонков коллекторов. Теперь у меня пара трюков. В Вебмастере проверяю sitemap.xml — это как карта сокровищ для поисковика, без которой он слеп, как крот. Если страница важная, пинаю её на переобход прямо в Вебмастере — обычно через пару дней она уже в индексе. Ещё лайфхак: реанимирую старые статьи, закидывая свежие ключи из Serpstat, и снова пинаю Яндекс на переобход. Так поднял статью про «ремонт кондиционеров» с 15-й позиции на 3-ю, просто добавив пару абзацев и ткнув Яндекс носом. Главное — не спамить, а то он обидится и зароет твой сайт, как собака кость.
Мои косяки: смешно, но больно
SEO — это как собирать кубик Рубика в темноте, с завязанными глазами и бомбой на таймере. Вот мои главные фейлы, над которыми я теперь ржу, как над чёрной комедией, но тогда хотелось выть:
Переспам ключей: Напихал ключей в текст, как будто это торт с кремом, который жрёт вся свадьба. Сайт словил «Баден-Баден» от Яндекса, и я месяц выгребал это го*но.
Игнор технички: Думал, контент — царь, а остальное — фигня. А потом дубли страниц и тормоза загрузки уронили сайт в ж*пу выдачи. Теперь Screaming Frog SEO Spider — мой первый пункт, чтобы выкопать эти цифровые трупы.
Слепая вера в Key Collector: Упустил региональные ключи, потому что поверил в программу, как в дешёвую гадалку.
Погоня за ссылками: Клиент орал: «Покупай ссылки, и всё попрёт!» Я, идиот, повёлся, накупил х*рни на бирже, где сайты были уровня «скачать реферат бесплатно». Сайт словил «Минусинск», и я две недели умолял поддержку Яндекса, как побитый пёс. Теперь проверяю ссылки как маньяк, выслеживающий жертву в тёмной подворотне.
Косяк с WordPress: Забыл обновить плагины, и сайт словил баг — половина страниц на мобилках не грузилась. В Метрике юзеры сваливали, как крысы с тонущей баржи. Обновил плагины, почистил кэш — трафик вернулся, но нервы я себе измочалил, как старый канат.
Каждый косяк — как анекдот для пивной тусовки, но в моменте это был стресс, кофе и мольбы к Яндексу, чтобы он сжалился над моей душой.
Что я понял, пока не поседел
SEO — это не про быстрые бабки, а про долгий, нудный забег, как варить борщ на медленном огне, пока тёща орёт, что ты всё делаешь не так. Месяц собираешь семантику, два пишешь тексты (на самом деле я утрирую конечно, тексты пишутся на автомате за день), а потом полгода ждёшь, пока Яндекс соизволит пустить тебя в топ. Но когда сайт обходит конкурентов, это как вмазать гол на последней минуте в пустые ворота — оргазм для сеошника.
Русскоязычные сервисы и не только они — мои кореша по несчастью: Key Collector, Serpstat, Just-Magic, X-GPTWriter, Вебмастер, Метрика, WordPress, Rush Analytics, X-Parser, Screaming Frog SEO Spider, SMMbox. Они не идеальны, как тёлка с фотошопом, но если знать, как их юзать, они тащат. Главное — не искать волшебную таблетку и не верить в бред про «в топ за неделю». SEO научило меня терпению, копаться в данных, как бомж в мусорке, и не сс*ть, когда всё летит к чертям. X-GPTWriter спасает, когда надо наклепать тексты быстрее, чем я успеваю выгореть. Screaming Frog выкапывает технические косяки, пока сайт не сдох. SMMbox гонит трафик из соцсетей, как подпольный бармен наливает шоты. Но мозги — главный инструмент, без них всё это — просто куча кода. Я до сих пор кайфую от этого цирка, где каждый проект — как игра в русскую рулетку. Иногда думаю: «А не пойти ли в бариста, пока нервы целы?» Но потом вижу, как сайт клиента вылезает в топ, и понимаю, что эта движуха — моё. И даже бессонные ночи с кофе и Метрикой — это часть приключения, которое я бы не променял.
Как уязвимости CVE-2025-29774 и баг SIGHASH_SINGLE угрожают мультиподписным кошелькам сети Биткоин с поддельными RawTX: [Часть №1]
В этой статье мы рассмотрим криптографическую атаку подделки цифровой подписи (Digital Signature Forgery Attack), её последствия представляет собой угрозу для безопасности транзакций в сети Биткоин, поскольку цифровые подписи подтверждают право собственности и авторизацию переводов криптовалюты. Рассмотрим на примерах влияние таких атак на Биткоин на основе современных исследований и выявленных уязвимостей.
Криптографическая атака подделки подписи (Digital Signature Forgery Attack) заключается в попытке злоумышленника создать фальшивую цифровую подпись ECDSA, которая будет признана сетью Биткоин действительной. Такая атака позволяет авторизовать транзакции без знания приватного ключа владельца, что ставит под угрозу безопасность денежных средств в криптокошельке держателя монет BTC.
В криптографии цифровая подпись обеспечивает подтверждение подлинности сообщения или транзакции. Подделка подписи означает возможность создания пары «RawTX», которая будет принята системой как валидная, хотя на самом деле она не была создана владельцем приватного ключа. Это открывает путь для мошенничества, кражи средств и нарушения целостности блокчейна. Криптографическая атака подделки цифровой подписи (Digital Signature Forgery Attack) как уязвимости реализованы в программных компонентах, использующих библиотеку xml-crypto для проверки подписей XML-документов на платформе Node.js.
В первую очередь это касается корпоративных интеграционных решений, облачных сервисов и систем единого входа, таких как IBM App Connect Enterprise Certified Container и другие приложения, зависящие от xml-crypto для SAML-аутентификации и авторизации. Аппаратно уязвимости не связаны с конкретными физическими устройствами, а реализуются в программных продуктах, использующих уязвимую библиотеку.
Уязвимости CVE-2025-29774 и CVE-2025-29775, известные как криптографическая атака Digital Signature Forgery Attack, реализованы в программной библиотеке xml-crypto — это библиотека для цифровой подписи и шифрования XML-документов на платформе Node.js
IBM App Connect Enterprise Certified Container — программное обеспечение для интеграции и обработки данных, использующее xml-crypto для проверки подписей XML-документов. Уязвимости позволяют обходить проверку цифровой подписи, что приводит к возможности подделки и модификации подписанных сообщений, включая SAML-ответы для аутентификации и авторизации.
Системы и приложения, использующие Node.js с библиотекой xml-crypto для проверки подписанных XML-сообщений, особенно в контексте SAML-аутентификации (например, корпоративные порталы, системы единого входа, облачные сервисы). Уязвимость позволяет злоумышленнику модифицировать валидные подписанные XML-сообщения так, что они проходят проверку подписи, что ведет к обходу механизмов аутентификации и авторизации, эскалации привилегий и подделке учетных данных.
Уязвимости связаны с неправильной проверкой криптографической подписи в xml-crypto, в частности с обработкой узла DigestValue, куда злоумышленник может вставлять XML-комментарии, не нарушая при этом проверку подписи.
Это позволяет изменять критические атрибуты идентификации и контроля доступа в подписанных XML-документах, что приводит к возможности обхода безопасности без необходимости иметь учетные данные или права доступа.
Таким образом, этот код реализует криптографические алгоритмы подписи и проверки подписи для различных схем (RSA с разными SHA-хешами и HMAC-SHA1), что позволяет интегрировать их в системы, требующие цифровой подписи данных.
Критическая уязвимость в коде signature-algorithms.ts
Код signature-algorithms.ts служит для безопасного создания и проверки цифровых подписей, обеспечивая аутентичность и целостность данных. ECDSA подписи обеспечивают подтверждение авторства с помощью приватного ключа, а HMAC — проверку целостности и аутентичности с использованием секретного ключа. Используемые алгоритмы соответствуют стандартам XML Digital Signature (URI алгоритмов указывают на спецификации W3C).
Таким образом, код signature-algorithms.ts реализует криптографические алгоритмы подписи и проверки подписи для различных схем (ECDSA, RSA с разными SHA-хешами и HMAC-SHA1), что позволяет интегрировать их в системы, требующие цифровой подписи данных.
Основная функциональность
Каждый класс реализует интерфейс SignatureAlgorithm и предоставляет методы для:
Создания подписи (getSignature): принимает данные для подписи и приватный ключ, возвращает цифровую подпись в формате base64.
Проверки подписи (verifySignature): принимает исходные данные, публичный ключ и подпись, возвращает булево значение — корректна ли подпись.
Получения имени алгоритма (getAlgorithmName): возвращает URI, идентифицирующий используемый алгоритм подписи.
Поддерживаемые алгоритмы
RsaSha1 — подпись с использованием RSA и хеш-функции SHA-1.
RsaSha256 — подпись с использованием RSA и SHA-256.
RsaSha512 — подпись с использованием RSA и SHA-512.
HmacSha1 — подпись с использованием HMAC на базе SHA-1.
Технические детали
Для RSA-подписей используется класс crypto.createSign и crypto.createVerify с соответствующими алгоритмами («RSA-SHA1», «RSA-SHA256», «RSA-SHA512»).
Для HMAC-подписей используется crypto.createHmac с алгоритмом «SHA1».
Подписи кодируются в base64 для удобства передачи и хранения.
Методы обернуты в функцию createOptionalCallbackFunction, что, вероятно, позволяет использовать их как с колбэками, так и с промисами (подробности не в коде).
Использование алгоритма RSA-SHA1 в криптографических подписях содержит уязвимость, связанную с коллизиями хешей SHA-1. Это позволяет злоумышленнику создавать два разных сообщения с одинаковой подписью, если он контролирует часть подписываемых данных.
Конкретно проблема находится в классе RsaSha1:
const signer = crypto.createSign("RSA-SHA1"); // Уязвимая строка
Также вторая уязвимость находится в классе RsaSha1:
const verifier = crypto.createVerify("RSA-SHA1"); // Уязвимая строка
Почему данная критическая атака на коллизии позволяют создавать разные данные с одинаковым хешем?
Коллизии SHA-1: Алгоритм SHA-1 больше не считается безопасным.
Контекст RSA: В сочетании с RSA это может привести к подделке подписей для непроверенных данных (например, сертификатов или документов).
Рекомендации: NIST и сообщество безопасности рекомендуют использовать SHA-256/SHA-512 вместо SHA-1.
Дополнительные замечания:
Класс HmacSha1 (HMAC-SHA1) менее уязвим, но тоже устарел. HMAC более устойчив к коллизиям, чем «голый» SHA-1, но переход на SHA-256 предпочтителен.
В коде есть современные реализации (RsaSha256/RsaSha512), которые следует использовать вместо RsaSha1.
CVE-2025-29774 и CVE-2025-29775 — это критические уязвимости в библиотеке xml-crypto для Node.js, связанные с некорректной проверкой цифровых подписей в XML-документах. Обе уязвимости позволяют злоумышленнику модифицировать подписанные XML-сообщения так, чтобы изменения оставались незамеченными при проверке подписи.
Механизм Digital Signature Forgery Attack
1. Уязвимости в алгоритмах RSA-SHA1
В предоставленном коде классы RsaSha1 используют устаревший алгоритм RSA-SHA1 для подписи и верификации:
const signer = crypto.createSign("RSA-SHA1"); // Уязвимая строка №7
const verifier = crypto.createVerify("RSA-SHA1"); // Уязвимая строка №17
SHA1 считается криптографически ненадежным, основная проблема заключается в логике обработки XML-структур библиотекой:
При создании подписи XML-документ проходит этап каноникализации (приведение к стандартной форме, например, удаление пробелов и комментариев).
При верификации подписи библиотека не учитывает различия между каноникализованными и неканоникализованными версиями документа . Это позволяет злоумышленнику модифицировать документ (например, добавить комментарии или изменить структуру), не нарушая подпись.
2. Пример эксплуатации
Модификация SignedInfo:
Атакующий добавляет в XML-документ дополнительные узлы <SignedInfo>, что приводит к неверному вычислению хеша при верификации.
xml<Signature> <SignedInfo>...</SignedInfo> <!-- Оригинальный узел --> <SignedInfo>...</SignedInfo> <!-- Добавленный злоумышленником --> </Signature>
Использование слабого алгоритма:
Алгоритм SHA1 уязвим к коллизиям, что упрощает создание поддельных подписей для модифицированных документов .
3. Последствия
Обход аутентификации: Изменение атрибутов в SAML-токенах или других XML-документах, связанных с доступом .
Эскалация привилегий: Подмена идентификатора пользователя на администратора в системе авторизации .
Массовые атаки: Уязвимость может эксплуатироваться удаленно без взаимодействия с пользователем (CVSS 9.3).
Технические детали уязвимостей:
CVE-2025-29774
Проблема: Недостаточная проверка структуры XML-документа при верификации подписи.
Эксплуатация: Добавление лишних узлов или атрибутов в подписанную часть документа.
CVE-2025-29775
Проблема: Некорректное использование контекста каноникализации при вычислении хеша.
Эксплуатация: Модификация документа в неканоникализованной форме после подписания.
Рекомендации по устранению
Обновление библиотеки:
Для версий 2.x → 2.1.6, 3.x → 3.2.1, 6.x → 6.0.1.
Замена алгоритмов: typescript// Использование SHA-256 вместо SHA-1 const signer = crypto.createSign("RSA-SHA256");
Валидация структуры XML:
Проверка наличия ровно одного узла <SignedInfo> в подписи.
Устранение этих уязвимостей критически важно для систем, использующих XML-подписи в аутентификации (например, SAML, SOAP).
Библиотека xml-crypto, широко используется для проверки цифровых подписей в XML-сообщениях, включая такие протоколы как SAML, SOAP и другие. Из этого следует, что уязвимость потенциально затрагивает:
Программное обеспечение и сервисы, использующие xml-crypto для XML-подписей, в том числе корпоративные интеграционные платформы и middleware (например, IBM App Connect Enterprise, где зафиксированы эти уязвимости).
Устройства и системы, которые применяют XML-подписи для аутентификации и авторизации, включая серверы и шлюзы, поддерживающие SAML.
Уязвимости CVE-2025-29774 и CVE-2025-29775 в первую очередь касаются программных компонентов и платформ, использующих библиотеку xml-crypto для обработки XML-подписей.
Среди известных пострадавших — IBM App Connect Enterprise и, вероятно, другие корпоративные решения на базе Node.js с использованием xml-crypto.
На данный момент нет публичных данных о конкретных брендах аппаратных устройств, подверженных этим атакам.
Для оценки риска на конкретных устройствах рекомендуется проверить, используют ли они уязвимые версии xml-crypto или зависят от аналогичных механизмов XML-подписей. Для работы с криптовалютными кошельками на базе Node.js IBM предлагает отдельные решения, например, IBM Secure Bitcoin Wallet — приложение, основанное на Electrum Bitcoin Client, которое использует Node.js для взаимодействия с сетью Биткоина и управления кошельком.
В этом решении приватные ключи и кошелек могут храниться и шифроваться с помощью IBM Cloud Hyper Protect Crypto Services (zHSM), обеспечивающего аппаратное безопасное хранение ключей. Генерация приватных ключей для Bitcoin-кошельков обычно реализуется в специализированных криптографических библиотеках, таких как Electrum, bitcoinjs-lib и т.п., которые могут быть интегрированы в Node.js-приложения. IBM Secure Bitcoin Wallet использует модифицированный Electrum backend на Node.js для управления ключами и транзакциями, за счет интеграции с IBM Cloud Hyper Protect Crypto Services, предоставляющим аппаратное шифрование и безопасное хранение приватных ключей.
Практическая часть
Из теории уязвимость CVE-2025-29775 известно, что злоумышленник может обработать не обновленую библиотеку xml-crypto для некорректных значении транзакции. Перейдем к практической части статьи и рассмотрим пример с использованием Биткоин кошелька: 32GkPB9XjMAELR4Q2Hr31Jdz2tntY18zCe , где были потерянный монеты на сумму: 0.059672 BTC на июль 2025 года эта сумма составляет: 7,052 USD
Рассмотрим формат: Raw transaction бинарные и hex-данные, которые содержат всю информацию о транзакции. Она нужна для передачи, проверки или создания операций на низком уровне и представляет собой основу работы всей Биткоин-сети. Обычные пользователи редко сталкиваются с Raw transaction напрямую, но для разработчиков и крипто-энтузиастов это главный инструмент для полного контроля над всеми транзакциями Биткоин-сети.
Для полного возвращение объектов UTXO в сети Биткоин воспользуемся инструментом Dark AI. UTXO является основной частью структуры данных в цепочке блокчейна и отражает количество монет BTC криптовалюты, которое может быть потрачено держателем приватного ключа (контролирующим данный Биткоин адрес). Каждый UTXO — это выход конкретной прошлой транзакции, который еще ни разу не был использован в качестве входа в последующих транзакциях.
Google Colab
1. Загрузка и установка инструмента Dark AI
Подробное описание всех команд и действий терминала
Команды:
wget — утилита командной строки для загрузки файлов из сети по протоколам HTTP, HTTPS и FTP.
Загружаем neuralnet_tools.zip архив с указаннием URL.
unzip — команда для извлечения ZIP-архивов в текущем каталоге.
Эта команда извлекает все файлы из neuralnet_tools.zip
!unzip neuralnet_tools.zip
Запустим команду ls для быстрого и удобного просмотра
ls
2. Запуск инструмента Dark AI
!./darkai
Выполним команду, чтобы получить информацию о так называемых непотраченных выходах транзакций (UTXO, расшифровка: Unspent Transaction Output) для указанного биткоин-адреса. Эта информация важна для оценки баланса адреса и возможности проведения новых транзакций.
!./darkai -bitcoinaddress 32GkPB9XjMAELR4Q2Hr31Jdz2tntY18zCe
В результате были возвращены два объекта UTXO:
[
{'output': '8602122a7044b8795b5829b6b48fb1960a124f42ab1c003e769bbaad31cb2afd:0', 'value': 677200},
{'output': 'bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786:0', 'value': 5000000}
]
Каждый UTXO содержит:
output — идентификатор выхода. Формат: <txid>:<n>, где <txid> — уникальный хэш транзакции, а <n> — номер выхода в списке выходов данной транзакции.
value — сумма в сатоши (1 биткоин = 100 000 000 сатоши).
Расшифровка данных:
Первый UTXO
Выход: 8602122a7044b8795b5829b6b48fb1960a124f42ab1c003e769bbaad31cb2afd:0
Сумма: 677 200 сатоши
Второй UTXO
Выход: bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786:0
Сумма: 5 000 000 сатоши
Общий баланс
Суммарный доступный баланс адреса равен сумме всех найденных UTXO:
677 200 + 5 000 000 = 5 677 200 сатоши
В пересчёте на биткоины: 5 677 200/100 000 000 = 0.05677200 BTC
Техническая интерпретация с помощью Dark AI
Воспользуемся процессом интерпретации, чтобы обработать не обновленую библиотеку xml-crypto для создание некорректных значении транзакции и отправим крупную сумму, алгоритм Dark AI сам выберет, какой UTXO использовать (или объединит оба).
Отправка средств: Все указанные UTXO могут быть использованы в качестве входов при формировании новой транзакции, что позволит потратить весь баланс или его часть.
Прозрачность: Такой отчёт подтверждает наличие реальных биткоин-средств на адресе и может быть использован для проверки подлинности и платежеспособности.
На биткоин-адресе 32GkPB9XjMAELR4Q2Hr31Jdz2tntY18zCe имеется два активных UTXO на общую сумму 0.05677200 BTC. Эти средства можно использовать для совершения новых транзакций; оба выхода считаются подтверждёнными и не потраченными.
Десериализация Биткоин транзакции
Чтобы получить фрагменты информации о выходе (output) Биткоин транзакции применим следующие команды, где первый выход (outs) из транзакции с уникальным идентификатором 8602122a7044b8795b5829b6b48fb1960a124f42ab1c003e769bbaad31cb2afd
!./darkai -deserialize 8602122a7044b8795b5829b6b48fb1960a124f42ab1c003e769bbaad31cb2afd
Получаем структуру ответа результата десериализации:
{'value': 677200, 'script': 'a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287'}
value: 677200 — сумма данного выхода выражена в сатоши (1 BTC = 100 000 000 сатоши).
script: a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287 — скрипт, определяющий условия траты данного выхода.
Подробное объяснение элементов: Поле value
Значение: 677 200 сатоши.
Данную сумму можно будет потратить при создании соответствующей транзакции, если будут выполнены условия скрипта.
Эквивалент: 677 200/100 000 000 = 0.00677200 BTC.
Подробное объяснение элементов: Поле script
Значение скрипта: a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287
Это скрипт типа «scriptPubKey» — часть выходной структуры транзакции, задающая, кто может потратить эти средства. Важнейшее предназначение — обеспечение безопасности и контроля над распоряжением средствами.
Декодирование скрипта
Скрипт начинается с префикса a914...87, что соответствует формату P2SH (Pay to Script Hash):
a9 — OP_HASH160 (оператор хеширования)
14 — длина следующего значения (20 байт = 40 символов hex)
06612b7cb2027e80ec340f9e02ffe4a9a59ba762 — сам hash160 Биткоин Адреса кошелька, где хранятся монеты BTC.
87 — OP_EQUAL (базовый оператор команды Bitcoin Script, реализуюет сравнение двух данных для проверки их идентичности)
Это означает, что средства получатель может потратить, если предоставит скрипт, хеш которого соответствует приведённому значению, и предъявит валидные подписи для этого скрипта.
Практическая значимость результата
Данный вывод указанной транзакции содержит 677 200 сатоши (0.00677200 BTC), которые защищены скриптом типа P2SH.
Для расходования средств с такого выхода понадобится знать оригинальный скрипт и предъявить корректные подписи — типичная ситуация для кошельков с мультиподписями, смарт-контрактов и других продвинутых схем безопасности.
Эта информация важна для анализа структуры транзакции, проверки назначения средств и понимания требований для их последующего использования.
Десериализации транзакции по идентификатору
В результате десериализации транзакции по идентификатору 8602122a7044b8795b5829b6b48fb1960a124f42ab1c003e769bbaad31cb2afd был получен первый выход, содержащий сумму 677 200 сатоши (0.00677200 BTC), защищённый P2SH-скриптом. Для распоряжения этими средствами потребуется представить скрипт назначения и корректно подписать разблокирующую транзакцию, соответствующую условиям указанного хэша.
Десериализация второй Биткоин транзакции
Чтобы получить фрагменты информации о выходе исходных данных (output) Биткоин транзакции применим следующие команды, где первый выход (outs) из транзакции с уникальным идентификатором bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786
!./darkai -deserialize bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786
Воспользуемся процессом интерпретации, с помощью Dark AI при помощи функции десериализации, далее мы получаем информацию о структуре первого выходного элемента (output) для второй транзакции с идентификатором
bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786.
Результат:
{'value': 5000000, 'script': 'a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287'}
1. Подробное объяснение элементов: Поле value
Содержимое: 5000000
Это значение указывается в сатоши (satoshi) — минимальной неделимой единице биткоина; 1 BTC = 100,000,000 сатоши.
Назначение:
Эта сумма ассоциирована с конкретным выходом транзакции, указанным в элементах массива 'outs'. Ее можно потратить, только если будут выполнены условия, записанные в скрипте, определённом в поле 'script'.Перевод в биткоины: 5 000 000 сатоши = 0.05 BTC
2. Подробное объяснение элементов: Поле script
Содержимое: 'a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287'
Это так называемый locking script или, иначе, scriptPubKey — скрипт, который указывает условия, при которых данный выход может быть потрачен.
Декодирование скрипта
Указанное значение соответствует стандартному типу скрипта в сети биткоин:
a9 — код операции OP_HASH160 (производит RIPEMD-160 от SHA-256 от следующей строки).
14 — длина последующего поля: 20 байт (40 шестнадцатеричных символов).
06612b7cb2027e80ec340f9e02ffe4a9a59ba762 — это непосредственно 20-байтовый хэш, который идентифицирует либо адрес биткоин-кошелька, либо скрипт.
87 — код операции OP_EQUAL.
В совокупности такая запись означает P2SH-адрес (Pay-to-Script-Hash, «оплата по хэшу скрипта»). В этом случае средства закрепляются за некой скрипт-комбинацией, а для их изъятия нужно будет раскрыть скрипт, хэш которого здесь зафиксирован, и предъявить подписи (или иные данные), удовлетворяющие условиям этого скрипта.
Наиболее часто подобная схема используется для мультиподписей, простых и сложных смарт-контрактов, двусторонних мультиподписей, схем безопасности с условиями и другими продвинутыми сценариями.
3. Практический смысл результата, величина и назначение средств.
В указанной транзакции (с хэшем bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786) есть выход, в котором 0.05 BTC (5 000 000 сатоши) «заблокированы» на P2SH-адресе, соответствующем хэшу 06612b7cb2027e80ec340f9e02ffe4a9a59ba762
Условия расходования:
Чтобы потратить эти средства, необходимо при формировании расходующей транзакции предъявить не только стандартную подпись, как при прямом переводе, но и сам скрипт, хэш которого зашит в этом выходе, плюс данные (например, набор цифровых подписей), соответствующие условиям скрипта.Безопасность и гибкость:
Такой способ позволяет реализовывать более сложные логические схемы, чем прямое отправление на обычный Биткоин адрес.
4. Оформление выхода в уровень совместимости с различными сервисами и кошельками, поддерживающими P2SH.
Транзакция с идентификатором
bd992789fd8cff1a2e515ce2c3473f510df933e1f44b3da6a8737630b82d0786
содержит выход, в котором
0.05 BTC (5 000 000 сатоши)
закреплены на P2SH-скрипте (Pay-to-Script-Hash) с хэшем
06612b7cb2027e80ec340f9e02ffe4a9a59ba762.Для траты этих средств необходимо раскрыть исходный скрипт и выполнить его условия (например, предъявить все подписи в мультиподписи).
Таким образом, результат десериализации сообщает о наличии определённой суммы биткоинов на условном (P2SH) адресе и определяет строгие правила их расходования, что играет ключевую роль для управления и учёта средств в сети Bitcoin.
P2SH (Pay-to-Script-Hash) locking script в сети Биткоин. Что означает этот скрипт?
Скрипт 'a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287' выбран и использован в данном выходе транзакции, потому что он представляет собой типичный P2SH (Pay-to-Script-Hash) locking script в сети Биткоин.
Рассмотрим его по частям:
a9 — OP_HASH160: операция хеширования, которая применяет сначала SHA-256, а затем RIPEMD-160 к последующим данным.
14 — длина хеша — 20 байт (в 16-ричном формате).
06612b7cb2027e80ec340f9e02ffe4a9a59ba762 — 20-байтовый хеш скрипта, известный как script hash.
87 — OP_EQUAL: оператор, проверяющий равенство двух значений на стеке.
Таким образом, этот скрипт требует, чтобы в момент использования (тратты средств) был представлен скрипт, хеш которого совпадает с 06612b7cb2027e80ec340f9e02ffe4a9a59ba762, и чтобы выполнялись условия этого скрипта.
Почему выбран именно такой?
Удобство и безопасность: P2SH позволяет сложную логику управления средствами (например, мультиподписи или условные платежи) скрыть в виде хеша, упрощая интерфейс для отправителя и получателя.
Стандарт индустрии: P2SH стал общепринятым стандартом, так как он упрощает настройку сложных схем защиты и совместим с большинством кошельков и сервисов.
Компактность: В блоке хранится только хеш сложного скрипта, а не весь скрипт — это экономит место и повышает эффективность.
Гибкость: Владелец средств может создавать произвольные условия расходования — например, требовать несколько подписей, временные задержки или другие правила — и хеш этих условий хранится именно здесь.
Скрипт 'a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287' — это P2SH locking script, который говорит, что для тратты 0.05 BTC необходимо предоставить оригинальный скрипт с хешем 06612b7cb2027e80ec340f9e02ffe4a9a59ba762 и выполнить прописанные в нем условия. Это обеспечивает баланс между удобством, безопасностью и функциональностью — основную причину выбора именно такого скрипта в данной транзакции. Хэш 06612b7cb2027e80ec340f9e02ffe4a9a59ba762 в P2SH-скрипте — это результат конкретного хеширования исходного сценария (redeem script), который определяет условия траты средств с этого выхода.
Почему именно этот хэш, а не другой?
Хэш — цифровой отпечаток сценария, задающего правила траты.
При создании P2SH-адреса или выхода скрипт (условия расходования Bitcoin) сначала составляется в явном виде, затем применяются два алгоритма хеширования:SHA-256 от скрипта,
Затем RIPEMD-160 от результата SHA-256.
Итоговый 20-байтовый хэш и есть 06612b7cb2027e80ec340f9e02ffe4a9a59ba762. Этот хэш однозначно идентифицирует именно тот сценарий, для которого он был сгенерирован.
Уникальность и неизменность
Криптографические хеш-функции обладают свойством «лавинного эффекта», при котором даже минимальное изменение исходного скрипта даст совершенно другой хэш. Поэтому данный хэш уникален и неподдельен в контексте исходного скрипта.Цель использования хэша — обеспечение компактности и безопасности
Вместо хранения в каждом выходе полного сценария, который может быть сложным и занимать много места, в блоке хранится только его хэш. Это экономит место и повышает конфиденциальность — сам сценарий раскрывается только при трате средств и только тем, кто выполняет условия.Выбор хэша ― результат конкретного скрипта, определенного создателем адреса или кошелька
Разработчик или владелец средств создаёт скрипт с нужными условиями (например, мультиподпись, временная задержка, другие логические условия). Назначенный скрипт хешируется и именно этот хэш привязывается к выходу транзакции. Таким образом, нет произвольного выбора хэша — он определяется содержимым исходного скрипта и криптографическим алгоритмом.
Данный хэш строго связан с конкретным скриптом, который владелец адреса заложил для защиты своих средств.
Он был получен с помощью криптографических хеш-функций (SHA-256 + RIPEMD-160) от исходного redeem script, поэтому случайно или произвольно выбрать другой хэш нельзя.
Этот хэш — отражение уникальной комбинации условий траты, и именно поэтому именно он и оказался в скрипте выхода транзакции a91406612b7cb2027e80ec340f9e02ffe4a9a59ba76287
Таким образом, выбор именно этого хэша продиктован необходимостью точного и безопасного связывания выхода с конкретными условиями трат, которые контролируют доступ к средствам в блокчейне. Все это обеспечивается свойствами криптографических хеш-функций, их уникальностью, и невозможностью обратного восстановления исходных данных.
Механизма P2SH: значение, принцип работы и безопасность в сети Bitcoin
Разработчики Биткоин прописали в код механизм P2SH (Pay-to-Script-Hash) как ключевую инновацию, обеспечивающих безопасность и расширяющих возможности сети блокчейн. Рассмотрим структуру и принцип работы данного скрипта, его отличие от классических транзакций, а также причины выбора именно такого подхода для хранения и защиты цифровых активов.
Традиционно в Bitcoin транзакции работали по схеме Pay-to-Pubkey-Hash (P2PKH) — где «блокировка» средств происходит с помощью хеша публичного ключа адресата. Для расходования этих средств пользователь должен предоставить свою цифровую подпись и публичный ключ, которые проверяются сетью.
Однако за рамками P2PKH интерфейс был ограничен, так как в Bitcoin Script можно создавать гораздо более сложные условия траты — от мультиподписей до временных замков и других смарт-контрактных соглашений. Проблема состояла в том, что длинные и сложные скрипты неизбежно увеличивали размер транзакций и снижали их удобство.
Именно для упрощения взаимодействия с такими сложными сценариями в 2012 году была введена концепция P2SH, стандартизированная в BIP 16 Гэвином Андресеном. Суть P2SH сводится к замене в scriptPubKey полного скрипта условий траты на его криптографический хэш — так называемый script hash.
Данный материал создан для портала CRYPTO DEEP TECH для обеспечения финансовой безопасности данных и криптографии на эллиптических кривых secp256k1 против слабых подписей ECDSA в криптовалюте BITCOIN. Создатели программного обеспечения не несут ответственность за использование материалов.
Как я создал ИИ-бота-консультанта по мерчандайзингу — пошагово и без вложений
Если вы думаете, что создать полезного ИИ-бота — это сложно, дорого и только для гениев — хочу развеять этот миф на своём примере.
По заказу клиента я собрал Telegram-бота на базе ChatGPT, который помогает мерчандайзерам принимать решения по выкладке товара и планированию заказов. Сделал это сам, без глубоких знаний программирования и без бюджета — только время и желание автоматизировать рутину.
В статье расскажу подробно, как я шаг за шагом шел к результату — с какими сложностями сталкивался и что получилось в итоге.
Шаг 1. Погружение в задачу клиента (самый важный пункт)
Перед тем как что-то делать, я встретился с заказчиком, чтобы понять:
Какие рутинные вопросы задают менеджеры по продажам и выкладке?
Какие данные доступны? (Excel-таблицы, отчеты из CRM, 1С, Bitrix)
Какие решения по выкладке и заказам сейчас принимаются — и кто их принимает?
Какие критерии важны (например, минимальные остатки, сезонность, скорость продаж)?
Так я составил список конкретных запросов, на которые бот должен уметь отвечать.
Шаг 2. Подготовка данных и структурирование информации
Мне дали несколько Excel-файлов с продажами и остатками за последние месяцы, не скажу, что это были понятно сформированные данные, скорее всего просто файлы с инфой
Я:
Привёл данные к единому формату: убрал лишние колонки, исправил ошибки в названиях товаров
Разбил таблицы на логические части: продажи по категориям, остатки на складах, динамика по дням
Проверил качество данных — чтобы бот не работал с мусором и не генерировал неверные советы
Шаг 3. Формулирование промптов — главного «мозга» бота
Промпты — это инструкции для ChatGPT, которые задают логику и формат ответов.
Я написал несколько шаблонов (пришлось тестировать разные варианты, оставил только рабочие):
Анализ продаж и остатков:
«Проанализируй данные по остаткам и продажам, выдели товары с низкими остатками и высокими продажами, предложи рекомендации по заказу.»Рекомендации по выкладке:
«Исходя из данных по продажам за последний месяц, предложи оптимальное расположение товаров в магазине, чтобы увеличить продажи категории Х.»Ответы на часто задаваемые вопросы:
«Как повысить продажи сезонного товара? Какие акции лучше проводить для категории Y?»
Каждый промпт тестировал и корректировал раз за разом, чтобы бот отвечал понятно и полезно (не стал описывать поиск правил выкладки в интернете, у клиента свой мерчбук). Грамотные промты всегда публикую в своем канале «Ум + AI = Доход».
Шаг 4. Создание Telegram-бота
Я использовал Python и библиотеку aiogram — они хорошо подходят для работы с Telegram API.
Зарегистрировал бота у @botfather, получил токен, все как обычно
Настроил скрипт, который принимает сообщения от пользователей и пересылает их в OpenAI (ChatGPT)
Обрабатывал ответы и отправлял их обратно в чат с пользователем
Весь код разместил у себя локально и постепенно дополнял функционал.
Шаг 5. Интеграция данных с ботом
Для передачи данных из Excel в бота я написал скрипт на Python, который:
Загружал и форматировал таблицы с остатками и продажами
Генерировал сводки и передавал их в промпты, чтобы бот мог их учитывать при ответах
Таким образом, бот мог анализировать актуальные данные, а не отвечать абстрактно про какой то товар.
Шаг 6. Тестирование и улучшение
Вместе с менеджерами клиента я провёл несколько сессий тестирования (нудно, нервно, но за то эффективно):
Проверяли ответы бота на типовые вопросы
Корректировали промпты для более точных и полезных рекомендаций
Добавлял новые сценарии по мере появления новых задач
Готового бота с настройками передал заказчику в виде кода, так как сам бекендом не занимаюсь (не имею желания настраивать чужие сервера и уж тем более VPS)
Что получилось в итоге?
Бот стал отвечать на вопросы менеджеров по выкладке, остаткам и заказам в течение секунд
Автоматизировал рутинные запросы, сэкономив сотрудникам до 4 часов в день
Помог принимать более взвешенные решения на основе свежих данных
Освободил время для стратегической работы и повышения продаж
Что я вынес из этого опыта?
Не нужно быть программистом или ИТ-гением, чтобы создавать полезные ИИ-решения
Главное — понимать задачу и уметь формулировать правильные промпты
Автоматизировать стоит не всё сразу, а самые повторяющиеся и утомительные процессы
Важно работать с реальными данными, иначе ИИ просто выдаст общие фразы, а не помощь
В своём Telegram-канале «Ум + AI = Доход» я подробно рассказываю про такие кейсы, даю готовые промпты и пошаговые гайды для тех, кто хочет повторить мой опыт. Если хотите реально научиться использовать ИИ в работе и зарабатывать — присоединяйтесь. По запросу подписчиков делаю доп разборы и публикую гайды бесплатно!
Итог:
Создание ИИ-бота-консультанта для мерчендайзинга — это пример того, как простые технологии и немного желания могут улучшить бизнес-процессы и сэкономить время. Не бойтесь экспериментировать и внедрять ИИ — даже небольшие шаги делают большую разницу.
P.S. Сегодня самый простой способ начать — попробовать задать первый запрос ChatGPT, который упростит вашу работу. Удачи!
Как мобильные игры за 10 лет стали полумиллиардным рынком, а теперь — буксуют
Когда мы говорим о B2C-продуктах, масштабируемости и высокой марже — мобильные игры здесь как по учебнику. Ещё 15 лет назад они выглядели как примитивные поделки. Сегодня — это полноценная индустрия с оборотом в десятки миллиардов долларов.
🚀 Взлёт: от пивного бюджета до миллиардов
Мобильный гейминг взлетел не потому, что стал «круче», а потому что оказался на стыке нескольких трендов:
Взрывной рост смартфонов
Когда телефоны стали массовыми, спрос на развлечения в кармане резко вырос. И на старте предлагать было особо нечего — качали всё подряд.
Минимальный порог входа
Игры весили до 100 МБ, не требовали консоли или отдельного железа. Зашёл в App Store — и ты уже в игре.
Free-to-play модель
Играешь бесплатно, а потом тебя ловко подводят к донату. $1–2 за ускорение, $5 — за бонус, $10 — за редкий предмет. Модель оказалась настолько эффективной, что средний чек у активных игроков доходил до $100 в месяц. А у самых "преданных" — до $10k.
Постоянный контент и удержание
Каждый день — что-то новое: улучшения, события, скины, ивенты. А ещё push-уведомления, которые не давали забыть про игру ни на минуту.
Безумные выручки
Некоторые тайтлы зарабатывали десятки миллиардов:
Honor of Kings — $15 млрд
Clash of Clans — $10 млрд
Candy Crush Saga — $10 млрд
PUBG Mobile — $9 млрд
Pokémon GO — $8 млрд
📉 А теперь — стагнация
Начиная с 2021 года рост замедлился. И если в 2018–2021 гейминдустрия на мобилках росла в среднем на 13% в год, то за последние 3 года — всего на 1,7%.
Почему так вышло?
Переедание контентом
Пользователи устали. Игр стало слишком много. Люди стали меньше играть — и меньше платить.
Пандемийный пузырь лопнул
Во время COVID-локдаунов — скачивания взлетели, доходы выросли. Но после снятия ограничений начался откат.
Проблемы с трафиком
Привлечение пользователей подорожало в 2–3 раза, а конверсии и LTV упали. Маркетинг стал затратным, особенно после изменений конфиденциальности от Apple (App Tracking Transparency) — до 96% пользователей отказались от отслеживания.
Никто не хочет инвестировать в стагнацию
Новых команд не нанимают, новые проекты не запускают. Рост? Его больше никто не ждёт. Прогноз на 2025 год — всего 2%.
💰 Зато магазины в плюсе
Google и Apple продолжают стричь комиссию: 15–30% с каждой покупки. Это миллиарды долларов ежегодно. Они активно продвигают игры в сторах и даже выкупают телерекламу для крупных тайтлов.
🎮 Так за 10–15 лет мобильный гейминг из забавы «на сдачу» стал самой прибыльной вертикалью в индустрии. А теперь — взрослеет. Медленно. Без хайпа. Но всё ещё с гигантскими деньгами внутри.
Если вам зашло — я веду Telegram-канал, где делюсь своими экспериментами в запуске приложений и микро-SaaS-проектов. Ссылка в профиле.
Как я перестал бояться нейросетей и начал зарабатывать: чистый опыт без иллюзий
«Нейросети — это для гениев». «Уже всё занято». «Меня засмеют, что я работаю с ИИ».
С этими мыслями я жил долго, хотя на самом деле больше года работаю с нейросетями.
Вступление: страхи и сомнения
Когда я впервые попробовал нейросети, я был в восторге — как будто получил волшебную палочку для решения сложных задач. Но как только я задумался о том, чтобы на этом заработать — сразу нахлынул страх, ну или какое то другое стрёмное чувство.
Понимаете, что меня пугало?
Что меня кто-то «перехитрит» и я останусь ни с чем
Что я не смогу конкурировать с профессионалами
Что технология сложна и требует глубоких знаний
Что в принципе жил и делал все без ИИ, а тут вдруг решил пробовать
И это не какой-то мелкий страх, а очень реальный барьер. Ты смотришь на успешные кейсы в интернете — и думаешь: «А зачем мне вообще начинать, если все занято?»
Как я понял, что страх — это тормоз, а не реальность
Этот страх тормозил меня почти полгода. Пока я не начал менять свой подход. В общем мне пришлось это сделать!
Вместо того чтобы сразу пытаться «заработать на ИИ», я решил применить нейросети в своей повседневной работе, в рутинных задачах. Только для себя.
Я начал с простых запросов в ChatGPT, которые помогали мне быстро решать разные рутинные задачи:
систематизировать и структурировать информацию, которая раньше занимала часы;
создавать понятные черновики текстов и идей без лишних правок;
фильтровать и упрощать сложные данные и списки;
получать свежие идеи для проектов.
Поначалу ответы иногда были неидеальными, приходилось корректировать запросы и искать подходы и переделывать все заново. Но я не ставил себе цель сразу всё автоматизировать — для меня главное было сделать работу легче и быстрее.
Что изменилось после первых побед
Когда коллеги увидели, как я стал работать быстрее, начали спрашивать: «А как ты это сделал?»
И тут я понял: можно не просто «использовать ИИ для себя», а помочь другим — делиться наработками.
Я создал Telegram-канал, где выкладываю свои рабочие промпты, небольшие гайды, примеры кода и своих историй "Ум + AI = Доход"
И знаешь, что? Подписчики появляются не потому, что я «продаю» ИИ, а потому что даю реальные инструменты и примеры без воды. Да и в принципе я ничего не продаю, ни курсы, ни кейсы, ни уроки, я выкладываю все бесплатно!
Вот конкретные примеры, что мы с подписчиками разбираем в моем канале
Делюсь только тем, что реально работает:
1. Промпт для быстрой генерации идей и структурирования работы:
«Помоги систематизировать мои мысли по теме [вставь тему], выдели ключевые моменты и составь понятный план действий.»
Такой запрос помогает быстро упорядочить разрозненные мысли и получить чёткий план — экономит кучу времени и убирает хаос в голове.
2. Промпт для очистки списка и удаления дублей:
«Вот список из 200 идей, помоги отфильтровать повторы и сгруппировать по темам, оставь только уникальные и самые интересные.»
Позволяет не тонуть в хаосе информации и фокусироваться на главном.
3. Автоматизация ответов на частые вопросы подписчиков:
«Напиши емкий и понятный ответ на вопрос «Как начать использовать нейросети без навыков программирования?»»
Использую в канале, чтобы быстро отвечать и поддерживать аудиторию.
4. Кейсы из канала:
Как я с помощью GPT создал простого Telegram-бота для подработки, не вкладывая денег и знаний — с пошаговым кодом и инструкциями.
Разбор лучших нейросетевых инструментов для визуала и видео, которые реально работают, а не просто хайп.
Гайды по составлению промптов для разного рода задач — от аналитики до контент-маркетинга.
Почему боятся зарабатывать на нейросетях — и что с этим делать
Главная причина — страх потерять контроль и не понять, что делает ИИ.
Но на самом деле:
ИИ — это инструмент, а не магия
Заработок приходит, когда ИИ встроен в привычные процессы, а не просто взял такой и начал продавать то что генерирует ИИ
Не нужно сразу автоматизировать всё — начни с малого
Ошибки и пробелы — это часть обучения, а не провал, надо пробовать - ошибаться и пробовать снова
Если боишься, просто попробуй автоматизировать одну маленькую рутинную задачу. Например, сортировку списка своих идей.
Совет: не бойся делать «плохо» — делай!
Никто не становится экспертом в один день. Пиши простые промпты, учись на ошибках, улучшай их. Я тоже так начинал.
Очень помогает вести дневник — записывать, что получилось, что нет, и что можно улучшить.
В моём Telegram-канале я подробно разбираю, как сформулировать запросы, чтобы GPT быстро и качественно работал на тебя.
Там есть готовые шаблоны и примеры, которые я тестировал лично.
Если интересно, как превратить нейросети из страшного монстра в инструмент заработка — присоединяйся: 👉 "Ум + AI = Доход"
В итоге:
Страхи — нормальны, но они не должны останавливать
Начинай с автоматизации своих задач
Делись результатами и учись у других
Настоящий заработок — это умение использовать ИИ в повседневной работе
Просто знай на твои навыки обязательно найдется покупатель
P.S. Не откладывай. Начни сегодня с простого запроса в GPT — и увидишь, что зарабатывать с помощью нейросетей — это реальность, а не миф.
«А какие страхи у тебя связаны с заработком на ИИ? Напиши в комментариях или приходи в канал — обсудим и найдём решение вместе!»