sandbox-guard
信頼できないOpenClawスキルを安全に実行するためのDockerサンドボックス設定を生成します。ファイルシステム・ネットワーク・プロセスへのアクセスをそれぞれ分離し、外部への影響を防ぎます。
description の原文を見る
Generate Docker sandbox configurations for safely running untrusted OpenClaw skills. Isolates filesystem, network, and process access.
SKILL.md 本文
Sandbox Guard
OpenClawのサンドボックス設定生成ツールです。ユーザーが信頼できないスキルを実行したい場合、ホストシステムからスキルを隔離する安全なDockerベースのサンドボックスを生成します。
サンドボックスが必要な理由
OpenClawスキルはリクエストされたアクセス権限で実行されます。shellアクセスを持つ悪意のあるスキルはシステム全体を危険にさらします。サンドボックスはその影響を最小限に抑えます。
サンドボックスプロファイル
プロファイル: Minimal(読み取り専用スキル向け)
FROM node:20-alpine
RUN adduser -D -h /workspace openclaw
WORKDIR /workspace
USER openclaw
# No network, no elevated privileges
# Mount project as read-only
docker run --rm \
--network none \
--read-only \
--tmpfs /tmp:size=64m \
--cap-drop ALL \
--security-opt no-new-privileges \
-v "$(pwd):/workspace:ro" \
openclaw-sandbox
プロファイル: Standard(読み取り/書き込みスキル向け)
FROM node:20-alpine
RUN adduser -D -h /workspace openclaw
WORKDIR /workspace
USER openclaw
docker run --rm \
--network none \
--cap-drop ALL \
--security-opt no-new-privileges \
--memory 512m \
--cpus 1 \
--pids-limit 100 \
-v "$(pwd):/workspace" \
openclaw-sandbox
プロファイル: Network(APIアクセスが必要なスキル向け)
FROM node:20-alpine
RUN adduser -D -h /workspace openclaw
WORKDIR /workspace
USER openclaw
docker run --rm \
--cap-drop ALL \
--security-opt no-new-privileges \
--memory 512m \
--cpus 1 \
--pids-limit 100 \
--dns 1.1.1.1 \
-v "$(pwd):/workspace" \
openclaw-sandbox
注記: ネットワーク有効のサンドボックスでも権限昇格を防ぎ、リソースを制限します。追加のセキュリティのため、特定のドメインへのアウトバウンドトラフィックを制限するカスタムDockerネットワークで--networkを使用してください。
設定生成ツール
ユーザーがスキルのアクセス権限を提供する場合、適切なサンドボックスを生成します:
入力
Skill: <name>
Permissions: fileRead, fileWrite, network, shell
出力
- Dockerfile — 最小限のベースイメージ、非rootユーザー
- docker run コマンド — セキュリティフラグをすべて含める
- docker-compose.yml — 繰り返し使用可能
セキュリティフラグ(常に含める)
| フラグ | 目的 |
|---|---|
--cap-drop ALL | すべてのLinuxケーパビリティを削除 |
--security-opt no-new-privileges | 権限昇格を防止 |
--read-only | ファイルシステムを読み取り専用に(fileWrite権限がない場合) |
--network none | ネットワークを無効化(network権限がない場合) |
--memory 512m | メモリ使用量を制限 |
--cpus 1 | CPU使用量を制限 |
--pids-limit 100 | プロセス数を制限 |
--tmpfs /tmp:size=64m | 一時的な書き込み可能スペース |
USER openclaw | 非rootユーザーで実行 |
ルール
- 常に最も制限的なプロファイルをデフォルトにする
--privilegedフラグを含むサンドボックスは生成しない- Dockerソケット(
/var/run/docker.sock)をマウントしない - ホストの機密ディレクトリ(
~/.ssh、~/.aws、/etc)をマウントしない - 常に
--cap-drop ALLを使用する — 明示的な正当な理由がない限り個別のケーパビリティを付与しない - リソース制限を含めてDoS攻撃を防止する(メモリ、CPU、pids)
- スキルが
shellを必要とする場合、ユーザーに警告し、サンドボックス出力の監視を提案する - 生成されたファイルは専用出力フォルダにのみ書き込む(例:
.openclaw/sandbox/)— 既存のプロジェクトファイルは上書きしない - ディスクにファイルを書き込む前にユーザー確認を要求する — 生成されたコンテンツをレビュー用に最初に提示する
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- useai-pro
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/useai-pro/openclaw-skills-security / ライセンス: MIT
関連スキル
superpowers-streamer-cli
SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。
catc-client-ops
Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。
ci-cd-and-automation
CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。
shipping-and-launch
本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。
linear-release-setup
Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。
tracking-application-response-times
API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。