+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

Rust-ის კრეტმა მავნე პროგრამა გაუშვა კომპილაციის დროს. 86 წუთი.

ოთხმაგი მაკრო Rust-ის კრეტმა 260 მილიონი ჩამოტვირთვით დაამატა ერთი დამოკიდებულება, და `cargo build`-მა გაუშვა უცნობის ბინარი თქვენს მანქანაზე.

ოთხმაგი მაკრო Rust-ის კრეტმა 260 მილიონი ჩამოტვირთვით დაამატა ერთი დამოკიდებულება, და `cargo build`-მა გაუშვა უცნობის ბინარი თქვენს მანქანაზე. 2026 წლის 20 აგვისტო: arrayref 0.3.10 დაეშვა crates.io-ზე, რომელიც დამოკიდებულია proc-macro1-ზე — არა proc-macro2-ზე, ნამდვილზე — რომლის build-სკრიპტი იტვირთავს payload-ს, აგდებს მას /tmp/rust-setup-ში და აშვებს მას დამოუკიდებლად, სანამ თქვენი პროექტი კომპილირდება. სუფთა ვერსიები მოიხსნა, ასე რომ Cargo-ს საკუთარი გაფრთხილება მიგიყვანთ მოწამლულ ვერსიასთან. 86 წუთის შემდეგ ის წაიშლება.

წაიკითხეთ წერილობითი გამოცემა (ინგლისური) ↗

რას მოიცავს ეს ვიდეო

  • cargo build-მა გაუშვა უცნობის ბინარი
  • ქვითრები: Rust Blog, SafeDep, Hacker News
  • ეს არის The Daily Diff, პოსტმორტემი
  • ქრონოლოგია: 02:11 დადგმა → 07:15 გამოქვეყნდა → 08:41 წაიშალა
  • მექანიზმი: build.rs, არანაირი sandbox, yank-ის ხაფანგი

ნათარგმნი ტრანსკრიპტი

ნათარგმნია ორიგინალური ინგლისური ნარატივიდან. ხელმისაწვდომი აუდიო და სუბტიტრები კონტროლდება YouTube-ის მიერ.

cargo build-მა გაუშვა უცნობის ბინარი

0:00 ოთხმაგი მაკრო Rust-ის კრეტმა მეოთხედი მილიარდი ჩამოტვირთვით დაამატა ერთი დამოკიდებულება, და cargo build-მა გაუშვა უცნობის ბინარი თქვენს მანქანაზე. 2026 წლის 20 აგვისტო. arrayref 0.3.10 დაეშვა crates.io-ზე, რომელიც დამოკიდებულია proc-macro1-ზე. არა proc-macro2, ნამდვილი: ერთი ციფრით განსხვავდება, და მისი build-სკრიპტი აშვებს payload-ს სანამ თქვენი პროექტი კომპილირდება. 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, ერთი ასო დაშორებით David Tolnay-სგან, ვინც ინარჩუნებს Rust-ის ნახევარს, აქვეყნებს proc-macro1 1.0.106-ს: ნამდვილი

ქრონოლოგია: 02:11 დადგმა → 07:15 გამოქვეყნდა → 08:41 წაიშალა

0:41 proc-macro2, გადარქმეული. დადგმა. 07:11. ვერსია 1.0.107 ამატებს build-სკრიპტს, პლუს 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 მეორე: build-სკრიპტი გაშვებულია თქვენს მანქანაზე, როგორც თქვენ, თქვენი SSH გასაღებებით და cargo

მექანიზმი: build.rs, არანაირი sandbox, yank-ის ხაფანგი

1:26 ტოკენით, სანამ თქვენი კოდი კომპილირდება. არანაირი sandbox, განზრახ: ასე პოულობენ crate-ები C ბიბლიოთეკებს. მესამე: შიგნით არის ნამდვილი proc-macro2, ასე რომ build წარმატებულია. Payload: TLS კლიენტი, რომელიც ენდობა ნებისმიერ სერტიფიკატს, იტვირთავს ბინარს, აგდებს მას /tmp/rust-setup-ში და აშვებს მას დამოუკიდებლად. Windows-ზე ის გადის wscript-ის გავლით, რათა თავი დააღწიოს Cargo-ს სამუშაო ობიექტს; წყაროს კომენტარი ამას ადასტურებს. მეორე ეტაპი, RustSec-ის თემის მიხედვით: დისტანციური წვდომის ინსტრუმენტი, რომელიც მიზნად ისახავს

1:52 ბრაუზერებსა და კრიპტო საფულეებს. პოეტური, რადგან arrayref-ის უდიდეს მომხმარებლებს შორის არიან secp256k1 და Solana. git blame. Cargo-ს მოდელი, ორმოცდათხუთმეტი პროცენტი: დამოკიდებულებები აშვებენ კოდს თქვენს მანქანაზე კომპილაციის დროს, არანაირი sandbox, და yank-ის გაფრთხილებამ ხალხი მიიყვანა

git blame — გაყოფა

2:07 შხამთან. ერთი ანგარიში, ოცდაათი: ერთი იდენტიფიკატორი ხელახლა აქვეყნებს crate-ს, რომელსაც მეოთხედი მილიარდი ჩამოტვირთვა ენდობა. ციფრი ერთი, თხუთმეტი: ერთი კლავიატურის დაჭერა Rust-ის ყველაზე სანდო crate-დან, და არავინ კითხულობს ხეს. აფეთქების რადიუსი: 2,285 ჩამოტვირთვა 86 წუთში. ტრაფიკის ათ პროცენტზე ნაკლები, რადგან lockfile-ების უმეტესობას ეჭირა 0.3.9. crates.io ამბობს, რომ გამოყენების მტკიცებულება არ არის.

აფეთქების რადიუსი: 2,285 ჩამოტვირთვა

2:27 RustSec-ის თემაზე ორი ადამიანი არ ეთანხმება; ერთი პოულობს systemd სერვისს. Hacker News-ზე მთავარი თემა მავნე პროგრამაზე არ არის. ეს არის crate-ის გვერდი, სადაც 0.3.10 ახლა არასდროს არსებობდა. ვერდიქტი, პოსტმორტემი: NEEDS REVIEW. ოთხმოცდაექვსი წუთი წასაშლელად, იმავე დღის ბლოგის პოსტი, ანგარიში დაბლოკილი: ეს ნაწილი არის SHIP IT. მაგრამ crate-ის გვერდი აჩვენებს, რომ არაფერი მომხდარა, cargo audit დუმს ქეშირებულ

განაჩენი + ორშაბათის ხაზი

2:48 ასლზე, და build-სკრიპტები კვლავ თქვენსავით გაშვებულია. ორშაბათი: გაუშვით Rust-ის ბლოგის find ბრძანება, და მოეპყარით yank-ის გაფრთხილებას როგორც კითხვას, არა ინსტრუქციას. გამომიგზავნეთ ინციდენტი, რომელზეც ჯერ კიდევ არ გაქვთ საუბრის უფლება, კომენტარებში, ან daily diff dot dev-ზე. და ეს არის დღევანდელი diff. მე ვარ ნიკო Axrisi-დან. პასუხისმგებლობით გააერთიანეთ.

წყაროები

  1. Rust Blog, "Supply chain attack on arrayref" (security-response, Aug 20, 2026)blog.rust-lang.org
  2. RUSTSEC-2026-0260 (arrayref)github.com
  3. RustSec issue #3161 (the original report, IOCs, victims)github.com
  4. SafeDep technical analysissafedep.io
  5. GitHub issue on the repo (0.3.11 spotted)github.com
  6. crates.iocrates.io
  7. Hacker News (554 points)news.ycombinator.com
  8. BleepingComputerwww.bleepingcomputer.com

მსგავსი ვიდეოები

postmortem · ka · 17 სექ. 2026

Dependabot-ის განახლებამ ჭიაყელა გაავრცელა. 22 პაკეტი.

ბოტი ხსნის pull request-ს. ადამიანი მას 24 წუთის შემდეგ აერთიანებს. ამის შემდეგ 95 წუთში, ჭიაყელამ გამოაქვეყნა მისი 22 npm პაკეტის 110 მავნე ვერსია, მისი სახელით, ტოკენით, რომელიც იპოვა მის CI-ში.

3:04 ↗
postmortem · ka · 13 სექ. 2026

თერთმეტმა JavaScript ხაზმა გააფუჭა ინტერნეტი. ერთი გაუქმება.

2016 წლის 22 მარტი, 21:30 UTC: დეველოპერმა წაშალა მისი 273-ვე npm პაკეტი მას შემდეგ, რაც npm-მა პაკეტის სახელი "kik" გადასცა Kik-ს, შეტყობინებების აპლიკაციას, რომლის საპატენტო აგენტმა პირობა დადო „ადვ

2:52 ↗
postmortem · ka · 25 სექ. 2026

ერთმილიწამიანმა ხარვეზმა შეაჩერა გაერთიანებული სამეფოს საჰაერო მოძრაობა. ექვსი საათი.

სამშაბათს, 8 სექტემბერს, 10:00 საათზე, NATS-ის ეროვნული საჰაერო სივრცის სისტემაში (NAS) squawk-კოდის ერთ რუტინულ მოთხოვნას აწყვეტინებს უფრო მაღალი პრიორიტეტის შეტყობინება, სანამ ის მნიშვნელობის განახლ

3:06 ↗
postmortem · ka · 22 სექ. 2026

გადატვირთვამ Telstra 2006 წელში დააბრუნა. ცხრა მილიონი ტელეფონი.

მელბურნელმა ინჟინერმა დილის 2:50 საათზე ჩართო ქრონომეტრაჟის შასი, და საუზმისთვის ავსტრალიის უდიდესმა მობილურმა ქსელმა დაასკვნა, რომ ეს იყო 2006 წლის ნოემბერი. 2026 წლის 8 ივლისი: Telstra-ს NTP შასიში

3:15 ↗