Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
agentsh — AIエージェント向けの実行層セキュリティ(ELS) — 監査機能付きポリシー強制シェル。 | Kitploit
ツール/GitHubGitHub/canyonroad/agentsh
認証と認可コンテナセキュリティ動的分析 (サンドボックス)ネットワークセキュリティクラウドセキュリティDevSecOpsインシデントレスポンスAIセキュリティデータベースセキュリティログ分析
GitHubcanyonroad/agentsh
369141514日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

agentsh

AIエージェント向けの実行層セキュリティ(ELS) — 監査機能付きポリシー強制シェル。

リポジトリを見るウェブサイト

agentsh

macOS 注意: ESF(Endpoint Security Framework)+ NE(Network Extension)によるネイティブ macOS の強制適用は Alpha です。ファイル・プロセス・ネットワークイベントがシステム拡張機能から Go ポリシーエンジンへ流れるエンドツーエンドの動作はしますが、リリース間での荒さや破壊的変更が予想されます。本番利用には現時点では Linux を推奨します。

Windows 注意: minifilter ドライバの署名取得に取り組んでいます。それまでは、本番利用では Windows WSL2 モードのみが完全にサポートされます。

AI エージェント向けの、セキュアでポリシー強制型の実行ゲートウェイ。

agentsh はエージェント / ツールの下に位置し、ファイル・ネットワーク・プロセス・シグナルアクティビティ(サブプロセスツリーを含む)を傍受し、定義したポリシーを強制し、構造化監査イベントを出力します。

プラットフォーム注記: Linux は完全な強制適用(セキュリティスコア 100%)を提供します。macOS ESF+NE(スコア 90%)は Alpha で、機能はするものの本番準備はできていません。Windows WSL2 は Linux 相当の完全な強制適用(スコア 100%)を提供します。minifilter ドライバ + AppContainer によるネイティブ Windows(スコア 85%)はドライバ署名待ちです。詳細は プラットフォーム比較マトリクス を参照してください。


agentsh とは?

  • そのまま使えるシェル / 実行エンドポイント。すべてのコマンド(およびそのサブプロセス)を監査可能なイベントに変換します。
  • 操作単位のポリシーエンジン: allow、deny、approve(人間の承認)、soft_delete、redirect。
  • 完全な I/O 可視性:
    • ファイルのオープン / リード / ライト / 削除
    • ネットワーク接続 + DNS
    • プロセスの開始 / 終了
    • PTY アクティビティ
    • DLP と使用量追跡を備えた LLM API リクエスト
    • 宣言された db_services を介した Postgres 系データベーストラフィック
    • シグナルの送信 / ブロック(Linux は強制、macOS/Windows は監査のみ)
    • 組み込み PostgreSQL プロキシ を介したデータベースクエリ — ステートメント単位の分類とポリシー適用
    • 宣言されたサービス(http_services)を介した送信 HTTP API 呼び出しのルーティング。メソッド単位・パス単位のルール、承認ゲート、フェイルクローズドなホスト強制を備えます
  • 2 つの出力モード:
    • 人間にわかりやすいシェル出力
    • エージェント / ツール向けのコンパクトな JSON レスポンス

なぜ agentsh なのか?

エージェントのワークフローは、最終的には任意のコード(pip install、make test、python script.py)を実行することになります。従来の「コマンド実行前に承認を求める」方式の制御はツール境界で止まり、そのコマンドの内部で何が起きているかは見えません。

agentsh はポリシーを実行時に強制するため、サブプロセスが行う隠れた作業も管理・記録され、必要に応じて承認されます。


意味のあるブロック: deny → redirect(「steering」のスーパーパワー)

ほとんどのシステムはアクションを deny できます。agentsh はそれを redirect することもできます。

つまり、エージェントが誤ったアプローチ(または力技の回避策)を試みたとき、ポリシーがコマンドを置き換えてガイダンスを返すことで、正しい経路へ誘導できます。これによりエージェントを整備された道に留め、無駄なリトライを減らせます。

