信頼できるAIの構築:セキュリティガイド

システムアクセスを持つAIを実行するための多層防御アーキテクチャ。脅威モデル、保護層、運用のベストプラクティス。

AIアシスタントのセキュリティパラドックス

クラウドAIは何もできないため安全です。テキストを生成します—安全で、サンドボックス化され、無力です。clawbotは異なります:コマンドを実行し、ファイルを変更し、サービスを制御します。このパワーは真のセキュリティ考慮事項を生み出します。

しかし、代替案を考えてみてください:ChatGPTからAIが提案したコマンドをコピーしてターミナルに貼り付ける。監査証跡なし。承認ゲートなし。サンドボックス化なし。AI生成されたbashへの盲目的な信頼だけです。

clawbotのセキュリティモデルはAIが間違いを犯すことを想定しています。アーキテクチャは、間違いが災害にならないように防御層を提供します。これは理論的なものではありません—本番システムを実行している84,000人以上の開発者によって実証されたインフラストラクチャです。

脅威モデル:5つのリスクシナリオ

何が間違う可能性があるかを理解することは、それを防ぐための最初のステップです。これらはAIがシステムアクセスを持つときの現実的な脅威です:

⚠️
脅威1:誤解された指示

シナリオ:「古いログを削除」と言い、/var/log/myapp/*.logを意図している。AIはこれを/var/log/*.logと解釈し、システムログを消去する。

影響:データ損失、監視の破壊、コンプライアンス違反。

緩和策:破壊的なコマンドの承認ワークフロー、指示での明示的なスコープ、リスクの高い操作のためのドライランモード。

🔓
脅威2:資格情報の露出

シナリオ:AIがAPIキーを含む完全なコマンド出力をログに記録する。ログが外部監視サービスに同期される。資格情報が漏洩する。

影響:サードパーティサービスへの不正アクセス、データ侵害、金銭的損失。

緩和策:ログのサニタイゼーション、暗号化された資格情報ストレージ、環境変数の分離、個別のシークレット管理。

🚀
脅威3:権限昇格

シナリオ:AIがパスワードなしでsudoコマンドを実行できることを発見する(誤設定されたシステム)。意図されたスコープを超えてシステム全体の変更を開始する。

影響:システムの不安定性、セキュリティポリシー違反、本番環境の停止。

緩和策:clawbotを非rootユーザーとして実行、sudoアクセスを制限、最小権限の専用サービスアカウントを使用。

💉
脅威4:外部入力によるコマンドインジェクション

シナリオ:AIが信頼されていないデータ(メール、webhook、APIレスポンス)を処理し、サニタイゼーションなしでシェルコマンドに組み込む。攻撃者が任意のコードを実行する悪意のある入力を作成する。

影響:リモートコード実行、システムの完全な侵害。

緩和策:入力検証、パラメータ化されたコマンド、実行サンドボックス化、信頼されていないチャネルのためのネットワーク分離。

🔁
脅威5:暴走自動化

シナリオ:AI自動化が無限ループに入る(例:自分自身をトリガーする監視スクリプト)。リソースを消費し、スパムを生成し、APIクォータを使い果たす。

影響:リソース枯渇、コストの超過、サービスの劣化。

緩和策:レート制限、実行タイムアウト、サーキットブレーカー、リソースクォータ。

多層防御:7つの保護層

clawbotは複数のセキュリティ層を実装しています。脅威は害を引き起こすためにすべての層をバイパスする必要があります。各層は独立して動作します—1つの失敗が他を侵害しません。

1

サンドボックス化された実行

すべてのシステムコマンドは、ファイルシステムアクセスが制限された分離環境で実行されます。スキルは明示的に許可されない限り~/.ssh/や/etc/を読み取ることができません。

2

権限コントロール

きめ細かいツールポリシーが各スキルができることを定義します。承認されたコマンドをホワイトリスト化し、危険な操作をブラックリスト化し、機密アクションに承認を要求します。

3

承認ワークフロー

破壊的な操作は人間の確認のために一時停止します。AIがアクションを下書きし、実行される正確な内容を表示し、明示的な承認を待ちます。

4

監査ログ

すべてのコマンド、API呼び出し、ファイルアクセスが不変ストレージにログされます。AIが何をしたか、いつ、なぜ、どのような結果で追跡します。フォレンジックに不可欠です。

5

資格情報の分離

シークレットはアクセスログを備えた暗号化されたボールト(~/.clawbot/secrets.env)に保存されます。環境変数はログやエラーメッセージに表示されません。

6

ネットワーク境界

異なるチャネルのための個別の信頼ゾーン。公開Discordは読み取り専用アクセス;プライベートWhatsAppはコマンドを実行できます。チャネルごとのポリシーを強制します。

7

リソースクォータ

レート制限が暴走自動化を防ぎます。分あたりの最大実行数、CPU/メモリキャップ、API呼び出しクォータ。制限に達すると自動化は安全に失敗します。

10のセキュリティベストプラクティス

本番環境でclawbotを安全に実行するための運用ガイドライン。

1️⃣
専用ユーザーとして実行、rootではない

最小限のシステム権限でclawbot専用のサービスアカウントを作成します。rootまたは個人ユーザーアカウントとして実行しないでください。

sudo useradd -r -s /bin/bash -d /home/clawbot -m clawbot
sudo -u clawbot clawbot gateway start

理由:AIが悪意のあるコマンドを実行した場合の爆発半径を制限します。侵害されたclawbotユーザーはシステムファイルを変更したり、他のユーザーのデータにアクセスしたりできません。

2️⃣
破壊的操作の承認ワークフローを有効にする

危険なコマンドを実行する前に確認を要求するようツールポリシーを構成します:

# ~/.clawbot/config.json
{
"tools": {
"exec": {
"approval": "ask",
"approvalPatterns": ["rm -rf", "DROP TABLE", "kubectl delete", "git push --force"]
}
}
}
3️⃣
資格情報ストレージを暗号化する

APIキーを平文で保存しないでください。clawbotの組み込みシークレット暗号化を使用します:

clawbot secrets set GITHUB_TOKEN
clawbot secrets set OPENAI_API_KEY

シークレットはAES-256で暗号化されて保存されます。復号化キーはシステムキーチェーンまたはパスフレーズから派生します。

4️⃣
機密データを削除するためにログをサニタイズする

資格情報、トークン、プライベートデータをログから自動的に削除するようにログ編集パターンを構成します:

# ~/.clawbot/config.json
{
"logging": {
"redact": ["password=.*", "token=.*", "apikey=.*", "Bearer .*"]
}
}
5️⃣
チャネルごとの権限ポリシーを実装する

公開チャネル(Discord、Telegram公開グループ)は読み取り専用アクセスを持つべきです。認証されたチャネル(WhatsApp、プライベートSlack)に実行を制限します。

ポリシー例

WhatsApp:すべてのツール有効(認証済み、個人デバイス)
Slack #ops:DevOpsスキルのみ(チームの可視性、信頼されたユーザー)
Discord:読み取り専用(公開、信頼されていない)

6️⃣
監査ログを定期的にレビューする

~/.clawbot/logs/exec.logの週次レビューをスケジュールします。予期しないコマンド、失敗した認証試行、または異常なパターンを探します。

# クイック監査:過去7日間のすべてのexecコマンドを表示
grep "exec:" ~/.clawbot/logs/gateway.log | tail -n 1000
7️⃣
新しい自動化にドライランモードを使用する

本番環境に自動化をデプロイする前に、--dry-runフラグでテストします。AIは実際の変更を行わずに実行をシミュレートします。

「--dry-runでデータベースクリーンアップスクリプトを実行し、削除される内容を表示してください。」
8️⃣
機密データへのAIモデルアクセスを制限する

高度に機密性の高い操作(顧客データ、財務記録)の場合、外部APIにデータを送信しないローカルOllamaモデルを使用します。

モデル選択ポリシー

顧客データ処理:Ollama llama3(100%ローカル)
コードレビュー:GPT-4(コードは機密ではない)
公開データ分析:Claude(最高のパフォーマンス)

9️⃣
レート制限とサーキットブレーカーを実装する

実行クォータで暴走自動化を防ぎます:

# ~/.clawbot/config.json
{
"rateLimit": {
"maxExecutionsPerMinute": 10,
"maxAPICallsPerHour": 1000
}
}
🔟
バックアップと災害復旧

clawbot構成、スキル、セッションデータを定期的にバックアップします。復元手順をテストします。

# clawbotディレクトリ全体をバックアップ
tar -czf clawbot-backup-$(date +%Y%m%d).tar.gz ~/.clawbot/

# cronで自動化
0 2 * * * tar -czf ~/backups/clawbot-$(date +\%Y\%m\%d).tar.gz ~/.clawbot/

インシデント対応:問題が発生したとき

予防措置にもかかわらず、AIは時々予期しないことをします。迅速に対応し、被害を最小限に抑える方法は次のとおりです。

🚨 セキュリティインシデントの即時アクション

1. AI実行を停止:clawbot gatewayプロセスを直ちに終了します。

2. 被害を評価:監査ログをチェックして、正確に何が実行されたかを確認します。

3. 侵害を封じ込める:侵害された資格情報をローテーションし、APIトークンを取り消します。

4. バックアップから復元:データ損失が発生した場合、最後の既知の良好な状態から復元します。

5. 根本原因分析:AIがなぜ間違いを犯したかを理解し、再発を防ぐためにポリシーを更新します。

緊急停止手順

このコマンドをアクセス可能に保ちます:

pkill -9 -f "clawbot gateway"

すべてのclawbotプロセスを直ちに停止します。AIが危険なループに入ったり、意図しないコマンドを実行したりしたときに使用します。

セキュリティ更新とメンテナンス

セキュリティは一度限りの設定ではありません—継続的な注意が必要です。メンテナンスルーチンを確立します:

毎日

異常のために監査ログをレビューします。失敗した認証試行や異常なコマンドパターンをチェックします。

毎週

clawbotを最新バージョンに更新します。高露出のサービスの資格情報をレビューしてローテーションします。

毎月

スキル権限を監査します。未使用のスキルを削除します。使用パターンに基づいてツール許可リストをレビューして更新します。

四半期ごと

セキュリティレビューを実施:侵入テスト、ログ分析、インシデントシミュレーション。インシデント対応手順を更新します。

安全なAIインフラストラクチャ

セキュリティはAIが行動するのを防ぐことではありません—AIが安全に行動することを確実にすることです。適切な防御により、clawbotは制御を犠牲にすることなく前例のない自動化機能を提供します。

安全に始める