mcpField
O
openclaw-deployment-hardening

openclaw-deployment-hardening

github.com/bagelholeセキュリティ1.2k305 回インストール23 週間前に更新
リポジトリ

openclaw-deployment-hardening について

OpenClawのビルド、デプロイ、実行を安全に強化するスキルです。リリースと運用を担うチーム向けに、成果物の昇格審査、コンテナ制限、デプロイ後の検証、ロールバック準備を扱います。

主な機能

  1. 01CIでの脆弱性・シークレットスキャン
  2. 02SBOM生成と成果物の署名
  3. 03コンテナ実行権限の制限
  4. 04本番昇格チェック
  5. 05デプロイ後のセキュリティ検証
  6. 06強化されたロールバック手順

活用シーン

  1. 01OpenClaw CIへのセキュリティゲート追加
  2. 02OpenClawコンテナ権限の制限
  3. 03リリース後のKubernetesデプロイ検証
  4. 04侵害疑いに備えたロールバック準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bagelhole/devops-security-agent-skills --skill openclaw-deployment-hardening

インストール後、Claude Code で/openclaw-deployment-hardeningを入力して読み込まれたか確認します。

詳細

OpenClaw デプロイの強化

このスキルを使用して、OpenClaw のビルドおよびデプロイのワークフローに再現可能なセキュリティゲートを追加します。

セキュアなビルドパイプラインを徹底する

アーティファクトを次の段階へ昇格する前に、CI に必須の制御を追加します。

  1. 依存関係とロックファイルの脆弱性スキャン(重大な CVE が見つかった場合は失敗させます)。
  2. OS/パッケージの脆弱性を対象とするイメージスキャン。
  3. ソースおよびビルドコンテキスト全体のシークレットスキャン。
  4. SBOM の生成とアーティファクトへの署名。
  5. 制御に失敗した場合にデプロイをブロックするポリシーチェック。

CI のステップ順序の例:

# Build
npm ci
npm run build

# Security gates
trivy fs .
trivy image my-registry/openclaw:${GIT_SHA}
syft my-registry/openclaw:${GIT_SHA} -o spdx-json > sbom.json
cosign sign --key cosign.key my-registry/openclaw:${GIT_SHA}

コンテナのランタイムを制限する

制限の厳しいデフォルト設定で OpenClaw を実行します。

  • コンテナ内で非 root ユーザーを使用します
  • 可能な場合はルートファイルシステムを読み取り専用にします
  • Linux のすべてのケイパビリティを削除し、必要なものだけを追加します
  • no-new-privileges を有効にします
  • 悪用時の影響を抑えるため、CPU/メモリの制限を設定します
  • Seccomp/AppArmor(または同等のもの)のプロファイルを適用します

Kubernetes での要件:

  • runAsNonRoot: true
  • allowPrivilegeEscalation: false
  • readOnlyRootFilesystem: true
  • ネットワークポリシーで全通信を拒否することを基本とし、明示的な許可ルールを設定します

本番環境への昇格をゲートする

明示的な昇格チェックを必須にします。

  • CVE の例外について、セキュリティ担当者の承認を得ます。
  • デプロイ段階で署名済みアーティファクトを検証します。
  • 想定されるマニフェスト値と実際の値との乖離をチェックします。
  • 不変のタグまたはダイジェストからのみデプロイします。

本番環境の OpenClaw サービスでは、変更可能な latest タグを使用しないでください。

データとセッションの領域を保護する

  • ポリシーに基づいて、プロンプト/応答の保持を最小限に抑えます。
  • SIEM に送信する前に、ログ内のシークレットと PII をマスキングします。
  • 永続ボリュームとバックアップを暗号化します。
  • 複数のチームにサービスを提供する場合は、テナント/セッションのデータ境界を分離します。

デプロイ後の検証

ロールアウト直後に、強化状態を確認するスモークテストを実行します。

kubectl get pods -n openclaw
kubectl auth can-i --as=system:serviceaccount:openclaw:default list secrets -n openclaw
kubectl get networkpolicy -n openclaw
kubectl logs deploy/openclaw -n openclaw --tail=200

以下を検証します。

  • Pod のセキュリティコンテキストがポリシーに適合していること。
  • サービスアカウントの権限が最小権限であること。
  • Ingress の認証/レート制限が有効であること。
  • ログに平文のシークレットが含まれていないこと。

インシデントに備えたロールバック手順

強化済みのロールバックワークフローを維持します。

  1. 以降のロールアウトを停止します。
  2. 疑わしいトークンを失効させ、シークレットをローテーションします。
  3. 署名済みの直近の正常なイメージダイジェストにロールバックします。
  4. デプロイ後の強化検証を再実行します。
  5. フォレンジック調査用にタイムラインとアーティファクトを収集します。

関連スキル

コメント