Rsyncの災難とAIインフラストラクチャのリスク
rsyncのメンテナーが、リリース作業を支援するためにClaudeを使用しました。その結果、そのリリースによって絶対パスの処理が壊れてしまいました。
Rsyncは何百万台ものサーバーで稼働しています。バックアップ、デプロイ、ミラーリングを担っています。もしrsyncが失敗すれば、バックアップは止まり、データの同期も行われません。このツールは至る所に存在するため、その被害は甚大です。
このバグは、AIの支援を受けたセキュリティパッチから発生しました。これは、AIコーディングツールの抱える重大な問題を浮き彫りにしています。
AIアシスタントはパターンに基づいて動作します。新しいコードやボイラープレートを書くことには長けています。しかし、安定したインフラストラクチャのコードは、変わらずにあるべきです。その振る舞いを変えてはなりません。
Rsyncのコードは、意図的に奇妙な書き方をしています。それは、何年も前に本番環境で見つかったエッジケースに対処するためです。AIはこの奇妙なコードを見て、改善しようと試みます。しかし、AIはユーザーとの暗黙の契約を理解していません。
AIにツールを壊す意図はありませんでした。ただ、「何も変えないこと」が最優先事項であることを知らなかっただけなのです。
私は毎日AIを使っています。執筆のスピードアップや実験に役立っています。AIに反対しているわけではありません。しかし、インフラストラクチャのコードにおける重要な決定をAIに任せることは決してありません。私はAIの提案を、ジュニアデベロッパーからのコメントと同じように扱っています。
危険なのは「信頼の勾配(trust gradient)」です。AIが10回正しい答えを出せば、11回目の答えを過剰に信じてしまいます。レビューは疎かになり、承認は早まってしまいます。
これは「コンテキストの崩壊(context collapse)」という問題です。AIは、週末のプロジェクトと30年続くUnixユーティリティを、同じレベルの自信を持って扱います。AIは、自分が触れているコードの重要性を理解していないのです。
責任を負うのはメンテナーです。しかし、私たちには新しいガードレールが必要です。
AI支援による開発には、リスクレベルに応じた異なるルールが必要です。壊れた際の影響が甚大なコードがあります。これには、rsync、OpenSSL、データベースドライバーなどが含まれます。
rsyncのインシデントは警告でした。データの損失はありませんでしたが、なぜ私たちが慎重にならなければならないのかを示しています。
AIを使うのをやめる必要はありません。代わりに、より優れた直感を養ってください。いつ機械を疑うべきかを知るのです。
あなたはどの時点でAIの提案を信じるのをやめますか? コードベースが、極めて慎重なレビューなしでは扱えないほど重要になるのは、いつでしょうか?
Source: https://dev.to/adioof/the-rsync-disaster-proves-ai-isnt-ready-for-infrastructure-code-4154
Optional learning community: https://t.me/GyaanSetuAi