TGViewer
CTT Report Hub CTT Report Hub @aptreports · 3.5K subscribers
Post #32593 26
CTT Report Hub #ParsedReport #CompletenessLow 21-09-2026 GHAPPIER - One loader, sixty-five repositories, twenty-two accounts: an unreported loader family beside DPRK's PolinRider campaign https://www.cloudsek.com/blog/ghappier-malware-loader-npm-supply-chain-attack Report…
#ParsedReport #ChatGPT #Translated
Autotext: (TI Report Analyser + ChatGPT + Auto Translate)

------
Атакующий на короткое время перехватил учётную запись сопровождающего npm, чтобы опубликовать вредоносный релиз `@dforge-core/dforge-mcp` через доверенные GitHub Actions, продемонстрировав, что происхождение (provenance) подтверждает источник сборки, а не целостность исходного кода. Полезная нагрузка использовала самоуничтожающийся загрузчик из четырёх этапов и была связана с кампанией PolinRider, которая использует данные транзакций Ethereum для скрытой доставки конфигурации.
-----

9 сентября 2026 года злоумышленник на короткое время получил несанкционированный доступ к аккаунту разработчика легитимного пакета npm `@dforge-core/dforge-mcp`. В течение примерно 105 минут доступа злоумышленник внес изменения в основную ветку пакета, добавил загрузчик удаленного кода, изменил триггер выпуска, переписал рабочий процесс GitHub Actions для обеспечения автоматической публикации без участия человека и выпустил версию 0.2.21. Злонамеренная версия оставалась доступной в течение 35 минут и 38 секунд, после чего разработчик откатил изменения и опубликовал версию 0.2.22. Первоначальный метод получения доступа на уровне разработчика остается неопределенным, однако предположительно компрометация произошла через вредоносное расширение для разработчиков или пакет.

Скомпрометированный релиз содержал действительные данные о происхождении (provenance) npm, сгенерированные через GitHub Actions и доверенную публикацию с использованием OIDC. Аттестация Sigstore точно идентифицировала коммит, контролируемый злоумышленником, что демонстрирует: данные о происхождении верифицируют источник сборки, а не целостность или доверенность исходных изменений. Поскольку реестр npm доверял идентификатору CI репозитория, злоумышленнику не потребовались отдельные учётные данные для публикации в npm.

Инъектируемый полезный код занимал одну строку вблизи конца файла размером 99 КБ и инициировал цепочку выполнения из четырех этапов. Финальный имплант удалял себя с диска сразу после выполнения, что потенциально позволяло затронутым организациям упустить компрометацию при проведении файловых расследований. Тестирование показало, что все этапы оставались работоспособными в течение пяти дней после отозвания вредоносного релиза.

Отдельный полезный груз, обнаруженный в другом репозитории, связывает данную активность с кампанией PolinRider, которая ассоциируется с операциями, связанными с КНДР, и с марта 2026 года затрагивала многочисленные репозитории. Полезный груз был добавлен к легитимному файлу конфигурации проекта и не содержал традиционной инфраструктуры управления. Вместо этого он извлекал данные конфигурации, закодированные в двадцатибайтовом поле получателя транзакции Ethereum, используя опубликованный кошелёк кампании. Этот канал на основе блокчейна не имеет традиционного домена, хоста или учётной записи, которые можно было бы отключить. В отчёте образец идентифицирован как соответствующий PolinRider, при этом более широкая атрибуция к Северной Корее основывается на предыдущих исследованиях и не была независимо подтверждена.
More from @aptreports
  1. Sep 30, 2026#ParsedReport #ChatGPT #Translated Autotext: (TI Report Analyser + ChatGPT + Auto Translat…
  2. Sep 30, 2026#ParsedReport #GeneratedSchema Generated with GPT-4
  3. Sep 30, 2026#ParsedReport #ExtractedSchema Classified images: chats: 2, schema: 3, code: 1
  4. Sep 30, 2026#ParsedReport #CompletenessHigh 30-09-2026 Star Blizzard refines phishing and malware deli…
  5. Sep 30, 2026#ParsedReport #ChatGPT #Translated Autotext: (TI Report Analyser + ChatGPT + Auto Translat…
  6. Sep 30, 2026#ParsedReport #GeneratedSchema Generated with GPT-4
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →