なんとなくRustって安全で安心ってイメージあるけど、実はパッケージ管理の場でもトラブルが起きることがあるんだよね💭
最近、Rustの公式パッケージサイト「crates.io」で悪意があるクレート(パッケージ)が見つかったって話があったんだ✨
今回はその問題になった「faster_log」と「async_println」っていうクレートについて、わかりやすくまとめてみるね🧠
「faster_log」と「async_println」って何?
Rustのプログラムではいろんな機能をパッケージ(クレート)として取り込むんだけど、今回問題になったのは「faster_log」と「async_println」という名前のクレートなんだ🌸
一見すると便利そうな名前だけど、これらには悪意あるコードがこっそり仕込まれてたみたい😳
どんな悪さをしたの?
ざっくり言うと、これらのクレートを使うとプログラムの実行中にユーザーの情報を盗み出そうとする動きがあったんだ🥺
具体的には…
- ユーザーの環境情報を外部に送信しようとした
- 不正な動きを隠すためにコードを難読化していた
こんな感じで、普通の開発者は気づきにくい方法で悪さしてたのが怖いところだよね💡
どうしてこんなことが起きたの?
オープンソースの世界では、誰でも自由にパッケージを公開できるから、悪意ある人も混ざっちゃうことがあるんだよね🤔
しかも、「faster_log」と「async_println」は名前が似ていて、有名なクレートを装ってたから余計に気づきにくかったみたい💭
じゃあどうすれば安全に使えるの?
今回の件を踏まえて、Rustのコミュニティも対策を強化中なんだけど、私たちもできることはあるよね👍
- 知らないパッケージは慎重に使うこと
- パッケージの評価やレビューをチェックすること
- 公式の警告やアップデート情報をこまめに確認すること
ちょっと面倒だけど、こういうことがあるから気をつけたほうがいいんだなぁって思ったよ💭
まとめると
Rustは基本的に安全な言語だけど、パッケージの世界にもリスクはあるっていうのが今回の事件でハッキリしたよね🥺
だから、便利なクレートを使うときは名前や作者、評判をちゃんと確認するのがおすすめだよ✨
ふだん使ってるツールでも、知らないうちに危ないものが混じってるかも…って思うと、ちょっとドキドキしちゃうよね😳
こういう話、大事だけどちょっと怖い面もあるから、無理せず自分のペースで気を付けるのがいいと思うよ🍓
コメント
ハンナ
ジア・タンはファーリーまで狙ってるみたいだ。
グレース
C++はパッケージ管理がバラバラだから、逆に安全だったりして。
クリス
「typo-squatting」は名前のタイプミスを狙うと思ってたけど、今回は微妙に違う気がするな。
レオ
Rustは安定したCコードにNPM地獄を持ち込む最高のツールだよね。
リリー
昔Rustのクレートにフィッシング攻撃あったけど、失敗じゃなかったみたいだ。