Rust крейті компиляция кезінде зиянды бағдарлама іске қосты. 86 минут.
260 миллион жүктелген төрт макросты Rust крейті бір тәуелділікті қосады, және `cargo build` сіздің машинаңызда бөгде адамның екілік файлын іске қосады.
260 миллион жүктелген төрт макросты Rust крейті бір тәуелділікті қосады, және `cargo build` сіздің машинаңызда бөгде адамның екілік файлын іске қосады. 2026 жылғы 20 тамыз: arrayref 0.3.10 crates.io сайтында proc-macro1-ге — нақты proc-macro2 емес — тәуелді болып шығады, оның құрастыру сценарийі пайдалы жүкті жүктеп, оны /tmp/rust-setup-қа тастайды және жобаңыз компиляцияланған кезде оны бөлек іске қосады. Таза нұсқалары жойылды, сондықтан Cargo-ның ескертуі сізді уланған нұсқаға бағыттайды. 86 минуттан кейін ол жойылды.
Жазбаша басылымды оқыңыз (ағылшынша) ↗
Бұл бейне не туралы
- cargo build бөгде адамның екілік файлын іске қосады
- Түбіртектер: Rust Blog, SafeDep, Hacker News
- Бұл The Daily Diff, постмортем
- Уақыт кестесі: 02:11 сахналау → 07:15 жарияланды → 08:41 жойылды
- Механизм: build.rs, құм жәшігі жоқ, "тарту" тұзағы
Аударылған транскрипция
Бастапқы ағылшын тіліндегі баяндамадан аударылған. Қолжетімді аудио және субтитрлерді YouTube басқарады.
cargo build бөгде адамның екілік файлын іске қосады
0:00 Ширек миллиард жүктелген төрт макросты Rust крейті бір тәуелділікті қосады, және cargo build сіздің машинаңызда бөгде адамның екілік файлын іске қосады. 2026 жылғы 20 тамыз. arrayref 0.3.10 crates.io сайтында proc-macro1-ге тәуелді болып шығады. Нақты proc-macro2 емес: бір цифр қате, және оның құрастыру сценарийі жобаңыз компиляцияланған кезде пайдалы жүкті іске қосады. Rust-тың қауіпсіздік тобы оны 86 минуттан кейін жояды.
Түбіртектер: Rust Blog, SafeDep, Hacker News
0:22 SafeDep ыдырауды жариялайды. Hacker News: 554 ұпай. Бұл қалай болады, неліктен Cargo оған рұқсат береді және кінәлі кім. Бұл The Daily Diff, постмортем. Таңғы екі, UTC.
Бұл The Daily Diff, постмортем
0:33 d-tolney деп аталатын аккаунт, Дэвид Тольнай есімінің бір әрпі жетпейді, Rust-тың жартысын ұстайтын, proc-macro1 1.0.106: нақты
Уақыт кестесі: 02:11 сахналау → 07:15 жарияланды → 08:41 жойылды
0:41 proc-macro2, аты өзгертілген. Сахналау. 07:11. 1.0.107 нұсқасы құрастыру сценарийін қосады, плюс base64, TLS және HTTP клиенті. Токен парсері үшін. 07:15. Қызмет көрсетушінің аккаунты arrayref-ті 0.3.10 ретінде қайта жариялайды және ескі нұсқалардың барлығын жояды. Cargo басып шығарады: жойылмаған нұсқаға жаңартуды қарастырыңыз. Қалған жалғыз нұсқа - уланған нұсқа.
1:02 Ескерту - тұзақ. Дәл сол минутта қауіпсіздік фирмасы бұл туралы Rust-қа хабарлайды. 07:54, RustSec мәселесі. 08:29, репо-дағы мәселе; шабуылдаушы 0.3.11 және екінші зиянды тәуелділікпен жауап береді. 08:41, жойылды. Сексен алты минут. Неліктен? Бірінші: Cargo әрбір жарияланған тәуелділікті, шақырылған немесе шақырылмаған, құрастырады. Бір манифест жолы жеткілікті.
1:21 Екінші: құрастыру сценарийі сіздің машинаңызда, сіз сияқты, SSH кілттеріңізбен және cargo
Механизм: build.rs, құм жәшігі жоқ, "тарту" тұзағы
1:26 токеніңізбен, сіздің кодыңыз компиляцияланғанға дейін іске қосылады. Құм жәшігі жоқ, дизайн бойынша: крейттер C кітапханаларын осылай табады. Үшінші: ішінде нақты proc-macro2 бар, сондықтан құрастыру сәтті аяқталады. Пайдалы жүк: кез келген сертификатқа сенетін TLS клиенті екілік файлды алады, оны /tmp/rust-setup-қа тастайды және оны бөлек іске қосады. Windows-та ол Cargo-ның жұмыс объектісінен қашу үшін wscript арқылы бұрылады; бастапқы түсініктемеде солай айтылған. Екінші кезең, RustSec жіпі бойынша: браузерлер мен крипто әмияндарға бағытталған
1:52 қашықтан қол жеткізу құралы. Поэтикалық, өйткені arrayref-тің ең ірі пайдаланушыларына secp256k1 және Solana кіреді. git blame. Cargo моделі, елу бес пайыз: тәуелділіктер сіздің машинаңызда компиляция кезінде кодты іске қосады, құм жәшігі жоқ, және "тарту" ескертуі адамдарды
git blame — бөлу
2:07 уланған жерге бағыттады. Бір аккаунт, отыз пайыз: бір есептік деректер жүктеу саны ширек миллиардқа жететін крейті қайта жариялайды. Бір цифр, он бес пайыз: Rust-тың ең сенімді крейтінен бір перне басу, және ешкім ағашты оқымайды. Жарылыс радиусы: 86 минутта 2,285 жүктеу. Трафиктің он пайызынан аз, өйткені көптеген локфайлдарда 0.3.9 болған. crates.io пайдалану дәлелдері жоқ дейді.
Жарылыс радиусы: 2,285 жүктеу
2:27 RustSec жіпінде екі адам келіспейді; біреуі systemd қызметін табады. Hacker News-тегі жоғарғы жіп зиянды бағдарлама туралы емес. Бұл крейт беті, онда 0.3.10 қазір ешқашан болмаған. Үкім, постмортем: NEEDS REVIEW. Жоюға сексен алты минут, сол күні блог жазбасы, аккаунт құлыпталған: бұл бөлігі SHIP IT. Бірақ крейт бетінде ештеңе болмағаны көрсетілген, cargo audit кэштелген
Үкім + дүйсенбі сызығы
2:48 көшірмеде үнсіз қалады, және құрастыру сценарийлері әлі де сіз ретінде іске қосылады. Дүйсенбі: Rust блогының іздеу пәрменін іске қосыңыз және "тарту" ескертуін нұсқау емес, сұрақ ретінде қабылдаңыз. Маған әлі де айтуға рұқсат етілмеген оқиғаны жіберіңіз, комментарийлерде немесе daily diff dot dev мекенжайына. Ал бүгінгі айырмашылық осы. Мен Axrisi-ден Нико. Жауапкершілікпен біріктіріңіз.
Дереккөздер
- Rust Blog, "Supply chain attack on arrayref" (security-response, Aug 20, 2026)blog.rust-lang.org
- RUSTSEC-2026-0260 (arrayref)github.com
- RustSec issue #3161 (the original report, IOCs, victims)github.com
- SafeDep technical analysissafedep.io
- GitHub issue on the repo (0.3.11 spotted)github.com
- crates.iocrates.io
- Hacker News (554 points)news.ycombinator.com
- BleepingComputerwww.bleepingcomputer.com



