Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nhi-risk-analyzer — AWS、Azure、GCP全体にわたる非人間IDを、オフラインのルールベース分析、権限昇格の検出、およびアクセス許可境界による封じ込めを用いて、検出・リスク評価・修復します。 | Kitploit
ツール/GitHubGitHub/likithmanoj/nhi-risk-analyzer
クラウドインフラストラクチャセキュリティ防御ツール特権昇格脆弱性分析スクリプトと自動化構成監査クラウドセキュリティシークレット検出アイデンティティ&アクセス管理 (IAM)設定ミスインシデントレスポンス
73220日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
likithmanoj/nhi-risk-analyzer

nhi-risk-analyzer

AWS、Azure、GCP全体にわたる非人間IDを、オフラインのルールベース分析、権限昇格の検出、およびアクセス許可境界による封じ込めを用いて、検出・リスク評価・修復します。

リポジトリを見る

マルチクラウド非人間アイデンティティ(NHI)リスクアナライザー&リメディエーター

AWS、Azure、Google Cloud Platform(GCP)全体にわたる非人間アイデンティティ(NHI) — サービスプリンシパル、サービスアカウント、マシンロール、アクセスキー、認証情報 — を検出、インベントリ化、分析、リスク評価し、安全に修復するエンタープライズグレードのオフラインファーストなセキュリティ自動化プラットフォームです。

⭐️ このツールがクラウド全体の非人間アイデンティティの監査とセキュリティ保護に役立つと感じたら、リポジトリにスターを付けていただけると幸いです!


🌐 マルチクラウドアイデンティティカバレッジ

クラウドプロバイダー対象アイデンティティ種別検出エンジンシークレット/認証情報の検査有効なルールステータス
🟧 AWSIAMロール、マシンユーザー、グループ、ポリシーBoto3 + セッションキャッシュアクセスキー(CreateDate、LastUsed)13ルール(AWS_01–16、TAG_01)✅ サポート対象
🟦 AzureEntra IDサービスプリンシパル、アプリ登録、マネージドID純粋なREST(Graph & ARM)クライアントシークレット(passwordCredentials)、証明書(keyCredentials)5ルール(AZURE_01–05)✅ サポート対象
🟥 GCPサービスアカウント、Workload Identity、IAMロール純粋なREST(IAM & Resource Mgr)サービスアカウントキー(validAfterTime、ユーザー管理)6ルール(GCP_01–06)✅ サポート対象

🧪 テストスイートのステータス: すべてのプロバイダーとエンジンにわたり102件成功、4サブテスト成功(100% GREEN)。


📋 概要

NHIリスクアナライザーは、マルチクラウドにおける重大なセキュリティ課題に対処します。現代のエンタープライズクラウド環境では、数百ものマシンおよび非人間アイデンティティ(サービスアカウント、自動化ロール、CI/CD認証情報、クラウド間信頼ロール)が蓄積される一方で、どのアイデンティティが過剰な権限を持ち、休眠状態にあり、あるいは権限昇格リスクをもたらしているかについての可視性はほとんどありません。

本プラットフォームは、3つの異なるフェーズにわたる厳格なアーキテクチャ上の分離を徹底します:

  1. マルチクラウド状態の収集: 軽量でクラウドネイティブな仕組み(AWSはBoto3のセッションキャッシュ、AzureとGCPはゼロ依存の純粋なREST)を介して、正規化されたinventory.jsonスナップショットへ取り込みます。
  2. オフラインリスク評価: ライブネットワークに依存せず、スナップショットに対してセキュリティルールを評価します。これにより、リスクエンジンをクラウドプロバイダーに再度アクセスすることなく再実行・テスト・反復でき、すべての検出結果はそれが生成された正確なアカウント/テナント状態に対して再現可能です。
  3. 自動修復と封じ込め: フェイルクローズドな封じ込めパイプラインにより、ポリシー境界を介して危険な昇格攻撃経路を無効化し、運用中のマイクロサービスに障害を引き起こすことなく、陳腐化/休眠状態の認証情報を無効化します。

🎯 このプロジェクトが存在する理由

エンタープライズのマルチクラウド環境には、日常的に次のような非人間アイデンティティが含まれています:

  • 非標準化: 統一されたプロビジョニング標準なしに、異なるクラウド間で手動で作成されている。
  • 過剰な権限: 実際の運用ニーズをはるかに超える管理者権限やワイルドカード権限が付与されている。
  • 休眠・忘れ去られている: ワークロードや統合パイプラインが廃止された後も長期間にわたりアクティブなまま残されている。
  • 不完全な監査: 標準的なコンプライアンスチェックを回避するインラインポリシー、カスタムロール定義、または直接的なバインディングを保持している。
  • 認証情報のリスク: 陳腐化(90日超)、期限切れ間近、または作成以来一度も使用されていないアクセスキー、クライアントシークレット、サービスアカウントキーを利用している。
  • 昇格を招きやすい: 単独または組み合わせで完全な管理者アクセスへの権限昇格を可能にするクラウドIAM権限を保持している — これはポリシーのみを検査する大半のスキャナーがチェックしない、文書化された攻撃経路です。

NHIリスクアナライザーは、クラウドAPIとオフラインのルール処理を用いて、クラウドプロバイダー全体にわたる検出、セキュリティ分析、および的を絞った修復を自動化します。


