Emfirge について
Emfirgeは、モデル化したAWSクラウドのブランチでインフラ変更を試す読み取り専用ハーネスです。適用前にセキュリティ、依存関係、コンプライアンス、コスト、上限を評価し、AWS識別子はLLMに渡る前にローカルでトークン化します。
主な機能
- 01使い捨てブランチでAWS変更をモデル化
- 02Terraform、CloudFormation、API、CLI入力に対応
- 03セキュリティ、依存関係、コンプライアンスを評価
- 04ネットワーク公開範囲と推定コストを比較
- 05pass、warn、blockの判定を返却
活用シーン
- 01AWSリソース削除の影響を確認
- 02本番適用前にインフラ変更をレビュー
- 03変更による影響を受けるコンプライアンス統制を特定
- 04変更前後のコストと公開範囲を比較
MCP 対応
EmfirgeはMCPサーバーとCLIを備え、MCPクライアントからAWSのスキャンやモデル化したブランチの操作を行えます。サーバーは読み取り専用で評価し、承認済み変更をクラウドに適用しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
🛡️ Emfirge
エージェントにクラウドのブランチを与えましょう。
AI エージェントは、実際のインフラストラクチャを変え始めています。
Emfirge は、稼働中の AWS のブランチ上で、まず試せるようにするハーネスです。
変更が実際に何をするのかを示すレンズで評価します。
Ansh Sonkar が開発
エージェントが「使っていないデータベースを整理」したがっています
Emfirge がなければ、エージェントは DeleteDBInstance を呼び出し、そのデータベースの用途をオンコールチャンネルで知ることになります。
Emfirge があれば、エージェントはまずブランチ上で実行します。
you ▸ Clean up the unused databases in us-east-1.
agent ▸ I tried it on a branch first. Verdict: BLOCK
✗ recently_used
CloudWatch metrics show a deleted resource was used in the last 90 days
→ orders-db
✗ data_store_deleted_no_recovery_point
Deleted data store has no recovery point
→ orders-db
Branch #2, deleting only legacy-reports-db, passes.
Want the exact API call for that one?
本番環境には何も触れていません。エージェントは計画を変更し、あなたに渡す内容は、合格した判定にハッシュでひも付けられています。
出力は簡略化されています。理由コードとメッセージは、エンジンが実際に出力するものです。
3 つのレイヤー
🧰 ハーネス:プロダクト
エージェントが作業する場所、参照できる内容、受け取る結果、そして省略できないことを定めます。
- 常に読み取り専用です。 Emfirge はクラウドに書き込みません。承認済みの変更は、あなたまたはパイプラインが適用します。
- デフォルトでプライベートです。 LLM が参照する前に、AWS の識別子はあなたのマシン上でトークン化されます。
- 黙って合格にはしません。 Emfirge がモデル化できない変更は
passになりません。チェックの不足は隠さず報告します。
🌿 ブランチ:エンジン
稼働中の AWS をモデル化した Git スタイルのコピーです。ベーススナップショットと、順序付けされた変更のリストで構成されます。
- Git スタイルの操作。 コードの場合と同じように、フォーク、ロールバック、比較、破棄ができます。
- さまざまな入力に対応。 型付き変更、Terraform のプラン、CloudFormation の変更セット、AWS API 呼び出し、AWS CLI コマンドを入力できます。同じ変更であれば、どの方法で入力しても同じ結果になります。
- 両側の差分を表示。 追加・削除された内容、インターネットから到達可能になった内容、変更前後のコストを確認できます。
🔍 レンズ:評価する項目
各レンズが異なる観点からブランチを評価し、結果を統合して 1 つの pass / warn / block を出します。
| レンズ | 確認する内容 | |
|---|---|---|
| ✅ | セキュリティ | 何かが公開される、または権限昇格の経路が開かれることはありますか? |
| ✅ | 依存関係 | これを削除すると何が壊れますか?まだ使用されていますか?復旧できますか? |
| ✅ | コンプライアンス | CIS 1.5 と SOC 2 のどの統制が切り替わりますか?(統制リストは Prowler が公開しているデータに基づきます。カバーされていない統制が pass になることはありません) |
| 🟡 | コスト | 変更前後のコストはいくらですか?(AWS が公開する Price List に基づきます。us-east-1 のみ。LCU は含みません) |
| 🟡 | 制限 | AWS のクォータに達しますか?(初期段階では AWS のデフォルトクォータを使用します) |
| 🔜 | 独自のレンズ | 独自の評価器を用意し、同じブランチの仕様に対して実行できます。 |
試してみる
npx @emfirge/mcp install
次に、アシスタントに次のように伝えます。
Help me set up Emfirge, then scan arn:aws:iam::123456789012:role/EmfirgeReadOnly in us-east-1
アカウント ID はプレースホルダーです。セットアップでは、読み取り専用ロール用のワンクリック CloudFormation リンクが用意されます。スタックはいつでも削除して、アクセスを取り消せます。
インストーラーは Claude Desktop、Claude Code、Cursor、Kiro、Cline、Continue、Codex をセットアップします。また、ほかの MCP クライアントも手動で設定できます。API またはブランチ CLIも利用できます。すべてのツールについては、MCP READMEをご覧ください。
信頼性を重視した設計
エンジンのすべての動作は、番号付きの法則によって定められています。これは常に成立しなければならないプロパティテストです。現在までに48個あり、たとえば次のようなものがあります。
L1: 空のブランチは、ライブスキャンとまったく同じスコアになります。
L7: 同じスナップショットと変更には、常に同じ判定が返されます。
L9: お客様の識別子がフリーテキストの出力に現れることはありません。
L12: 証拠によって判定が厳しくなることはあっても、緩くなることはありません。
L21: Terraform のセキュリティグループルールと、それに相当する AWS API 呼び出しには、同じ判定が返されます。
チェックには手書きのリストではなく、公開ソースを使用しています。pathfinding.cloud のエスカレーションパス、policy_sentry の IAM データ、AWS スキーマ、Prowler のコンプライアンスデータ、AWS Price List がその例です。Checkov は各ブランチの判定でアドバイザリースキャナーとして実行されます(警告を出しますが、それ自体でブロックすることはありません)。Trivy は無効になっています。すべての CI 実行でスコアカードが公開されます。
Emfirge が主張しないこと: ブランチはお客様のクラウドをモデル化したものであるため、pass は証拠であり、保証ではありません。チェックの一部でもスキップされた場合は、その旨が判定に表示されます。現時点で Emfirge は安全なワークスペースであり、ライブの適用をブロックするゲートではありません。
ブランチで現在モデル化できる変更
| リソースタイプ | 追加 | 変更 | 削除 |
|---|---|---|---|
| EC2 インスタンス、セキュリティグループ、RDS インスタンス、S3 バケット、Lambda 関数、ネットワーク ACL | ✅ | ✅ | ✅ |
| IAM ロール(信頼ポリシーを含む) | ✅ | ✅ | ✅ |
| IAM ユーザー、NAT ゲートウェイ | ✅ | ||
| RDS スナップショット | ✅ | ✅ | |
| EBS ボリューム | ✅ | ✅ | |
| EBS スナップショット | ✅ | ||
| ルートテーブル | ✅ | ✅ | |
| IAM ロールポリシー | ✅ |
ライブの GET /branches/capabilities エンドポイントが正式な一覧です。また、GET /branches/field-catalog には、設定可能なすべてのフィールドと、それが表す AWS API メンバーが記載されています。ほとんどのリソースタイプには tags もあり、タグを変更するとユーザータグのセット全体が置き換わります。モデル化されていない項目がある場合、判定の信頼度は下がり、合格にはなりません。
リポジトリの構成とライセンス
| パス | 内容 | ライセンス |
|---|---|---|
backend/ | エンジン:コレクター、グラフ、ブランチ、入力アダプター、レンズ、判定、ハンドバック | AGPL-3.0 |
mcp/ | @emfirge/mcp、MCP サーバーおよび CLI | Apache-2.0 |
site/ | emfirge.cloud/docs のドキュメント | AGPL-3.0 |
iam-role.yaml | 読み取り専用の顧客ロール | AGPL-3.0 |
開発者
Emfirge は Ansh Sonkar(@theanshsonkar)が設計・開発しています。エンジン、ブランチモデル、レンズ、MCP を手がけています。
AWS 上で AI エージェントを開発している方、または Emfirge について話したい方は、[email protected] までメールでご連絡ください。
コントリビューション · セキュリティ · プライバシー
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。