1. Replay.fm
  2. #69 Shai-なんたらか知らねえ..
2026-01-07 24:13

#69 Shai-なんたらか知らねえけど警戒していきましょうねの回

下記の記事についてわいわい話しました。


https://sota1235.notion.site/69-Shai-2e0bb64fc8cf804c8bdec3cf1fbca3b4?pvs=74


おたよりはこちらから

https://forms.gle/ZuKfoj47B2Uc9ZuS7

サマリー

このエピソードでは、TrustWalletのChrome拡張がシェイフラットサプライチェーン攻撃によって850万ドルが盗まれた事件について話しています。また、Shy Flat 3.0に関連する新たなパッケージ出現についても取り上げており、今年のセキュリティ動向を振り返っています。エピソードでは、NPMのセキュリティとその守りについて、特に自己拡散やトークンの管理に焦点を当てています。ホストたちは、過去の攻撃を踏まえた対策や今後のリスクについて語り、GitHubとの連携や2FAの重要性に触れながら警戒を呼びかけています。

TrustWalletのハッキング事件
こんばんは、Replay.fm第69回です。
こんばんは、69回。めでたい。
明け… 明け…
配信を聞いてる人は明け読みじゃないけど、僕らは明け読みですか?収録日的には。
そうですね。まあ、仕事で済ませという感じはするけど。
まあ、はい。
明けましておめでとうございます。今年もよろしくお願いします。
今年もお願いします。
はい、ガンガン収録していきましょう。
69連勤解禁書ですかね。
そうだね、確かにね。
なんか、1回ぐらいさ、その、記事がありませんっていう日があるんじゃないかなって実は思ってたんだけど、なんかなかったね。
あるとしたら、今日だったかもね。
そうなんだよ。そう、まさにそれで、その、いや、これ今日年月じゃね?ってちょっと思ってたんだけど、なんか、あの、ね。
一応、まあでも。
ギリギリ耐えたの。
ギリギリ耐えたの。
あの、皆さんに言うとその、なんだろう。読む記事の選定の流れは僕、豊橋が読める範囲で、読む、まず読む、
母数があって、その母数からノーションに読む候補として転記されるのがあって、そっから読むものが決まるんですけど、
多分その、まず最初の母数がクソ少ないので、ノーションに載せた候補の量が多分、4分の1ぐらいなんじゃないかな、普段の。
多い時に4分の1ってことだよな。
そうだね。
今回8記事しかないもんね。
前回多分もう、前回もめっちゃ少ないけど、そう、そうなんですよ。
今日はまあ結論2記事なんですけど、読むのは。
いやフィードリーも相当、相当いろいろサブスクライブしてるけど、マジで記事流れてこなかったな。
マジで、まあいって流れてはいたけど、なんか、ピックしたいものがなかったね。
そうだね。
なんか、まあそうね。
なんか2026年予想みたいな記事あんま見かけなかったな。
なんか去年すごい見た気がするんだけど。
あと2025年。
そうだね、2020。
去年なんかまとめ記事読んだ記憶があるわ、思い出した。
ハッカニュースかなんかのまとめ記事読んだんじゃなかったっけな。
その2024年の主要な事件の振り返りみたいな。
その記事も今年は見かけなかった気がする。
なんでか知らんけど。
なんでか知らん。
なかった気がする。見てないね確かに。
まあそんな感じ。
まあね、今日までお休みという、お休みじゃないお休みじゃないけど、
まあ来週から傍聴時みんな動き出したでしょうっていう気持ちで読みますか。
読みますか。
ちょっとね、順番前後すると2番目から紹介させていただきたい。
なぜなら今日の2記事は微妙に絡んでるから。
ですけど、
えーとですね、真一発目は、
TrustWallet Chrome Extension HackDrains $8.5M Via Shiflat Supply Chain Attack
ハッカーニュースの記事ですね。
で、結構海外のメディアだと、海外のセキュリティ系の僕が言うやつだと、
このTrustWalletって文字が今週は踊ってたなって感じなんですけど、
暗号通貨系のサービスなのかな。
そのサービスの拡張機能が侵害されて、
8.5ミリオンなんでいくらですか。
7、8億ってことか、相当な額が盗まれちゃったよって発表しましたと。
原因は、拡張機能の開発者のGitHubのクレデンシャルが漏れて、
Chrome Webster APIキーが盗まれて、
Chrome拡張がMaliciousのものに置き換えられちゃいましたよっていうのが原因ですね。
タイトルにあると、シェイフラットサプライチェーンアタック、シェイフラットシーズン2ですかね。
それが原因みたいなタイトルになってるんですけど、
実はこれ確定はしてなくて、公式はこれでやられましたって言ってるわけじゃないんだけど、
いろんな状況証拠を組み合わせると、ほぼほぼシェイフラットだろうっていうところで、
こういう証拠がされているし、
今日紹介するものには入れてないんですけど、
Wizのほうでもシェイフラット2がだらだら影響出てるよっていう記事があって、
それでもこれに触れていて、
いろいろ状況証拠っていうのは、
Maliciousのものが繋ぎ入ってるバックドアとか、
バックドアのサイトのフレーズみたいなのを見ると、
シェイフラット攻撃って秘密を漏えするリポジトリの名前に、
なんかポエム的なタイトルをつけるみたいな、
そういう特徴があったりするんだけど、
そういう特徴と告知したものがあったりとか、
っていうところから怪しいんじゃないかみたいな部分で、
関連づけられてるけど、
まだ公式はこれでしたって言ってるわけではないっていう感じですね。
なんか結構さらっと紹介したいなと思ったのは、
Shy Flat 3.0の新たな脅威
シェイフラット攻撃で侵害されたパッケージがたくさん出たよとか、
漏れたクレデンションの数みたいな、
そういう希望感みたいなのがそれなりにでかいっていうのは、
皆さんご存知のとおりだけど、
そこからちゃんと実害というか、
企業の実害につながったのであれば、
僕は見かける事例の中では初の事例になるなっていうので、
ちゃんと脅威ですねっていう、
おさらいじゃないですけど、
一応紹介しようかなと思った次第ですね。
なるほどね。
ちなみにトラストウォレットっていうのは、
セルフカストリアルウォレットらしいので、
Chrome拡張そのものがウォレットとして振る舞うような感じだね。
メタマスクっていうのが多分メジャーなのかな、
よく分からんけど。
この辺は実は別に僕もそんなに詳しいわけじゃなくて、
メルカリのNFTのマーケットプレイスの時にちょっと調べて、
ちょっと知ったかができる程度に、
ちらみしてるくらいなんだけど。
なるほどね。
取引書とかを返さないと。
そうだね。
なるほどね。
なるほど。
ウォレットis何っていうのは、
ただの署名機なんだよな、多分。
パスフレーズから鍵を生成して、
っていうただそれだけなので、
機能としては。
なるほどね。
まさに狙い目なんだね。
拡張機能に入り込めさえしちゃえば、
各自のウォレットのお金に触るためのものが取れちゃう。
トラストウォレットのサイト見てるけど、
拡張機能でこれ扱うの怖すぎんかと思うけど、
そういうもんなのか。
何を使っても、
別にこれ自体は起こり得るとは思っていて、
いわゆるハードウェアウォレットみたいなのもあるじゃん。
あれも結局、
何て言ったんだろうな、
調べたんだよな、ちらっと。
ハードウェアウォレットを、
ハードウェアウォレットを、
出品禁止とするべきかみたいな議論があって、
メルカリでね、
その時に色々調べたんだけど、
あれも結局、
場合によってはハードウェアレベルで、
サプライチェーンに仕掛けるみたいなことも普通にあったりするし、
マルウェアがハードウェアウォレットとの通信を何かする、
やり取りを何かするみたいなのもあったりするし、
何を使ってても狙われはするところではあるので、
Chrome拡張だからっていう話では別にないけど、
ただ、
ハードウェアに動向するよりは、
アクセスしやすいな確かだと思うから、
結構まずいかもね。
全然、
ウォレットの実態がどこにあるのかわかんないけど、
別の拡張を侵害して、
トラスウォレットも入ってた時に、
まあでもさすがにその辺は大丈夫かな。
それは大丈夫なんじゃないかな、きっと。
Cといえばあれじゃないかな、
どこに入ってるか確かにわかんなくて、
OS側の機能も使ってるようだと多分、
もっと複雑になるんじゃないかな。
ちょっと前にさ、
Chrome拡張の脅威分析みたいなのを、
Flatの動画とかが記事にしてたし、
あれの話とかがまさにそうで、
例えばだけど、
iCloudのキーチ、
iCloudでしょね、
Appleのキーチェーンに何か入れてるみたいなときは、
Chrome拡張じゃなくてもアクセスできる、
原理上アクセスしてくれるっていう話が確か書いてあったと思うんだけど、
そういうリスクはあるのかもしれないね、もしかしたら。
なるほどね。
まあでもその辺は結構ちゃんとやってるんだろうな。
シュッとトラストウォレットのコープレートサイトを見た感じは、
まあでもそうね、
まあでもそうですね、侵害されて大変な。
850万ドルか。
もうよくわかんねえな、数字。
年数とかを。
そうね。
これでもワンパスワードのChrome拡張が乗っ取られるのと比べたら、
まだこっちの方がマシだったりしないかな。
どうなんだろうね。
なんかでもわざわざそのセルフカストリー型のウォレットを使ってるっていうのを考えると、
結構なんかお金は入ってるんだろうなと思うし、
抜き出しやすいよな、なんか。
まあ直でいけるっていう意味では結構、
攻撃者目線はおいしいよね。
ここ取られた後の防御機構がもうないもんね。
そうだね。
まあワンパスとかも多分バチクソに狙われるんだろうけど、
やっぱ現金しかしやすいよね。
はい、まあそんな感じです。
はい。
あとはさっき使ってた方がいたらお気の毒みたいな感じ。
で、まあ本日シュッシュッと最後の記事になってしまうんですけど、
2個目は若干つながっていて、
スニークのブログで、
The Holiday Whisperer's Shy Flat Sleep 3.0っていう記事ですね。
で、まあなんか3.0っていうネーミングちょっと、
記事読んだ後にちょっと言い過ぎじゃないって個人的には思ったんですけど、
何かっていうとShy Flat 9月に1回目があって、
で、2回目が11月くらいですか12月くらいにあって、
それが2.0と呼ばれてたけど、
それのレアなアシュンみたいなものが見つかって、
で、それに3.0って名付けているって感じですね。
で、今回はなんか全然希望感は小さくて、
既存のパッケージが載っておられたとかではなくて、
それっぽい名前のパッケージがNPMにパブリッシュされたんだけど、
その中身にShy Flatと告示したレアが入ってましたよっていう話ですね。
で、スニークしかり他のブログでもちょっと読んだんですけど、
内容的には模倣犯ではなさそう。
何をもってそう判断したかちょっと詳しくあまり理解できてないんですけど、
手元にきちんと元ソースがある人が改良したものを作ったんじゃないかという分析を各ベンダーはしているのと、
一個シュッとパブリッシュしてすぐに消されているので、
割とその実験的な意味合いが強いんじゃないかみたいな部分で備えたほうがいいかもねみたいな感じの論調で仕掛けられてるって感じですね。
実際ダウンロード数も600ダウンロードぐらいなのかな。
そんぐらいでは済んで、少なくはないけど、これまでのやつと比べて多くもない。
これ自体に対して大騒ぎする必要は全く今のところないんですけど、
V4.0の準備をしてるのかもなっていうので、
シュッと紹介できればいいかなと思った次第でございます。
セキュリティの今後
はい。
はい。
うん。
はい。
うん。
嫌になっちゃいますね。
なんか、2026年も続くのかな、この話は。
うーん。
でもさ、850万ドル、もしこのシャイフラット攻撃を仕掛けたアクターかグループが850万ドルを手に入れたんだとしたら、
絶対またやるよね、なんか普通に。
うーん。
こんな儲かる宝の山はないし、またさっき紹介しなかった、今日は紹介しないって言ったけど、
Wizのやつにも、シャイフラット2.0も、たぶん3日4日でガッてやられたけど、
NPMのセキュリティ問題
その後も細々、たぶん、細々やられ続けてるとか、
また老手してない人たちとか、無効化されてないものが未だにあるっていう話もあったりするから、
まあコツコツ宝の山を探しながら、
まあ2026年もやるんじゃないかなーとか、やってくる前提で考えないと向き合うしかないかなーっていうのもありましたね。
なんかNPM側が強化が間に合うのと、どっちが早いかっていう感じなのかなー。
そうねー、クラシックトークの無効化はもう終わってるから、
今何で入られてるの?
今は、そのNPMの守りが強くなることで防げるのは、
その自己拡散が防げるっていう部分だから、
で、今たぶんじわじわやられてんのは何なんだろうね、
でも横展開してんのかな、そのGitHubのトークンを取って、
で、トークン取れたら、そのトークンで触れるリポジトリがもしNPMパブリッシュできるんだったら、
そこからいけるだろうし、
横展開でいろんなシークレットの一定を繰り返してるっていう話なんじゃないかな。
だからその次、NPMで同じ自己拡散のやり口がうまくいくかはちょっとわかんないね。
結局あれだよね、ワークロードアイデンティティフェデレーションみたいなのが入ったんだよね、NPM側に。
入った。
だからGitHubがやられるとやっぱりやられちゃうっていう前提は変わってなくて、
やられるね。
GitHubの横展開が課題になるのか。
手元からのパブリッシュは2FAがあるはずだから大丈夫。
2FAでも必須なのかな。
必須だと思うけど。
で、あとなんか古いアカウントは一斉に無効化したりしてなかったっけ、NPM。
あんま使ってないやつ。
それPyPyの方かな、Pythonの。
PyPyの方か、そっか。
NPMはそれはまだやってないね。
そっか。で、WiZが?
WiZの部分に書いてあったって、なるほどってなったのは、
NPMのキャッシュに残っちゃうパターンとかでちょこちょこやられちゃってそうみたいな話もあって。
それはなるほどねって。
そのレジストリを高速化とかのためにミラーリングしたりとか、
社内のプライベートレジストリをプロキシーみたいにして本機のNPMにアクセスするみたいな仕組みにしてるときに、
プロキシー側でキャッシュされてるパターンとか、
あとはローカルでパフォーマンス上げるためにキャッシュするパターンとからしくて、
そのオプションつけてNPM使っちゃってると、
悪いものがキャッシュされたままでみたいな話とか。
あるらしいっていうのは、なるほどなって思って。
そうだね。
どっから、まあそうね。
でも対策一通り入ってるからな。
前ほどうまくいかないとは思いたいね。
またNPM以外が狙われるっていう未来もなくはないのかな、どうなんだろう。
自動化と2FAの課題
ちょっとそこは分かんないな。
NPMJSのやつちゃんと調べよう。
2FA必須にな?
あるな、たぶん。
そうだよね。
でも設定すれば2FAを無効化もできんのか。
古いトークンは無効化されたはずだから、
オープンしてみてみよう。
なんかあれだね、
もうちょっと自営の手段が欲しいっていうか、
なんて言ったらいいんだろう。
2FAを無効にしてる人のパッケージは使わないオプションみたいなの欲しくない?
確かにね。
でもトークン今から作ろうとすると、
でもあるわ、やっぱバイパストファクターオーセンティケーションがある。
でもむずいな。
そのOIDC連携がGitHubしかないからさ、今結局。
分かんないけど、例えばGitHubを使っててGitHubから自動でパブリッシュしたいってなると、
たぶんこれもう2FAバイパスするトークン吐き出す以外ないと思うんだよね。
そういうことね。
自動化しようと思うと。
手元は2FA通せよって思うというか、通してほしいなって思うけど、
GitHub以外で自動化したいってなった時に選択肢は今はないから。
2FA使ってないパッケージを避けたいは確かにと思いつつ、
複雑に絡み合ったDependency Treeでやるのは今は現実的じゃないかもね。
GitHubを、そっか、OIDCでやろうとすると。
嘘ついたかも、GitHubはいけるのか今。
何個かいけた気がするな。
でもBitBucketとかいろいろかな。
GitHubはいけるね、失礼しました。
そうなんだ。
GitHub Action、GitHubはいけて、他かな、BitBucketとか分かんないけど他の、
でもなんかもうマジガチ、ただのなんか乱暴な言い方なのは理解した上でなんか言うんだけど、
なんかでももうこんだけ流行ってる中でさ、
なんかその安全な方法を使えないところを使い続けるっていうのが果たしてなんか、
なんていうか、いいのかどうなのかみたいななんか論点としてありそうだよね。
まあそうね、そりゃそうだね。
いやー、どうなの、なんか追加で手を打つかどうかって感じですね。
うーん。
まあでも大部分は防げると信じたいな。
どうなんでしょう、どうなんでしょう。
どうなんでしょう。
うーん。
これ今開いてる設定で、なんか弱い設定を見つけたから、後で個数変えとこう。
はい、まあそんな感じですね。
いやー、やだな、2025年。
まあ嫌だなっていうか、まあでも備えあれば憂いなしということで。
はい、皆さんご警戒くださいって感じですかね。
まあね、なんか先回りして何かするみたいなのが、
まあ別にそのこれを取り巻いてるもろもろに対してはいろいろできるけど、
これそのものに対してなんか先回りして何かをするっていうのができないのが歯がゆいね、なかなかね。
そうね。
うーん。
まあでもいくつかリスク低減する方法は、
まああの騒ぎの一連で一通りできてるのと、
あと対応だよね、起きたときに何をすればいいかみたいな部分を整理しておくのはできると思うから、
まあそこまではやっておきたいかなって気がするね。
うーん。
Pnpmのミニマルリステージとか、あとリノベートもそうか、あの辺の設定しておこうねとか、
あとポストインストール無効化しましょうねとか、
そうね、書いてくれてたね。
うーん。
あとはもし起きちゃったときの対応みたいな部分で言うと、
まあSブームなのか何かわかんないけど、車内で使われちゃってないかの検証するとか、
まあER入れとるとこはいろいろその、なんだろうな、こういう風にブロックしましょうみたいな話とか。
うーん。
いやー、はい。
今後の対策と警戒
サプライチェーン攻撃元年、去年は攻撃元年だったなと勝手に個人的には思ってるけど、
継続しないでいただけると嬉しいっす。
もっと柔らかにお願いしたい。
まあでもなんかそう思うってことは続くんだろうね。
痛いところを突きたいじゃん。
そうだね。
やってる側して。
うーん。
えーっと、23分めっちゃインスタントな回になりましたね。
インスタント。
インスタント、意味合ってる?なんか手軽にみたいな意味。
うーん、まあ合ってるんじゃない?なんか。
合ってるよね?即席。
うん。
いやー、これ倍速で聞いてる人いたら10分で終わっちゃうからね。
やばっ。
多分。
今日だけは倍速じゃない。
等速で聞いてください。
自分が倍速で聞くから思うけど、その短いとさ、
ああってなるんだよね。なんか終わった時。
あれ、なんか聞き逃したっぽいみたいな。
ああ、短いだけかみたいな。
ああ、今回短かったんだみたいな。
おもろっ。
なんかね、そう、あの、まあじっくり聞くなりなり。
うん。
年始なんでね、みんな頭ボケボケだと思うんで。
僕ももう全く仕事モードに上がってないんで。
うん。
いや、そんなことないか。
今日1日で仕事モードに戻ったな。戻ったけど。
いいね。
ほげほげしてる人もいると思う。
ああ。
うん。
ほげほげ。
ほげほげ。
ほげほげ。
だいたいみんなほげほげしてるでしょ。
うん。
いや、長かったよ、休み。休み長かったわ、マジで。
マジか。
ああ、まあ確かに俺より長く撮ったもんね。そもそもね。
そう、年末2日撮って、年始1日撮ったんで、皆さんの暦より僕3日長いんで、もう、なんか、福井で大雪に降られたことしか覚えてないですね。
うん。
はい。
大雪。そうか、なんか西の方確かにめっちゃ雪降ってたね。
そうそうそう。
うん。
日本海側がね、大寒波で、で、ドンピシャで、あの、あの、ちゃんと、ちゃんとスタックしましたね。
スタック。
車が。
お疲れ様でしょ。
うん。ちゃんと、もちろんスタッドレス履いてますけど。
うん。
事故もなく、問題ない場所で、あの、あれですよ、まあいいや、もうこの話は。
はい。
本でもよろしくお願いします。
はい。
はい、よろしくお願いします。
やっぱり岸呼んでくんで。
うん。
じゃあそんな感じですか、今回は。
そんな感じですね。
はい。
はい。
じゃあ、本日もありがとうございます。
皆さん来週もお楽しみにしててください。
おやすみなさい。
おやすみなさい。
24:13

コメント

スクロール