# একটি রাস্ট ক্রেট কম্পাইল-টাইমে ম্যালওয়্যার চালায়। ৮৬ মিনিট।

Published: 2026-09-15

২৬০ মিলিয়ন ডাউনলোড সহ একটি চার-ম্যাক্রো রাস্ট ক্রেট একটি ডিপেনডেন্সি যোগ করে, এবং \`cargo build\` আপনার মেশিনে একটি অপরিচিত বাইনারি চালায়। ২০ আগস্ট, ২০২৬: arrayref 0.3.10 crates.io-তে আসে proc-macro1-এর উপর নির্ভর করে – আসল proc-macro2 নয় – যার বিল্ড স্ক্রিপ্ট একটি পেলোড ডাউনলোড করে, এটিকে /tmp/rust-setup-এ ফেলে এবং আপনার প্রোজেক্ট কম্পাইল হওয়ার সময় এটিকে ডিটাচড অবস্থায় স্পন করে। পরিষ্কার সংস্করণগুলি ইয়াঙ্ক করা হয় যাতে কার্গোর নিজস্ব সতর্কতা আপনাকে বিষাক্ত সংস্করণের দিকে পরিচালিত করে। ৮৬ মিনিট পরে এটি মুছে ফেলা হয়।

Canonical: https://thedailydiff.dev/bn/video/2026-09-15-arrayref-proc-macro/

## এই ভিডিওতে যা আছে

- cargo build একটি অপরিচিত বাইনারি চালায়
- প্রমাণ: Rust Blog, SafeDep, Hacker News
- এটি The Daily Diff, পোস্টমর্টেম
- সময়রেখা: ০২:১১ স্টেজিং → ০৭:১৫ প্রকাশিত → ০৮:৪১ মুছে ফেলা হয়েছে
- পদ্ধতি: build.rs, স্যান্ডবক্স নেই, ইয়াঙ্ক প্রলোভন

## অধ্যায়

- 0:00 cargo build একটি অপরিচিত বাইনারি চালায়
- 0:20 প্রমাণ: Rust Blog, SafeDep, Hacker News
- 0:33 এটি The Daily Diff, পোস্টমর্টেম
- 0:40 সময়রেখা: ০২:১১ স্টেজিং → ০৭:১৫ প্রকাশিত → ০৮:৪১ মুছে ফেলা হয়েছে
- 1:25 পদ্ধতি: build.rs, স্যান্ডবক্স নেই, ইয়াঙ্ক প্রলোভন
- 2:05 git blame — বিভাজন
- 2:25 বিস্ফোরণের ব্যাসার্ধ: ২,২৮৫ ডাউনলোড
- 2:45 রায় + সোমবারের লাইন

## অনুবাদিত প্রতিলিপি

মূল ইংরেজি বর্ণনা থেকে অনূদিত। উপলব্ধ অডিও এবং ক্যাপশন YouTube দ্বারা নিয়ন্ত্রিত।

### cargo build একটি অপরিচিত বাইনারি চালায়

0:00 ২৫০ মিলিয়ন ডাউনলোড সহ একটি চার-ম্যাক্রো রাস্ট ক্রেট একটি ডিপেনডেন্সি যোগ করে, এবং cargo build আপনার মেশিনে একটি অপরিচিত বাইনারি চালায়। ২০ আগস্ট, ২০২৬। arrayref 0.3.10 crates.io-তে আসে proc-macro1-এর উপর নির্ভর করে। আসল proc-macro2 নয়: একটি অঙ্ক ভুল, এবং এর বিল্ড স্ক্রিপ্ট একটি পেলোড চালায় যখন আপনার প্রোজেক্ট কম্পাইল হয়। রাস্টের নিরাপত্তা দল ৮৬ মিনিট পরে এটি মুছে দেয়।

### প্রমাণ: Rust Blog, SafeDep, Hacker News

0:22 SafeDep টিয়ারডাউন প্রকাশ করে। Hacker News: ৫৫৪ পয়েন্ট। কীভাবে এটি ঘটে, কেন কার্গো এটি করতে দেয় এবং কে দায়ী। এটি The Daily Diff, পোস্টমর্টেম। রাত ২টা, ইউটিসি।

### এটি The Daily Diff, পোস্টমর্টেম

0:33 d-tolney নামে একটি অ্যাকাউন্ট, ডেভিড টোলনে থেকে একটি অক্ষর দূরে, যিনি রাস্টের অর্ধেক রক্ষণাবেক্ষণ করেন, proc-macro1 1.0.106 প্রকাশ করেন: আসল

### সময়রেখা: ০২:১১ স্টেজিং → ০৭:১৫ প্রকাশিত → ০৮:৪১ মুছে ফেলা হয়েছে

0:41 proc-macro2, নাম পরিবর্তন করা হয়েছে। স্টেজিং। ০৭:১১। সংস্করণ 1.0.107 একটি বিল্ড স্ক্রিপ্ট যোগ করে, সাথে base64, TLS এবং একটি HTTP ক্লায়েন্ট। একটি টোকেন পার্সারের জন্য। ০৭:১৫। রক্ষণাবেক্ষণকারীর অ্যাকাউন্ট arrayref-কে 0.3.10 হিসাবে পুনরায় প্রকাশ করে এবং প্রতিটি পুরনো সংস্করণ ইয়াঙ্ক করে। কার্গো প্রিন্ট করে: ইয়াঙ্ক করা হয়নি এমন একটি সংস্করণে আপডেট করার কথা ভাবুন। একমাত্র অবশিষ্টটি বিষাক্ত।

1:02 সতর্কতাই প্রলোভন। একই মিনিটে, একটি নিরাপত্তা সংস্থা রাস্টকে এটি রিপোর্ট করে। ০৭:৫৪, একটি RustSec ইস্যু। ০৮:২৯, রিপোতে একটি ইস্যু; আক্রমণকারী 0.3.11 এবং একটি দ্বিতীয় দূষিত ডিপেনডেন্সি দিয়ে উত্তর দেয়। ০৮:৪১, মুছে ফেলা হয়েছে। ৮৬ মিনিট। কেন? এক: কার্গো প্রতিটি ঘোষিত ডিপেনডেন্সি তৈরি করে, কল করা হোক বা না হোক। একটি ম্যানিফেস্ট লাইনই যথেষ্ট।

1:21 দুই: একটি বিল্ড স্ক্রিপ্ট আপনার মেশিনে আপনার হিসাবে চলে, আপনার SSH কী এবং কার্গো

### পদ্ধতি: build.rs, স্যান্ডবক্স নেই, ইয়াঙ্ক প্রলোভন

1:26 টোকেন সহ, আপনার কোড কম্পাইল হওয়ার আগে। স্যান্ডবক্স নেই, নকশার দ্বারা: এভাবেই ক্রেটগুলি C লাইব্রেরি খুঁজে পায়। তিন: ভিতরে আসল proc-macro2 আছে, তাই বিল্ড সফল হয়। পেলোড: একটি TLS ক্লায়েন্ট যা যেকোনো সার্টিফিকেটকে বিশ্বাস করে একটি বাইনারি আনে, এটিকে /tmp/rust-setup-এ ফেলে এবং এটিকে ডিটাচড অবস্থায় স্পন করে। উইন্ডোজে এটি wscript এর মাধ্যমে কার্গোর জব অবজেক্ট থেকে বের হয়; একটি সোর্স মন্তব্যে তা বলা হয়েছে। দ্বিতীয় পর্যায়, RustSec থ্রেড অনুযায়ী: একটি রিমোট-অ্যাক্সেস টুল যা

1:52 ব্রাউজার এবং ক্রিপ্টো ওয়ালেটগুলিকে লক্ষ্য করে। কাব্যিক, যেহেতু arrayref-এর সবচেয়ে বড় ব্যবহারকারীদের মধ্যে secp256k1 এবং Solana অন্তর্ভুক্ত। git blame। কার্গোর মডেল, ৫৫ শতাংশ: ডিপেনডেন্সিগুলি আপনার মেশিনে কম্পাইল-টাইমে কোড চালায়, স্যান্ডবক্স নেই, এবং ইয়াঙ্ক সতর্কতা মানুষকে

### git blame — বিভাজন

2:07 বিষের দিকে নিয়ে যায়। একটি অ্যাকাউন্ট, ৩০: একটি শংসাপত্র একটি ক্রেটকে পুনরায় প্রকাশ করে যার ২৫০ মিলিয়ন ডাউনলোড বিশ্বাস করে। অঙ্ক এক, ১৫: রাস্টের সবচেয়ে বিশ্বস্ত ক্রেট থেকে একটি কিস্ট্রোক, এবং কেউ ট্রি পড়ে না। বিস্ফোরণের ব্যাসার্ধ: ৮৬ মিনিটে ২,২৮৫ ডাউনলোড। ট্রাফিকের দশ শতাংশের কম, কারণ বেশিরভাগ লকফাইলে 0.3.9 ছিল। crates.io বলে ব্যবহারের কোনো প্রমাণ নেই।

### বিস্ফোরণের ব্যাসার্ধ: ২,২৮৫ ডাউনলোড

2:27 RustSec থ্রেডে দুইজন ব্যক্তি দ্বিমত পোষণ করেন; একজন একটি systemd পরিষেবা খুঁজে পান। Hacker News-এ শীর্ষ থ্রেডটি ম্যালওয়্যার সম্পর্কে নয়। এটি ক্রেট পৃষ্ঠা, যেখানে 0.3.10 এখন আর কখনও ছিল না। রায়, পোস্টমর্টেম: NEEDS REVIEW। মুছে ফেলতে ৮৬ মিনিট, একই দিনে একটি ব্লগ পোস্ট, অ্যাকাউন্ট লক করা হয়েছে: এই অংশটি SHIP IT। কিন্তু ক্রেট পৃষ্ঠা দেখায় কিছুই ঘটেনি, cargo audit একটি ক্যাশেড

### রায় + সোমবারের লাইন

2:48 কপিতে নীরব থাকে, এবং বিল্ড স্ক্রিপ্টগুলি এখনও আপনার হিসাবে চলে। সোমবার: রাস্ট ব্লগের find কমান্ড চালান, এবং একটি ইয়াঙ্ক সতর্কতা একটি প্রশ্ন হিসাবে নিন, নির্দেশ হিসাবে নয়। আপনি এখনও যে ঘটনাটি নিয়ে কথা বলতে পারবেন না সেটি আমাকে পাঠান, কমেন্টে, অথবা the daily diff dot dev-এ। এবং আজকের জন্য এই পর্যন্তই। আমি Axrisi থেকে নিকো। দায়িত্বের সাথে মার্জ করুন।

## উৎস

- [Rust Blog, "Supply chain attack on arrayref" (security-response, Aug 20, 2026)](https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/) — blog.rust-lang.org
- [RUSTSEC-2026-0260 (arrayref)](https://github.com/rustsec/advisory-db/blob/main/crates/arrayref/RUSTSEC-2026-0260.md) — github.com
- [RustSec issue #3161 (the original report, IOCs, victims)](https://github.com/rustsec/advisory-db/issues/3161) — github.com
- [SafeDep technical analysis](https://safedep.io/arrayref-proc-macro1-rust-build-time-malware/) — safedep.io
- [GitHub issue on the repo (0.3.11 spotted)](https://github.com/droundy/arrayref/issues/33) — github.com
- [crates.io](https://crates.io/crates/arrayref) — crates.io
- [Hacker News (554 points)](https://news.ycombinator.com/item?id=49374269) — news.ycombinator.com
- [BleepingComputer](https://www.bleepingcomputer.com/news/security/hackers-poison-arrayref-rust-crate-to-push-infostealer-malware/) — www.bleepingcomputer.com
