mcpField
C
Cyntrisec CLI (Historical)

Cyntrisec CLI (Historical)

ローカル
github.com/cyntrisecセキュリティ425 週間前に更新

Cyntrisec CLI (Historical) について

Cyntrisec CLIは、AWSインフラを読み取り専用で分析する歴史的なツールで、現在は提供終了しています。機能グラフの構築、攻撃経路やセキュリティ上の問題の検出に対応し、ローカルMCPサーバーとしてスキャン情報を公開できます。現行のCyntrisec製品ではありません。

主な機能

  1. 01AWSインフラの読み取り専用スキャン
  2. 02機能グラフの構築と攻撃経路の検出
  3. 03問題と未使用権限の分析
  4. 04レポートと修正案の生成
  5. 05スキャン比較とコンプライアンス確認

活用シーン

  1. 01AWSの攻撃経路を確認
  2. 02未使用のIAM権限を特定
  3. 03インフラスキャンのスナップショットを比較
  4. 04CIS AWSまたはSOC 2への準拠を確認

MCP 対応

CLIはローカルのstdio MCPサーバーとして実行できます。ツールからスキャン概要、資産、問題、攻撃経路、アクセス確認、修正案、コンプライアンス結果、スキャン比較を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cyntrisec-cyntrisec": {
"command": "uvx",
"args": [
"cyntrisec"
],
"env": {
"AWS_PROFILE": "<AWS_PROFILE>",
"AWS_DEFAULT_REGION": "<AWS_DEFAULT_REGION>",
"AWS_ACCESS_KEY_ID": "<AWS_ACCESS_KEY_ID>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>"
}
}
}
}
起動コマンドuvx cyntrisec
設定が必要な環境変数
AWS_PROFILEAWS profile name to use for authentication
AWS_DEFAULT_REGIONAWS region to use (defaults to profile/env settings)
AWS_ACCESS_KEY_IDシークレットAWS access key ID (use AWS_PROFILE instead if possible)
AWS_SECRET_ACCESS_KEYシークレットAWS secret access key (use AWS_PROFILE instead if possible)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypicyntrisec0.1.14

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Cyntrisec CLI

PyPI License Status

企業設立前の歴史的プロジェクトです。 cyntrisec-cli は、Cyntrisec が会社の注力分野を EphemeralML と AIR v1 に絞る前に作成されました。現在の Cyntrisec 製品、サポート対象、または商用サービスではありません。PyPI パッケージ名 cyntrisec、CLI コマンド cyntrisec、および MCP サーバー ID io.github.cyntrisec/cyntrisec は、過去のインストール環境に影響を与えないよう、そのまま保持されています。

image-download

注意

歴史的ソフトウェアに関する免責事項:このツールは、Cyntrisec の現行製品ではありません。いかなる種類の保証もなく、「現状有姿」で提供されます。 CLI はデフォルトで読み取り専用の分析ツールですが、その調査結果に基づいて行うすべての操作について、ユーザーが全責任を負います。 生成された修正計画と Terraform コードは、適用する前に必ず確認してください。

AWS の機能グラフ分析と攻撃経路の検出を行う、歴史的な CLI です。

歴史的に、読み取り専用の CLI ツールとして次の機能を提供していました。

  • AssumeRole を介して AWS インフラストラクチャをスキャンする
  • 機能グラフ(IAM、ネットワーク、依存関係)を構築する
  • インターネットから機密性の高いターゲットまでの攻撃経路を検出する
  • ROI(セキュリティへの影響とコスト削減)に基づいて修正の優先順位を付ける
  • 未使用の機能を特定する(影響範囲を縮小する)
  • 証明チェーンを含む、決定的な JSON を出力する

デモ

Cyntrisec Demo

Claude MCP で自然言語を使って攻撃経路を検出し、修正を生成する方法をご覧ください。

アーキテクチャ

