
使い捨てコンピューティング上でエージェントが運用するセキュリティ実験のための、コンポーザブルなリサーチコントラクトおよびYAMLレシピフレームワーク
ステータス: ベータ — 研究フレームワーク & ランタイムキット
Cusimanse は活発に開発が進められています。フォークして、テストして、リファレンス実験を実行して、バグを報告して、プルリクエストを送ってください。 ベータ期間中は、API、レシピ、ドキュメント、統合機能が進化することが想定されます。
AI の利用と責任あるコントリビューション: Cusimanse は、研究フレームワーク、ドキュメント、分析ワークフロー、エンジニアリングプロセスの一部として、AI 支援開発とエージェント型 AI を利用しています。AI が生成した、または AI が支援した出力は、自動的に権威あるもの、安全なもの、正確なもの、独創的なもの、あるいは本番環境での使用に適したものであるとは限りません。コントリビューターは、提出前に AI 支援による変更をレビュー、テスト、検証する責任があります。セキュリティ上の意思決定、認可、証拠の解釈、または安全上重要なアクションにおいて、AI システムを唯一の権威として依存しないでください。Cusimanse は認可された研究にのみ使用し、適用される法律やポリシーを遵守し、認証情報や機密データを保護し、実行をプロジェクトが宣言したポリシーと使い捨てコンピュートの境界内に保ってください。コントリビューションでは、必要に応じて重要な AI 支援を明確に識別し、人間の説明責任を維持し、リポジトリのテスト、レビュー要件、責任ある使用の期待に従うべきです。
使い捨てコンピュート上での宣言的でエージェント運用されるセキュリティ研究。 研究者は意図と要件を宣言し、エージェントが計画、選択、分析を行い、Go ケイパビリティ API とポリシーが実行の可否と方法を決定します。
コントラクト → 要件 → プロンプトハンドオフ → エージェント → ケイパビリティ解決 → Go ランタイム → ポリシー/承認 → Lima/QEMU → インストルメンテーション/ワークロード → 証拠 → 分析 → 独立検証 → レポート → 保全 → 破棄。
| レイヤー | 責務 | 信頼できる情報源 |
|---|---|---|
| コントラクト | 目的、認可、スコープ、受け入れ基準 | contracts/ |
| 要件 | OS、分離、ワークロード、ネットワーク、インストルメンテーション | recipes/experiments/ |
| プロンプトライブラリ | エージェント中立のハンドオフ | prompts/experiments/ |
| オペレーターガイド | 薄いアダプターハンドオフ | prompts/operators/ |
| プロファイル | 信頼された再利用可能なケイパビリティ | recipes/profiles/ |
| ランタイム | 解決、ポリシー、ライフサイクル、実行境界 | cmd/cusimanse/、internal/ |
| ポリシー | 権限と承認 | policies/、internal/policy/ |
| 封じ込め | 使い捨てコンピュート | recipes/lima/、Lima/QEMU |
| 証拠 | 観察、来歴、検証 | runs/<session-id>/ |
エージェントは、信頼されたプロファイルを作成したり、ポリシーを拡張したり、信頼されたレシピを変更したり、信頼されていないワークロードをホスト上で直接実行したりすることはできません。
境界ルール: エージェントはどのような研究を行うかを決定し、Cusimanse は実行の可否と方法を決定します。
contracts/<experiment>.md に、研究課題、認可、スコープ、受け入れ基準、安全上の制約を記述します。recipes/experiments/<experiment>.yaml には要件のみを宣言します。
例:
requirements:
execution: disposable
os: linux
workload: npm-threat
network: localhost-only
instrumentation: [process, syscall, filesystem, network]
./scripts/install.sh
export PATH="$HOME/.local/bin:$HOME/go/bin:$PATH"
cusimanse doctor
cusimanse validate
cusimanse preflight
cusimanse policy validate
cusimanse test
cusimanse integration-test
goose recipe validate recipes/npm-threat-001/recipe.yaml
goose recipe validate recipes/subrecipes/evidence-analysis.yaml
goose recipe validate recipes/subrecipes/verification.yaml
goose recipe validate recipes/subrecipes/report.yaml
goose run --recipe ./recipes/npm-threat-001/recipe.yaml --interactive
レシピは summon プラットフォーム拡張を明示的に宣言します。Summon は委任/オーケストレーションのみを提供し、実行を認可するものではありません。
cusimanse resolve npm-threat-001
cusimanse policy explain vm
cusimanse policy explain network
cusimanse policy check-all
cusimanse policy require vm --approved
cusimanse --approved run npm-threat-001 <session-id>
cusimanse observability report <session-id>
cusimanse policy audit
ライフサイクル: resolve → policy → provision → configure → instrument → execute → collect → verify → report → preserve → destroy。
プロンプトはハンドオフであり、権限レイヤーでも第二のレシピでもありません。
prompts/experiments/<experiment>.md 共有研究ハンドオフ
prompts/operators/<operator>.md 薄いオペレーターガイダンス
recipes/experiments/<experiment>.yaml 要件の信頼できる情報源
recipes/<experiment>/recipe.yaml Goose/ランタイムレシピ
contracts/<experiment>.md 認可/スコープの情報源
OpenCode、Hermes、Antigravity、Pi の場合も、同じコントラクト、実験 YAML、レシピ参照、共有プロンプト、対応するオペレーターガイドを提供します。代替オペレーターは、ネイティブ機能を使用して計画/委任/分析を行うことはできますが、ケイパビリティの実行には Cusimanse を呼び出す必要があります。サポートされていないケイパビリティは PARTIAL として記録され、アダプターはポリシー、プロファイル、信頼されたレシピを変更できません。
正規のアダプター設定: recipes/agents/adapter-matrix.yaml および docs/GOOSE-ADAPTERS.md。
権威あるインベントリ: recipes/host/security-research.yaml。プロジェクト全体のインベントリ: manifest/TOOL-INVENTORY.yaml。詳細なホストアクセス/設定ガイド: docs/HOST-TOOLCHAIN.md。
./scripts/install.sh
cusimanse tools list
cusimanse tools versions
cusimanse tools config
cusimanse tools path
ホストツールは、Git、シェル/ブートストラップユーティリティ、Python、Node/npm、Go、jq/yq、ripgrep、Goose をカバーします。Lima/QEMU は使い捨てコンピュートを提供します。ゲストインストルメンテーションは docs/INSTRUMENTATION.md に別途記載され、recipes/instrumentation/security-research.yaml で宣言されています。
recipes/gateway/mandatory.yaml は、localhost のみのモデルゲートウェイチェーンを定義します。
| コンポーネント | アクセス | データ / UI | インストール / 設定 |
|---|---|---|---|
| LiteLLM | 127.0.0.1:4000、エージェント用の OpenAI 互換ゲートウェイ | モデルリクエスト、ルーティング、正規化。公開リスナーなし | scripts/install.sh により Cusimanse Python 環境にインストール。設定は ~/.config/cusimanse/litellm.yaml |
| OmniRoute | 127.0.0.1:20128、LiteLLM のアップストリーム | プロバイダールーティング/フォールバック。localhost API、公開リスナーなし | インストーラーにより固定 npm パッケージでインストール。環境設定は ~/.config/cusimanse/omniroute.env |
フロー: agent/Goose → LiteLLM :4000 → OmniRoute :20128 → 設定済みプロバイダー。
シークレットは環境変数のみです。ゲートウェイはトランスポート/モデルルーティングコンポーネントであり、セキュリティ境界ではありません。Cusimanse ポリシーが引き続き権威を持ちます。cusimanse tools config を使用して、シークレットを出力せずに設定場所を確認してください。
インストルメンテーションは使い捨て Linux ゲスト内で実行され、実行ワークフローによって所有されます。権威あるインベントリとインストールソースは recipes/instrumentation/security-research.yaml および recipes/lima/security-research.yaml です。
完全なツール表、アクセスモデル、インストールの詳細、VM 診断コマンド、証拠ルールについては docs/INSTRUMENTATION.md を参照してください。
Goose はエージェントを観察し、Cusimanse は実験を観察します。
recipes/observability/mandatory.yaml で宣言:
| オブザーバー | アクセス | データ/UI |
|---|---|---|
| Numbat | cusimanse tools numbat | ~/.numbat/cusimanse.ndjson |
| Phoenix | ブラウザ | http://127.0.0.1:6006 |
| OpenTelemetry | OTLP/HTTP | http://127.0.0.1:4318 |
| ClawMetry | ブラウザ | http://127.0.0.1:8900 |
| Aegis | cusimanse observability status | ~/.local/share/cusimanse/aegis/ |