Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nhi-risk-analyzer — AWS, Azure, GCP 전반에서 비인간 ID를 탐지하고 위험을 평가하며 교정하며, 오프라인 규칙 기반 분석, 권한 상승 탐지, 권한 경계 격리를 활용합니다. | Kitploit
도구/GitHubGitHub/likithmanoj/nhi-risk-analyzer
Cloud Infrastructure SecurityDefensive ToolsPrivilege EscalationVulnerability AnalysisScripting & AutomationConfiguration AuditingCloud SecuritySecret DetectionIdentity & Access Management (IAM)MisconfigurationIncident Response
73220일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHublikithmanoj/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서비스 계정, 워크로드 아이덴티티, IAM 역할순수 REST (IAM & Resource Mgr)서비스 계정 키 (validAfterTime, 사용자 관리형)6개 규칙 (GCP_01–06)✅ 지원됨

🧪 테스트 스위트 상태: 모든 제공자 및 엔진에 걸쳐 102개 통과, 4개 하위 테스트 통과 (100% GREEN).


📋 개요

NHI 위험 분석기는 중대한 멀티클라우드 보안 과제를 해결합니다. 현대 엔터프라이즈 클라우드 환경은 수백 개의 머신 및 비인간 신원(서비스 계정, 자동화 역할, CI/CD 자격 증명, 클라우드 간 신뢰 역할)을 축적하면서도 어떤 신원이 과도한 권한을 보유하고, 휴면 상태이며, 또는 권한 상승 위험을 초래하는지에 대한 가시성이 거의 없습니다.

이 플랫폼은 세 가지 별개의 단계에 걸쳐 엄격한 아키텍처 분리를 적용합니다:

  1. 멀티클라우드 상태 수집: 경량의 클라우드 네이티브 메커니즘(AWS는 Boto3 세션 캐싱, Azure와 GCP는 의존성 없는 순수 REST)을 통해 정규화된 inventory.json 스냅샷으로 수집합니다.
  2. 오프라인 위험 평가: 실시간 네트워크 의존성 없이 스냅샷에 대해 보안 규칙을 평가합니다. 즉, 위험 엔진은 클라우드 제공자에 다시 접속하지 않고도 재실행, 테스트, 반복이 가능하며, 모든 발견 사항은 생성된 정확한 계정/테넌트 상태에 대해 재현 가능합니다.
  3. 자동화된 교정 및 격리: 정책 경계를 통해 위험한 상승 공격 경로를 무력화하고, 운영 중인 마이크로서비스의 중단을 초래하지 않으면서 오래되었거나 휴면 상태인 자격 증명을 비활성화하는 실패 시 차단(fail-closed) 격리 파이프라인입니다.

🎯 이 프로젝트가 존재하는 이유

엔터프라이즈 멀티클라우드 환경에는 일상적으로 다음과 같은 비인간 신원이 존재합니다:

  • 비표준화됨: 통합된 프로비저닝 표준 없이 서로 다른 클라우드에 수동으로 생성됩니다.
  • 과도한 권한 부여: 실제 운영 필요를 훨씬 초과하는 관리자 또는 와일드카드 권한이 부여됩니다.
  • 휴면 및 망각됨: 워크로드나 통합 파이프라인이 폐기된 후에도 오랫동안 활성 상태로 남아 있습니다.
  • 불완전하게 감사됨: 표준 규정 준수 검사를 우회하는 인라인 정책, 사용자 정의 역할 정의, 또는 직접 바인딩을 보유합니다.
  • 자격 증명 위험: 오래되었거나(>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)에서 실행할 수 있게 하고 콜드 스타트 지연을 대폭 줄입니다.
  • 이중 평면 수집:
    • ID 평면 (Microsoft Graph): Entra ID 사용자, 보안 그룹, 서비스 주체, 앱 등록을 위해 https://graph.microsoft.com/v1.0에 직접 쿼리합니다.
    • 리소스 평면 (ARM): 역할 할당, 역할 정의, 사용자 할당 관리 ID를 위해 https://management.azure.com에 쿼리합니다.

🛡️ 규칙 범위 및 교정 매핑

이 플랫폼은 AWS, Azure, GCP 전반에 걸쳐 26개의 활성 보안 규칙을 적용하며, 권한 상승 벡터, 과도하게 허용적인 정책, 휴면 상태의 머신 자격 증명을 대상으로 합니다.

🟧 AWS IAM 규칙

도구 다운로드