ΠΡΠ°ΠΊΠ° Π½Π° ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ NPM ΠΏΠ΅ΡΠ΅ΡΠ»Π° Π½Π° Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΠ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π°ΡΠ°ΠΊΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΊ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π² ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ΅ΡΠ²Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΠ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ NPM-ΠΏΠ°ΠΊΠ΅ΡΠ° @ctrl/tinycolor, ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ 2.2 ΠΌΠ»Π½ Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΡΡ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΡΠΌΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² 964 ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ . Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Ρ Π°ΡΠ°ΠΊΠ° ΠΎΡ Π²Π°ΡΠΈΠ»Π° 187 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»ΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ (477 Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ²).
Π Ρ ΠΎΠ΄Π΅ Π½ΠΎΠ²ΠΎΠΉ Π°ΡΠ°ΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΈΡΠΈΠ½Π³Π°, Π°ΡΠ°ΠΊΡΡΡΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ ΡΠ΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ ΡΠ΅ΡΠ²ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠΈΡΠ»Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠΎΡΠ»Π΅ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π·Π°Π³ΡΡΠΆΠ°Ρ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΡΠΈΠ»ΠΈΡΡ TruffleHog. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ NPM ΡΠ΅ΡΠ²Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΈ ΠΏΠΎ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΏΠΎΡΠ°ΠΆΠ°Π΅Ρ Π΄Π΅ΡΠ΅Π²ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠΊΠ΅Π½Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ NPM ΡΠ΅ΡΠ²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠ»ΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ GitHub ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ AWS, Azure ΠΈ GCP (Google Cloud Platform), Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΠΊΠ°Π½Π΅Ρ TruffleHog.
ΠΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Π΄Π»Ρ 20 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ NPM-ΡΠΎΠΊΠ΅Π½. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π»ΠΈΠ·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠΎΡΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ NpmModule.updatePackage, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ Π°ΡΡ ΠΈΠ² ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ postinstall-Ρ ΡΠΊ Π² ΡΠ°ΠΉΠ» package.json, ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ bundle.js, ΠΏΠ΅ΡΠ΅ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ Π΅Π³ΠΎ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π² Linux ΠΈ macOS.
Π§Π΅ΡΠ²Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ Shai-Hulud (Π³ΠΈΠ³Π°Π½ΡΡΠΊΠΈΠΉ ΡΠ΅ΡΠ²Ρ, ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΠΉ Π² ΡΠΎΠΌΠ°Π½Π΅ ΠΡΠ½Π°). ΠΠ°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² GitHub ΡΠ΅ΡΠ΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Shai-Hulud (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«B611/Shai-HuludΒ»), Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΎΡΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π»ΠΎΠ³Π°Ρ GitHub Actions. Π ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ» data.json, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ° Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ base64 ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ°. Π CI Π½Π° Π±Π°Π·Π΅ GitHub Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ Ρ ΠΎΡΡ ΡΠ΅ΡΠ²Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ GitHub Actions (.github/workflows/shai-hulud-workflow.yml). Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, Π°ΡΠ°ΠΊΠ° Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΌΠΈ 187 ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° GitHub ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Shai-Hulud ΠΈ ΡΠ°ΠΉΠ»ΠΎΠΌ data.json.

Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Ρ ΠΏΠΎΡΠ°ΠΆΡΠ½Π½ΡΠΌΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ 25 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ CrowdStrike, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ ΡΠ΅ΡΠ΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Supply Chain). ΠΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ CrowdStrike ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Falcon ΠΈ Π°ΡΠ°ΠΊΠ° Π½Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΠΈΠ»Π°ΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΡΡΠ°Π»ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ»Π°Ρ Π²ΠΎΠ»Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
ΡΠ΅Π»ΠΈΠ·ΠΎΠ² Π² NPM, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ²ΡΠ°ΡΡΡ Π±Π΅Π· ΡΠ΅ΡΠ²Ρ, Π·Π°ΡΡΠΎΠ½ΡΠ»Π° ΠΏΡΠΎΠ΅ΠΊΡ gemini-cli, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