+----------------------------------------------------------------------------------+
|                                   CYNTRISEC CLI                                   |
+----------------------------------------------------------------------------------+
| CLI Layer (Typer)                                                                 |
|   scan   analyze   cuts   waste   report   comply   can   diff   serve   ...      |
+-----------------------------+----------------------------------------------------+
| Core Engine                 | Storage (local)                                     |
|  - AWS collectors           |  ~/.cyntrisec/scans/<scan_id>/                      |
|  - Normalization/schema     |    snapshot.json, assets.json, relationships.json   |
|  - GraphBuilder -> AwsGraph |    findings.json, attack_paths.json                 |
|  - Path search -> paths     |  ~/.cyntrisec/scans/latest -> <scan_id>             |
|  - Min-cut + Cost (ROI)     |  (Windows fallback: latest is a file)               |
+-----------------------------+----------------------------------------------------+
| Outputs: JSON/agent, HTML report, remediation plan + Terraform hints              |
+----------------------------------------------------------------------------------+
データフロー
CLI (scan) --AssumeRole--> AWS Session --Describe/Get/List--> AWS APIs (read-only)
     |
     v
Collectors -> normalize -> Assets + Relationships -> AwsGraph
                                                |
                                                v
                                   Attack path search (BFS/DFS)
                                                |
                                                v
                                   Min-cut (remediation cuts)
                                                |
                                                v
                                      Cost engine (ROI)

