Skip to main content
Glama

CloudLedger

多账户AWS安全扫描与基础设施账本,附带MCP服务器用于查询扫描历史。

状态:预发布。 CloudLedger正在积极开发中,尚未发布到PyPI。以下命令描述的是预期的0.1.0版本;在此之前可能存在功能缺失。

概述

CloudLedger在多个AWS账户中执行安全评估并收集详细的基础设施信息,构建每次扫描的历史账本。它集成了Prowler,用于针对CIS基准、PCI-DSS、GDPR、HIPAA等框架进行自动化安全检查,并通过模型上下文协议 (MCP) stdio服务器暴露收集到的数据,从而可以从Claude Desktop、Claude Code或任何其他MCP客户端以自然语言进行查询。

Related MCP server: Datadog MCP Server

功能特性

扫描器

  • 安全评估:集成Prowler进行基于框架的自动化检查,外加内置的暴露面、身份和网络评估

  • 服务清单:识别所有区域中正在使用的所有AWS服务

  • 网络架构:VPC配置,包括子网、路由表、互联网网关、NAT网关

  • 计算、存储和身份:EC2、负载均衡器、自动扩缩组、带有公开暴露分析的S3存储桶、IAM用户、角色和策略

  • DNS:Route53托管区域和记录集

  • 扫描标记:在扫描时或事后为扫描打标签,并通过CLI或MCP工具按标签搜索账本

  • AWS组织感知:交互式扫描捕获组织成员身份和管理(控制塔)账户,如果账本中没有管理账户的记录,则提供扫描管理账户的选项,并将成员账户链接到其管理账户

  • 历史账本:每次扫描都带有时间戳存储,用于比较和漂移分析

存储

  • SQLite 开箱即用(默认位置按平台管理),或

  • PostgreSQLMySQLMSSQL通过可选扩展支持,使用cloudledger setup一次性配置;连接凭据安全地存储在操作系统密钥环中

MCP服务器

  • 安全查询:可公开访问的S3存储桶、具有公共IP的EC2实例、过于宽松的安全组

  • 网络查询:定位包含特定IP地址或CIDR范围的账户,映射VPC架构

  • 配置查询:比较不同扫描日期之间的配置,跟踪漂移

  • 标签和组织查询:按标签搜索扫描,列出标签,解析组织关系

要求

  • uv(管理Python和所有依赖项)

  • Python 3.12(由uv自动安装;不支持3.13+,因为Prowler固定了numpy 2.0.2)

  • 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

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables secure querying of analytics data stored in AWS Athena/S3 through natural language, with multiple security layers including query validation, resource limits, and automatic PII redaction to prevent data breaches and destructive operations.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural-language investigation of Datadog data including logs, metrics, monitors, traces, hosts, dashboards, events, and incidents, all through read-only API access.
    2,053
    MIT
  • 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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cognisn/cloudledger'

If you have feedback or need assistance with the MCP directory API, please join our Discord server