AI構築アプリは脆い:小さな変更がデータ分離と権限を壊す理由

Claude CodeやCursorのようなAIコーディングツールを使う開発者は、一貫した問題に直面している。AIが構築したアプリは進化に弱く、小さな変更がログイン、権限、データ分離などの重要な機能を静かに壊してしまう。ある開発者は具体的な例を挙げている。シンプルなユーザーアプリで、アカウントを切り替えると他のユーザーのデータが表示されてしまうというものだ。AIが間違ったコードを書いたわけではなく、所有権ルールを理解していなかっただけだ。
根本的な問題:AIは構造から生成し、意図からではない
根本的な原因は、AIモデルがシステム本来のビジネス意図ではなく、構造パターンに基づいてコードを生成することにある。そのため、小さな追加でも、気づきにくいセキュリティや認可の失敗を引き起こす可能性がある。
共有された実用的な修正方法
その開発者は、効果があった3つの対策を見つけた:
- 所有権ルールを明示する:各レコードの所有者を明確に定義する(例:
user_id外部キーにカスケードを設定)。 - API層で権限を強制する:フロントエンドのみのチェックに頼らない。すべてのルートでミドルウェアやガード(例:
authorize('owner', $record))を使用する。 - AIにビジネスロジックをコードから推測させない:認可ルールとバリデーションをハードコードし、モデルが例からそれらを推測することを期待しない。
なぜこれが重要なのか
より多くの開発者がAIエージェントを使ってアプリを立ち上げるようになるにつれて、これらの障害モードを理解することが不可欠である。放置すれば、AIは機能的に見えるが、深刻なデータ分離や権限昇格のバグを持つアプリを生み出す可能性がある。この投稿はr/ClaudeAIコミュニティで多くの共感を呼び、広く見られる問題であることを示している。
AIを使って構築するチームへの教訓は明確だ:最初から明示的なAPIレベルの認可に投資し、AI生成コードを厳格なセキュリティレビューが必要な初稿として扱うこと。特に所有権と権限に関しては。
📖 元のソースを読む: r/ClaudeAI
👀 See Also

TEEエンブレーブを使用した暗号化LLM推論のためのOpenClawの設定
開発者が、OpenClawをOneraのAMD SEV-SNP信頼実行環境で使用し、エンドツーエンド暗号化されたLLM推論を実現するための設定方法を共有しています。設定例と技術的なトレードオフを含みます。

Ward: オープンソースツールがnpmインストールを傍受し、Claude Codeユーザーのサプライチェーン攻撃をブロックします
Wardは、インストールスクリプトが実行される前にすべてのパッケージをチェックするためにパッケージマネージャーにフックするオープンソースツールです。Claude Codeがnpm installを実行すると、Wardは自動的にパッケージをマルウェア、タイポスクワット、不審なスクリプト、バージョン異常についてスクリーニングします。

Claude Code セキュリティプラグイン:アプリケーションセキュリティを開発者ワークフローに組み込む
AnthropicがClaude Code向けにセキュリティガイダンスプラグインをリリース。コーディング中に脆弱性を特定・修正する。プラグインマーケットプレイスから全ユーザーが利用可能で、エンタープライズ限定ではない。軽量アシスタント、本格的なAppSecワークフロー、Claude Securityへの架け橋のいずれになるかを考察。

Snowflake Cortex Code CLIの脆弱性により、サンドボックスからの脱出とマルウェアの実行が可能になりました
Snowflake Cortex Code CLI バージョン1.0.25およびそれ以前のバージョンに存在した脆弱性により、プロセス置換のバイパスを介して人間の承認なしに任意のコマンドを実行することが可能となり、間接的なプロンプトインジェクションを通じてマルウェアのインストールやサンドボックスからの脱出が可能になりました。