Local artifacts: ~/.cyntrisec/scans/<scan_id>/*.json

インストール

pip install cyntrisec
Windows の PATH 修正

「cyntrisec is not recognized」と表示される場合、Scripts フォルダーが PATH に含まれていません。

# Option 1: Run with python -m
python -m cyntrisec --help

# Option 2: Add to PATH for current session
$env:PATH += ";$env:APPDATA\Python\Python311\Scripts"

クイックスタート

前提条件: AWS CLI がインストールされ、認証情報(例:aws configure)または環境変数が設定されていることを確認してください。セットアップの手順では terraform が必要です。

# 1. Create the read-only IAM role in your account
cyntrisec setup iam 123456789012 --output role.tf

# 2. Apply the Terraform
cd your-infra && terraform apply

# 3. Run a scan
cyntrisec scan --role-arn arn:aws:iam::123456789012:role/CyntrisecReadOnly

# 4. View attack paths
cyntrisec analyze paths --min-risk 0.5

# 5. Find minimal fixes (prioritized by ROI)
cyntrisec cuts --format json

# 6. Generate HTML report
cyntrisec report --output report.html

コマンド

主な分析機能
コマンド説明
scanAWS インフラストラクチャをスキャンする
analyze paths攻撃経路を表示する
analyze findingsセキュリティ上の検出結果を表示する
analyze statsスキャン統計を表示する
analyze businessビジネスエントリーポイントを分析する
reportHTML/JSON レポートを生成する
セットアップと検証
コマンド説明
setup iamIAM ロールの Terraform を生成する
validate-roleIAM ロールの権限を検証する
修正
コマンド説明
cuts最小限の修正を見つける(コストと ROI を優先)
waste未使用の IAM 権限を見つける
remediateTerraform の計画を生成する、または任意で適用する(制御付き)
ポリシーテスト
コマンド説明
can「X は Y にアクセスできるか?」をテストする
diffスキャンのスナップショットを比較する
complyCIS AWS / SOC2 への準拠を確認する
エージェント向けインターフェース
コマンド説明
manifest機械可読な機能一覧を出力する
explain自然言語で説明する
ask平易な英語でスキャンについて質問する
serveAI エージェント向けの MCP サーバーとして実行する

MCP サーバーモード

過去の CLI は、既存のローカル環境との互換性を保つため、引き続き MCP サーバーとして実行できます。

# Install with MCP support (now included by default)
pip install cyntrisec
cyntrisec serve              # Start stdio server
cyntrisec serve --list-tools # List available tools
MCP ツール(15)
カテゴリツール説明
検出list_tools利用可能なすべてのツールを一覧表示します
set_session_snapshotセッションのアクティブなスナップショットを設定します
get_scan_summary最新の AWS スキャンの概要を取得します
アセットget_assets種類/名前で絞り込んだアセットを取得します
get_relationshipsアセット間の関係を取得します
get_findings重大度で絞り込んだセキュリティ上の検出結果を取得します
攻撃経路get_attack_pathsリスクスコア付きの攻撃経路を取得します
explain_path経路をホップごとに詳しく説明します
explain_finding検出結果を詳しく説明します
修復get_remediations攻撃経路に対する最適な修正方法を検索します
get_terraform_snippet修復用の Terraform コードを生成します
アクセスcheck_accessプリンシパルがリソースにアクセスできるかをテストします
get_unused_permissions未使用の IAM 権限を検索します
コンプライアンスcheck_complianceCIS AWS または SOC 2 への準拠を確認します
compare_scansスキャンスナップショットを比較します
Claude Desktop

MacOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cyntrisec": {
      "command": "python",
      "args": ["-m", "cyntrisec", "serve"]
    }
  }
}
Claude Code(CLI)

次のコマンドを実行してサーバーを設定します。

claude mcp add cyntrisec -- python -m cyntrisec serve
Google Gemini / Antigravity

エージェントの設定ファイル(例:~/.gemini/antigravity/mcp_config.json)を見つけて、次を追加します。

{
  "mcpServers": {
    "cyntrisec": {
      "command": "python",
      "args": ["-m", "cyntrisec", "serve"]
    }
  }
}

信頼性と安全性

読み取り専用の保証

このツールは、お使いの AWS アカウントに対して読み取り専用の API 呼び出しを行います。IAM ロールには Describe*、Get*、List* の権限のみを付与してください。

データの外部流出なし

すべてのデータはお使いのローカルマシンに保存されます。外部サーバーに送信されることはありません。スキャン結果は ~/.cyntrisec/scans/ に保存されます。

自動修復なし(デフォルトの安全モード)

デフォルトでは、Cyntrisec は読み取り専用であり、AWS インフラストラクチャを変更しません。

  • 読み取り専用 API を使用してアカウントを分析します。
  • 確認用の修復用成果物(例:Terraform モジュール)を生成できます。
  • 変更を自動的に適用することはありません。
任意の修復実行(明示的なオプトイン)

Cyntrisec には、意図的に有効化した場合にのみ Terraform を実行できる、明示的に制御された手順が用意されています。

このモードは次のとおりです。

  • デフォルトでは無効
  • --enable-unsafe-write-mode が必要です
  • Terraform を実行するには、追加の明示的なフラグ(例:--execute-terraform)が必要です
  • 無人運用の本番環境ではなく、制御された環境(サンドボックス/承認プロセスのある CI)での使用を想定しています

これらのフラグを渡さない限り、Cyntrisec が terraform apply を実行することはありません。

書き込み操作

Cyntrisec は、スキャンおよび分析中にAWS の書き込み API 呼び出しを行いません。

サポートされている唯一の「書き込み」動作は、お使いのマシン上でローカルに Terraform を任意で実行することです。これは、危険な操作を許可するフラグで明示的に有効化した場合に限られます。

すべての AWS API 呼び出しは、セッション名 cyntrisec-cli で CloudTrail に記録されます。

信頼性と権限

Cyntrisec は読み取り専用の IAM ロールで実行されます。cyntrisec setup iam <ACCOUNT_ID> で推奨ポリシーを生成し、権限は Describe*、Get*、List* に限定してください。ライブモード(waste --live、can --live)には追加の IAM 権限が必要です。生成されるポリシーとドキュメントに、それらの追加権限について記載されています。

出力形式

主な出力は stdout への JSON です。stdout が TTY でない場合、CLI は自動的に JSON に切り替わります。

cyntrisec analyze paths --format json | jq '.paths[] | select(.risk_score > 0.7)'

エージェント向けの出力では、結果が構造化されたエンベロープに格納されます。

cyntrisec analyze paths --format agent
{
  "schema_version": "1.0",
  "status": "success",
  "data": {...},
  "artifact_paths": {...},
  "suggested_actions": [...]
}

終了コード

コード意味
0成功/準拠
1検出結果/リグレッション/拒否
2使用方法のエラー
3一時的なエラー(再試行)
4内部エラー

CI/CD での使用:

cyntrisec scan --role-arn $ROLE_ARN || exit 1
cyntrisec diff || echo "Regressions detected"

ストレージ

スキャン結果はローカルに保存されます。

~/.cyntrisec/
|-- scans/
|   |-- 2026-01-17_123456_123456789012/
|   |   |-- snapshot.json
|   |   |-- assets.json
|   |   |-- relationships.json
|   |   |-- findings.json
|   |   `-- attack_paths.json
|   `-- latest -> 2026-01-17_...
`-- config.yaml

バージョニング

このプロジェクトはセマンティックバージョニングに従います。リリースノートについては CHANGELOG.md を参照してください。

ライセンス

Apache-2.0

Links

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。