🏗️ アーキテクチャとワークフロー

  ┌──────────────┐         ┌──────────────┐         ┌──────────────┐
  │   AWS IAM    │         │  Azure Entra │         │   GCP IAM    │
  │   (Boto3)    │         │  (Pure REST) │         │  (Pure REST) │
  └──────┬───────┘         └──────┬───────┘         └──────┬───────┘
         │                        │                        │
         └────────────────┐       │       ┌────────────────┘
                          ▼       ▼       ▼
                    ┌───────────────────────────┐
                    │       inventory.py        │
                    │ (Multi-Cloud Collector)   │
                    └─────────────┬─────────────┘
                                  ▼
                    ┌───────────────────────────┐
                    │      inventory.json       │
                    │  (Unified State Snapshot) │
                    └─────────────┬─────────────┘
                                  │
                                  ▼
                    ┌───────────────────────────┐
                    │          risk.py          │
                    │    (--cloud Orchestrator) │
                    └─────────────┬─────────────┘
                                  │
         ┌────────────────────────┼────────────────────────┐
         ▼                        ▼                        ▼
  ┌──────────────┐         ┌──────────────┐         ┌──────────────┐
  │  aws.py sub- │         │ azure.py sub-│         │  gcp.py sub- │
  │    runner    │         │    runner    │         │    runner    │
  │ (13 Rules)   │         │  (5 Rules)   │         │  (6 Rules)   │
  └──────┬───────┘         └──────┬───────┘         └──────┬───────┘
         └────────────────────────┼────────────────────────┘
                                  ▼
                    ┌───────────────────────────┐
                    │        dispatch.py        │
                    │ (Containment Dispatcher)  │
                    └─────────────┬─────────────┘
                                  │
         ┌────────────────────────┴────────────────────────┐
         ▼                                                 ▼
┌─────────────────────────┐                     ┌─────────────────────┐
│ policy_surgery.py &     │                     │    credential.py    │
│ policy.py (Boundaries)  │                     │ (Deactivate Key)    │
└─────────────────────────┘                     └─────────────────────┘
  1. 状態収集 (nhi/services/inventory.py): AWS、Azure、GCP 全体のクラウド API をクエリし、認証情報のメタデータ(アクセスキーの最終使用日時、シークレットの有効期限)をエンリッチし、クリーンな状態スナップショットを inventory.json にシリアライズします。
  2. 選択的クラウドオーケストレーター (nhi/risk/risk.py): --cloud {aws,azure,gcp,all} を受け付け、クラウドプロバイダーを選択的にターゲットにすることで、不要な API 呼び出しを削減し、クロステナントのレート制限を回避します。
  3. モジュール式リスクランナー (nhi/risk/runners/): 分離された実行エンジン(aws.py、azure.py、gcp.py)が、プロバイダーのインベントリをモジュール式のセキュリティルールに対して処理し、部分的または欠落したクラウドペイロードに対する防御ガードを備えています。
  4. アーティファクトエクスポートと実行間差分 (nhi/services/export.py、nhi/remediation/diff.py): 過去のベースラインスキャンに対するセキュリティドリフトを計算し、実行アーティファクトをクラウドストレージにアップロードし、検出結果を CSV および監査パイプライン向けの OASIS SARIF v2.1.0 にエクスポートします。
  5. 修復とポリシーサージェリー (nhi/remediation/): AST レベルのポリシーステートメント分割(policy_surgery.py)と、ドライランシミュレーションモードおよび nhi-ignore.yaml による除外を備えた非破壊的な封じ込め境界/キー無効化。

⚡ エンジニアリング最適化

AWS セッションキャッシュ

インベントリ収集時の冗長な AWS STS 認証呼び出しを排除するため、認証済みの boto3.Session オブジェクトが Python プロセスの存続期間中 nhi/aws/session.py にキャッシュされます。

  • STS AssumeRole 呼び出しの削減: 35 → 1
  • インベントリ実行時間の短縮: 79.58s → 45.67s(約43% のランタイム改善)
  • カプセル化: 認証は完全に session.py 内にカプセル化されたままで、ディスカバリやルールモジュールのロジック変更は一切不要です。

純粋な REST によるマルチクラウドディスカバリ(Azure および GCP)

重量で断片化されたクラウド SDK(azure-mgmt-*、msgraph-sdk、google-cloud-iam + grpcio)をバンドルする代わりに、マルチクラウドディスカバリレイヤーは統合された軽量な 純粋な HTTP(requests)+ Bearer トークン 設計を採用しています:

  • コンテナフットプリント: ネイティブでコンパイルされた C/C++ ライブラリ(grpcio)を排除することで、コンテナイメージサイズを 300MB 超から 50MB 未満に削減します。
  • サーバーレスコスト最適化: メモリフットプリントを大幅に削減し、最小のコンテナ RAM ティア(128MB / 256MB)での実行を可能にし、コールドスタートのレイテンシを大幅に短縮します。
  • デュアルプレーン取り込み:
    • アイデンティティプレーン(Microsoft Graph): Entra ID ユーザー、セキュリティグループ、サービスプリンシパル、アプリ登録のために https://graph.microsoft.com/v1.0 へ直接クエリします。
    • リソースプレーン(ARM): ロール割り当て、ロール定義、ユーザー割り当てマネージド ID のために https://management.azure.com へクエリします。

🛡️ ルールカバレッジと修復マッピング

このプラットフォームは、権限昇格のベクター、過度に寛容なポリシー、休眠状態のマシン認証情報を対象として、AWS、Azure、GCP 全体で 26 のアクティブなセキュリティルール を適用します。

🟧 AWS IAM ルール

ツールをダウンロード