例: curl を監査付きラッパーへリダイレクトする```yaml command_rules:

  • name: redirect-curl commands: [curl, wget] decision: redirect message: "Downloads routed through audited fetch" redirect_to: command: agentsh-fetch args: ["--audit"]
**例: ワークスペース外への書き込みを内部にリダイレクト**```yaml
file_rules:
  - name: redirect-outside-writes
    paths: ["/home/**", "/tmp/**"]
    operations: [write, create]
    decision: redirect
    redirect_to: "/workspace/.scratch"
    message: "Writes outside workspace redirected to /workspace/.scratch"

エージェントは成功した操作を認識します(エラーではありません)が、実際に何がどこに着地するかはあなたが制御します。


コンテナ + agentsh: 組み合わせてこそ効果的

コンテナはホストの攻撃面を隔離します。agentsh はコンテナ内のランタイム可視性とポリシーを追加します。

  • 操作単位の監査(ファイル、ネットワーク、コマンド)により、インストール/ビルド/テスト中に何が発生したかを確認できます。
  • 承認とルールは、最初のコマンドだけでなく、長時間稼働するシェルやサブプロセスツリー全体で維持されます。
  • マウントされたワークスペース/キャッシュ/認証情報に対するパスレベルの制御。コンテナはネイティブにその粒度を提供しません。
  • ホストとコンテナで同じ動作をするため、CI とローカル開発は同じポリシーの結果を確認できます。

クイックスタート

インストール

macOS(Homebrew)```bash brew tap canyonroad/tap brew install --cask agentsh

これにより、ESF+NE システム拡張機能を備えた AgentSH アプリバンドルがインストールされます。インストール後、**System Settings > General > Login Items & Extensions** でシステム拡張機能の承認を求められます。

**Linux(GitHub Release から)**

お使いのプラットフォーム用の `.deb`、`.rpm`、または `.apk` を [リリースページ](https://github.com/erans/agentsh/releases) からダウンロードしてください。```bash
# Example for Debian/Ubuntu
sudo dpkg -i agentsh_<VERSION>_linux_amd64.deb

ソースから(Linux)```bash make build sudo install -m 0755 bin/agentsh bin/agentsh-shell-shim /usr/local/bin

**ソースから (macOS)**```bash
# ESF+NE mode (full enforcement — Alpha, requires Xcode 15+)
make build-macos-enterprise

詳細なmacOSビルド手順については、macOSビルドガイドを参照してください。


ローカルで実行```bash

Start the server (optional if using autostart)

./bin/agentsh server --config configs/server-config.yaml

Create a session and run a command (shell output)

SID=$(./bin/agentsh session create --workspace . --json | jq -r .id) ./bin/agentsh exec "$SID" -- ls -la

Structured output for agents

./bin/agentsh exec --output json --events summary "$SID" -- curl https://example.com

### Check what gets enforced

`agentsh detect` はホストを調査し、実際に利用可能な強制プリミティブ — seccomp、Landlock、FUSE、eBPF、ptrace、cgroups — を報告し、ドメインごとの保護スコアと選択されたセキュリティモードにグループ化します。制限されたホスト(Daytona、E2B、Firecracker クラス)で seccomp user-notify リスナーをインストールできない場合、カーネルが単にサポートしているものではなく、*実際に*強制されるモードを報告します。```bash
agentsh detect              # human-readable protection report
agentsh detect config       # emit a config tuned for this host

モードマトリクスと調整用ノブについては、Security Modes を参照してください。


