OpenClawの「常に許可」機能のセキュリティ脆弱性とより安全な代替案

OpenClaw承認システムの脆弱性
OpenClawの承認システムは、コマンドを実行する前にユーザーに「これを実行してもよいですか?」と尋ね、一度だけ承認または常に承認するオプションを提供します。「常に許可」機能は、最近の2つのCVEを通じてセキュリティリスクとして特定されました。
具体的なセキュリティ問題
CVE-2026-29607: 「常に許可」承認は、内部コマンドではなくラッパーコマンドにバインドされます。time npm testを「常に」承認すると、システムは「常にtimeを許可」と記憶します。その後、エージェント(またはプロンプトインジェクションを通じて)がtime rm -rf /を実行すると、ラッパーコマンドを承認済みのため再プロンプトなしで実行されます。
CVE-2026-28460: この脆弱性は、シェルの行継続文字を使用して許可リスト全体をバイパスします。手法は異なりますが結果は同じです:ユーザーが保護されていると思っていた承認チェックなしでコマンドが実行されます。
両方の脆弱性はOpenClaw 3.12+で修正されていますが、より深い問題は残っています。
行動的セキュリティ問題
修正後も、「常に許可」というメンタルモデルはユーザーに注意を払うのをやめるよう訓練します。最初はユーザーはすべての承認プロンプトを注意深く読みます。3週目までには、プロンプトが煩わしくなりエージェントへの信頼が築かれるため、すべてに「常に」をクリックするようになります。6週目までに、ユーザーは尋ねられてもリストできない20以上の「常に」ルールを蓄積します。
推奨される代替アプローチ
ソース著者は推奨します:ファイルを変更する、メッセージを送信する、シェルコマンドを実行するものについては「常に許可」を使用しない。代わりに、SOUL.mdファイルに明示的なガードレールを追加してください:
「ファイルを変更する、通信を送信する、シェルコマンドを実行するアクションについては:実行予定の内容を正確に表示し、明示的なOKを待つ。以前の承認は引き継がない。毎回尋ねる。これは交渉の余地がない。」
このアプローチは、Telegramなどのインターフェースで「OK」をタップする回数が増えることを意味しますが、プロンプトインジェクションやエージェント自身の誤認を通じて、古い承認の下で破壊的なアクションを実行することを防ぎます。
重要なポイント
承認システムは利便性の機能であり、セキュリティ境界として設計されたものではありません。それに応じて扱ってください。
📖 Read the full source: r/openclaw
👀 See Also

セキュアにTailscaleなどを使用してVPSでOpenClawをセルフホストする
Tailscale、fail2ban、UFWなどを使用してVPS上でOpenClawを安全にセットアップし、公開アクセスを回避して防御を強化する方法。

エージェントパスポート:AIエージェントの本人確認
Agent Passportは、AIエージェントのなりすまし問題に対処するため、Ed25519認証とJWTトークンを利用したオープンソースのアイデンティティ検証レイヤーです。

オフラインSBOM検証ツール「OpenClaw」、0.2秒未満で汚染されたスキルを検出
ある開発者がRustでオフラインSBOM検証ツールを構築し、SSHキーを外部に送信する悪質なOpenClawスキルを検出しました。インターネット接続なしで0.2秒未満で検証が完了します。

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