それはそう の塊
「Rustなら安全なのか」という動画、コメント欄がRustに詳しい人ほど冷静という珍しい構図になっているのでまとめます。
いいねが一番多かったのは、動画の結論を一言にしたこれ。
「そもそも漏洩対策じゃない、クラッシュ対策、メモリーリーク対策」
Rustが守るものと、情報漏洩で起きていることが、最初から別物だという指摘です。
次に多かったのが、イメージの独り歩きへの警戒。
「『Rustなら安全!』というイメージが独り歩きしてしまうことが一番危ないですよね。Rustがメモリ安全と言われている理由を知っておけば、逆に守れないものが何かを知ることにも繋がりますし、unsafeを使った抜け道の存在を知っているかどうかも大事」
「メモリ破壊が起きにくいだけで、止まったりバグったりするのは変わらんですからねー。あと、採用しようと思っても、エコシステムや開発体制の都合で、そうそう選べないのがつらいところ」
「ホワイトハウスの『C/C++は危ないからRustなどの安全な言語へ移行せよ』という声明がきっかけですよね。偽の命題として『Rustなら安全である』という言葉が普及してしまう。プログラマーならすぐにこの命題が嘘であることに気がつくんですけどね」
「Rustで書いても守れなかった」実例も出ていました。
「なぜRustで書き換えられたBunがhttp2shellの対象になったか? Rustで作ってもBrotliのような外部ライブラリを使っていればその脆弱性は影響するってことですね。盾は最強でも酸攻撃ではボロボロになるし、守備範囲外は防げない」
「聞かないから安全! それで10年以上前にMac界隈にウイルスが本格的にばら撒かれて大騒ぎになってましたね……」
言語の外側については、セキュリティ屋さんの視点。
「Rustであっても、モニターに貼った付箋のパスワードは守ってくれねえんだわ……」
「電話口で個人情報べらべら喋ってしまう人が居れば意味がない。『部長を出せ』で個人名すら言ってないのに電話を部長に取り次いでしまうのと地続き。そういう管理の基本ができていない人は何言語で書いても漏らす」
「先日、社内アプリで一般ユーザーがURL直叩きで特権UI操作できるバグを見つけ、受託者を問い詰めたら『特権ユーザーのメニューからしか遷移しないので』と。いっぱいあるのでしょうね、こんな脆弱性は」
所有権システムは、URL直叩きを止めてくれません。
ただし、逆側の釘刺しも。
「Rustで書けば安全になるわけではないが、Rustで書くことで脆弱性が減ってるのも事実。言語なんてどれでも関係ないという思考停止も危ないね」
「それでも、use-after-freeを仕組みで防げるのはありがたい。新規開発なら有力」
「Rustなら安全」も嘘、「言語は関係ない」も嘘。
その間に正解がある、という着地です。
最後に、動画の第4章を見た方の感想。
「4章の『ここを外すと、ただのRust叩きになってしまう』は爆笑でした」
Rustを叩きたいわけではないんです。


















