Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cloud-doctor — 一条命令即可评估整个云账户——涵盖配置错误、缺失的可观测性及安全态势。 | Kitploit
工具/GitHubGitHub/dumbmachine/cloud-doctor
云基础设施安全漏洞扫描器配置审计云安全DevSecOps错误配置
GitHubdumbmachine/cloud-doctor

cloud-doctor

一条命令即可评估整个云账户——涵盖配置错误、缺失的可观测性及安全态势。

查看仓库
221个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

cloud-doctor

npm version license

一条命令即可评估您的整个云账户——错误配置、缺失的可观测性以及安全态势,并按优先级列出前五项需要修复的问题。

将它指向 AWS、Cloudflare、Vercel、Supabase、Render、Fly.io 或 Railway,它就会返回一个评分、哪些地方出了问题以及每个问题的修复方案——内容自包含,可直接交给 Agent 处理。

快速开始

root@kitploit:~
npx cloud-doctor

https://github.com/user-attachments/assets/60b610ab-7aee-4c3a-8d9e-83f045c8cc56

这会选择一个提供商,解析您的身份(AWS 配置文件、API 令牌……),然后以交互方式运行扫描。要直接跳转到某个提供商:

root@kitploit:~
npx cloud-doctor aws --profile prod
npx cloud-doctor cloudflare --yes
npx cloud-doctor vercel --yes

如果 ~/.npmrc 设置了 min-release-age(供应链加固)且阻止了新版本发布:

root@kitploit:~
# =<number>, 0 chosen as example
npm x --min-release-age=0 cloud-doctor -- aws profiles

想要尝鲜?Alpha 版本发布在自己的标签上:npx cloud-doctor@alpha。

支持的提供商

认证令牌可以设置为环境变量,也可以在 TUI 提示时提供:

root@kitploit:~
CLOUDFLARE_API_TOKEN=cfut_aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQ== npx cloud-doctor cloudflare

(不要对令牌进行 base64 解码)

或者

root@kitploit:~
$ npx cloud-doctor cloudflare

Cloudflare credentials are not set — enter them below.
Kept for this run only, never written to disk. Skip these prompts: export CLOUDFLARE_API_TOKEN

  dashboard → My Profile → API Tokens
? Cloudflare read-only API token › <input>

即将推出:Google Cloud、Kubernetes 和 数据库(Postgres、MySQL、Redis)——详见 后续计划。

命令

root@kitploit:~
npx cloud-doctor                    # 选择提供商(默认为 AWS)→ 选择身份 → 扫描
npx cloud-doctor aws                # AWS 快速路径
npx cloud-doctor aws --profile prod # 无歧义时非交互式
npx cloud-doctor aws --yes --json   # CI,机器可读输出
npx cloud-doctor aws --yes --json --fail-under 75  # CI 基于评分门控

npx cloud-doctor cloudflare --yes   # 需要 CLOUDFLARE_API_TOKEN
npx cloud-doctor vercel --yes       # 需要 VERCEL_TOKEN(+ VERCEL_TEAM_ID)
npx cloud-doctor supabase --yes     # 需要 SUPABASE_ACCESS_TOKEN
npx cloud-doctor render --yes       # 需要 RENDER_API_KEY
npx cloud-doctor fly --yes          # 需要 FLY_API_TOKEN(+ FLY_ORG)
npx cloud-doctor railway --yes      # 需要 RAILWAY_API_TOKEN

npx cloud-doctor aws profiles       # 列出 ~/.aws/config 中的配置文件
npx cloud-doctor aws whoami         # 显示已解析的 AWS 身份

--yes 跳过提示(CI 安全);--json 以稳定的、带版本号的 JSON 格式输出报告,而非终端视图;--verbose 打印所有发现项,而非仅顶部问题;--no-color 禁用颜色输出。

返回内容

  • 评分(0–100):基于严重性加权的通过率,仅针对实际运行的规则。错误的权重高于警告;建议不会影响评分。
  • 前 5 个修复建议:按评分影响排序,每个修复附带受影响的资源和具体的修复方案。
  • 检查通过行:任何被静音(通过配置禁用)或不可用(因权限缺失)的项都会被披露,而非静默跳过——权限缺口永远不会被计为通过。
  • 如果发现问题且处于交互式终端中,cloud-doctor 可以将报告直接交给您的 AI 编码 Agent——Claude Code、Codex 或 Cursor(已安装的任意一个),这样它可以在您读完输出前就开始修复。

评分从不造假:如果没有规则能运行,评分将为 null,标签显示"未运行任何检查",绝不会显示一个空洞的 100 分。

配置

通过 doctor.config.ts(或 doctor.config.json,或 package.json 中的 cloudDoctor 字段)调整每个提供商的规则:

root@kitploit:~
import { defineConfig } from "cloud-doctor/api";

export default defineConfig({
  defaultProvider: "aws",
  aws: {
    profile: "prod",
    regions: ["us-east-1", "eu-west-1"],
    account: "123456789012",
  },
  rules: {
    "aws/s3-unencrypted-bucket": "off",
    "aws/iam-user-access-key": "error",
  },
});

"off" 禁用规则;"error" / "warning" 覆盖其严重性。禁用的规则会从评分中移除,并显示为已静音——绝不会被静默减去。

架构

一个轻量级 CLI,基于插件注册表——每个提供商实现相同的契约,因此 CLI 永远不会对某个提供商进行特殊处理。

每个提供商实现 CloudDoctorPlugin:

  • discoverIdentities() — 列出配置文件/项目/账户,供选择器使用
  • resolveIdentity() — 将标志/环境变量/配置映射到身份,不进行网络调用
  • validateIdentity() — 验证凭据是否正常(sts:GetCallerIdentity 或等效)
  • scan() — 运行门控规则,返回诊断结果 + 评分

新提供商在 packages/plugins/src/index.ts 中注册。

后续计划

gcloud、k8s 和 db 即将推出。

本地开发

root@kitploit:~
pnpm install
pnpm build
pnpm typecheck
pnpm test

为了在不接触真实云账户的情况下进行规则验证,仓库附带了一个 http-mock 和 Moto/fab 夹具框架: (ps:fab 是用于生成测试环境的 CLI,目前私有,依赖项目也将开源)

root@kitploit:~
pnpm mock:up <scenario>                  # 启动一个持久的 mock 实例
eval "$(pnpm -s mock:env <scenario>)"    # 将环境变量指向它
pnpm mock:run <scenario>                 # 针对它运行 CLI

许可证

MIT


特别感谢 react-doctor

下载工具
提供商命令认证方式
AWScloud-doctor awsAWS SDK 凭据链——--profile、AWS_PROFILE、环境变量、SSO、Web 身份
Cloudflarecloud-doctor cloudflareCLOUDFLARE_API_TOKEN
Vercelcloud-doctor vercelVERCEL_TOKEN(可选 VERCEL_TEAM_ID)
Supabasecloud-doctor supabaseSUPABASE_ACCESS_TOKEN
Rendercloud-doctor renderRENDER_API_KEY
Fly.iocloud-doctor flyFLY_API_TOKEN(可选 FLY_ORG)
Railwaycloud-doctor railwayRAILWAY_API_TOKEN(工作区/账户令牌)
包角色
packages/cloud-doctorCLI(commander、prompts、ora)+ 编程式 diagnose() API
packages/core插件注册表、评分、配置加载、共享类型
packages/plugin-*每个提供商一个包——身份发现 + 规则
packages/plugins默认注册表,将所有提供商连接在一起