エージェントに使用を指示する (AGENTS.md / CLAUDE.md スニペット)```md

Shell access

  • Run commands via agentsh, not directly in bash/zsh.
  • Use: agentsh exec $SID -- <your-command-here>
  • For structured output: agentsh exec --output json --events summary $SID -- <your-command-here>
  • Get session ID first: SID=$(agentsh session create --workspace . --json | jq -r .id)
---

### 自動起動(手動デーモン手順は不要)

`agentsh server` を自分で起動する必要は**ありません**。

* 最初の `agentsh exec`(または shim 化された `/bin/sh` / `/bin/bash`)が、`configs/server-config.yaml`(または設定されていれば `AGENTSH_CONFIG`)を使用してローカルサーバーを自動的に起動します。
* そのサーバーは、セッションの存続期間中 FUSE レイヤーとポリシーエンジンを維持します。後続のコマンドはそれを再利用します。
* サーバーのライフサイクルを手動で管理したい場合は、`AGENTSH_NO_AUTO=1` を設定してください。

---

## Docker での使用(シェル shim 付き)

最小限の Debian ベースイメージについては、`Dockerfile.example` を参照してください。

イメージ内でリリースパッケージをインストール(またはビルドをコピー)してから、shim を有効にします。```bash
agentsh shim install-shell \
  --root / \
  --shim /usr/bin/agentsh-shell-shim \
  --bash \
  --i-understand-this-modifies-the-host

shimをサーバー(サイドカーまたはホスト)に向けてください:```dockerfile ENV AGENTSH_SERVER=http://127.0.0.1:18080

これで、コンテナ内の `/bin/sh -c ...` や `/bin/bash -lc ...` はすべて agentsh を経由します。

### 非対話モードでの強制

デフォルトでは、stdin が TTY でない場合、シムはポリシーをバイパスします(パイプ渡しされるコマンドのバイナリデータを保持するため)。コマンドが常に非対話的でありながら強制適用が必要なプラットフォーム(例: exe.dev、サンドボックス API)では、`--force` を指定してください:```bash
agentsh shim install-shell \
  --root / \
  --shim /usr/bin/agentsh-shell-shim \
  --bash \
  --force \
  --i-understand-this-modifies-the-host

これは /etc/agentsh/shim.conf を force=true で書き込み、shimは起動時にこれを読み取ります。この設定ファイルは、シェルがどのように起動されても機能します(環境変数やプロファイルスクリプトとは異なります)。プロセス環境内の AGENTSH_SHIM_FORCE=1 も、プロセス単位で同じ効果をもたらします。

推奨パターン: agentsh を同じポッド/サービスのサイドカー(またはPID 1)として実行し、ワークスペースボリュームを共有します。shimはすべてのシェルホップがポリシーの下に留まることを保証します。


ポリシーモデル

決定

  • allow
  • deny
  • approve(人間による承認)
  • redirect(コマンドを置き換える)
  • audit(許可+ログ)
  • soft_delete(削除を検疫し、復元可能にする)

スコープ

  • ファイル操作
  • コマンド
  • 環境変数
  • ネットワーク(DNS/接続)
  • データベース(PostgreSQLプロキシ経由のSQLステートメント)
  • PTY/セッション設定
  • 宣言されたHTTPサービス

評価

  • 最初に一致したルールが優先されます

ルールは名前付きポリシーに格納され、セッションがポリシーを選択します。

デフォルト:

  • サンプル設定: configs/server-config.yaml
  • デフォルトポリシー: configs/policies/default.yaml
  • 環境変数による上書き: AGENTSH_POLICY_NAME を許可されたポリシー名(サフィックスなし)に設定します。未設定・無効・許可されていない場合はデフォルトが使用されます。
  • 環境変数ポリシー: ポリシーファイル内の policies.env_policy(allow/deny、max_bytes、max_keys、block_iteration)とコマンドごとの env_* 上書きを設定します。空の許可リストは、組み込みのシークレット拒否リストを備えた最小限の PATH/LANG/TERM/HOME をデフォルトにします。block_iteration を設定すると、env の反復処理を非表示にします(env shim が必要)。
  • 許可リスト: config.yml の policies.allowed を設定します。空の場合はデフォルトのみが許可されます。
  • オプションの整合性: 読み込み時にポリシーファイルを検証するために、policies.manifest_path にSHA256マニフェストを設定します。

環境変数ポリシーのクイックリファレンス

ツールをダウンロード