Skip to main content
Glama

CloudLedger

다중 계정 AWS 보안 스캐닝 및 인프라 원장 시스템으로, MCP 서버를 통해 스캔 기록을 조회할 수 있습니다.

상태: 사전 출시. CloudLedger는 현재 활발히 개발 중이며 아직 PyPI에 게시되지 않았습니다. 아래 명령어는 의도된 0.1.0 릴리스를 기준으로 설명하며, 그때까지는 차이가 있을 수 있습니다.

개요

CloudLedger는 여러 AWS 계정에 걸쳐 보안 평가를 수행하고 상세한 인프라 정보를 수집하여 모든 스캔의 기록 원장을 구축합니다. CIS 벤치마크, PCI-DSS, GDPR, HIPAA 및 기타 프레임워크에 대한 자동화된 보안 점검을 위해 Prowler를 통합하며, 수집된 데이터를 MCP(Model Context Protocol) stdio 서버를 통해 노출하여 Claude Desktop, Claude Code 또는 기타 MCP 클라이언트에서 자연어로 조회할 수 있습니다.

Related MCP server: quicksight-mcp

기능

스캐너

  • 보안 평가: 프레임워크 기반 자동 점검을 위한 Prowler 통합, 내장된 노출, ID, 네트워크 평가 포함

  • 서비스 인벤토리: 모든 리전에서 사용 중인 모든 AWS 서비스 식별

  • 네트워크 아키텍처: 서브넷, 라우트 테이블, 인터넷 게이트웨이, NAT 게이트웨이를 포함한 VPC 구성

  • 컴퓨팅, 스토리지 및 ID: EC2, 로드 밸런서, 오토 스케일링 그룹, 공개 노출 분석이 포함된 S3 버킷, IAM 사용자, 역할 및 정책

  • DNS: Route53 호스팅 영역 및 레코드 세트

  • 스캔 태깅: 스캔 시점 또는 사후에 스캔에 태그를 지정하고, CLI 또는 MCP 도구에서 태그별로 원장 검색

  • AWS 조직 인식: 대화형 스캔은 조직 구성원 및 관리(컨트롤 타워) 계정을 캡처하고, 원장에 관리 계정 기록이 없는 경우 스캔을 제안하며, 멤버 계정을 관리 계정에 연결

  • 기록 원장: 모든 스캔이 타임스탬프와 함께 저장되어 비교 및 드리프트 분석 가능

스토리지

  • SQLite 기본 제공 (기본 위치는 플랫폼별로 관리), 또는

  • 선택적 확장을 통한 PostgreSQL, MySQL 또는 MSSQL, cloudledger setup으로 한 번 구성; 연결 자격 증명은 운영 체제 키링에 안전하게 저장

MCP 서버

  • 보안 조회: 공개적으로 액세스 가능한 S3 버킷, 퍼블릭 IP가 있는 EC2 인스턴스, 과도하게 허용적인 보안 그룹

  • 네트워크 조회: 특정 IP 주소 또는 CIDR 범위를 포함하는 계정 찾기, VPC 아키텍처 매핑

  • 구성 조회: 스캔 날짜 간 구성 비교, 드리프트 추적

  • 태그 및 조직 조회: 태그별 스캔 검색, 태그 목록, 조직 관계 확인

요구 사항

  • uv (Python 및 모든 종속성 관리)

  • Python 3.12 (uv에 의해 자동 설치됨; Prowler가 numpy 2.0.2를 고정하기 때문에 3.13+는 지원되지 않음)

  • AWS 자격 증명 (임시 세션 토큰 권장)

  • AWS API 액세스를 위한 인터넷 연결

설치

PyPI에서 (게시 후):

# Run ad hoc without installing
uvx cloudledger --help

# Or install as a tool
uv tool install cloudledger

# With a server database backend
uv tool install "cloudledger[postgres]"   # or [mysql], [mssql], [all-db]

소스에서:

git clone https://github.com/Cognisn/cloudledger.git
cd cloudledger
uv sync

빠른 시작

# One-off configuration: choose SQLite or a server backend
cloudledger setup

# Interactive scan of a single account
cloudledger scan --tag client-acme --tag q3-review

# Batch scanning from CSV
cloudledger create-example-csv --output accounts.csv
cloudledger scan --csv accounts.csv

# Work with tags
cloudledger tag list
cloudledger tag find client-acme
cloudledger tag add <scan-id> follow-up

# Start the MCP server (stdio)
cloudledger-mcp

소스 체크아웃에서 실행할 때는 명령어 앞에 uv run을 붙이세요.

MCP를 통한 조회

MCP 서버가 MCP 클라이언트에 연결되면 원장은 다음과 같은 자연어 질문에 답변합니다:

  • "공개적으로 액세스 가능한 모든 S3 버킷을 보여줘"

  • "us-east-1에서 퍼블릭 IP가 있는 EC2 인스턴스를 찾아줘"

  • "client-acme로 태그된 모든 스캔을 나열해줘"

  • "계정 123456789012가 관리하는 조직에 속한 계정은?"

  • "이 계정의 가장 최근 두 스캔 간 리소스 수를 비교해줘"

보안 고려 사항

  • 임시 자격 증명용으로 설계됨; 장기 자격 증명은 저장되지 않음

  • 읽기 전용 AWS API 액세스

  • 데이터베이스 비밀번호는 운영 체제 키링에 보관되며, 일반 텍스트 구성에 저장되지 않음

  • 자격 증명이 포함된 CSV 파일은 제한된 권한으로 저장하고, 사용 후 삭제하며, 버전 관리에 커밋하지 않아야 함

이 도구는 승인된 보안 평가 전용으로 설계되었습니다. AWS 계정을 스캔하기 전에 적절한 권한이 있는지 확인하세요.

개발

uv sync
uv run pytest            # SQLite-backed tests
uv run pytest -m db      # opt-in backend integration tests (requires docker compose up)

기여 시 주석과 문서에는 호주 영어를 사용하고, 새 기능에는 단위 테스트를 포함하며, CHANGELOG.md를 Unreleased 항목 아래에 최신 상태로 유지해야 합니다.

라이선스

MIT 라이선스. 자세한 내용은 LICENSE를 참조하세요.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language analysis of AWS cloud costs, waste audits, and budget insights across multiple profiles and regions.
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    Enables natural language interaction with AWS QuickSight for building, editing, and managing analyses, datasets, and dashboards, including chart creation, SQL updates, and QA verification.
    61
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables natural language queries to be converted into policy-verified SQL, vector search, and knowledge graph plans, with evidence-backed answers and an audit log.
    1
    Apache 2.0