Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cloud-doctor — 하나의 명령으로 전체 클라우드 계정의 잘못된 구성, 부족한 관찰 가능성, 그리고 보안 태세를 평가합니다. | Kitploit
도구/GitHubGitHub/dumbmachine/cloud-doctor
Cloud Infrastructure SecurityVulnerability ScannersConfiguration AuditingCloud SecurityDevSecOpsMisconfiguration
GitHubdumbmachine/cloud-doctor

cloud-doctor

하나의 명령으로 전체 클라우드 계정의 잘못된 구성, 부족한 관찰 가능성, 그리고 보안 태세를 평가합니다.

저장소 보기
21개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cloud-doctor

npm version license

하나의 명령으로 전체 클라우드 계정을 평가합니다 — 잘못된 구성, 누락된 관측 가능성, 보안 태세를 점수화하고, 가장 먼저 수정해야 할 5가지를 순위로 보여줍니다.

AWS, Cloudflare, Vercel, Supabase, Render, Fly.io 또는 Railway를 지정하면 점수, 무엇이 잘못되었는지, 각각에 대한 수정 사항을 반환합니다 — 에이전트에 바로 전달할 수 있을 정도로 자체 포함되어 있습니다.

빠른 시작

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:~
# =<숫자>, 예시로 0 선택
npm x --min-release-age=0 cloud-doctor -- aws profiles

최신 기능을 원하시나요? 알파 빌드는 자체 태그로 게시됩니다: 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 자격 증명이 설정되지 않았습니다 — 아래에 입력하세요.
이번 실행 동안만 유지되며, 디스크에 기록되지 않습니다. 이 프롬프트를 건너뛰려면: export CLOUDFLARE_API_TOKEN

  dashboard → My Profile → API Tokens
? Cloudflare 읽기 전용 API 토큰 › <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-safe). --json은 터미널 보기 대신 안정적이고 스키마 버전이 지정된 보고서를 출력합니다. --verbose는 상위 위반 사항 대신 모든 발견 사항을 출력합니다. --no-color는 색상 출력을 비활성화합니다.

결과 확인

  • 점수(0–100): 실제로 실행된 모든 규칙에 대한 심각도 가중 통과율입니다. 오류는 경고보다 가중치가 높으며, 제안은 점수에 영향을 주지 않습니다.
  • 상위 5개 수정 사항: 점수 영향도 순으로 정렬되며, 영향을 받는 리소스와 구체적인 수정 방법이 포함됩니다.
  • 검사 통과 라인: 비활성화(설정을 통해 음소거)되었거나 권한 부족으로 사용 불가능한 항목은 조용히 건너뛰지 않고 공개됩니다 — 권한 부족은 통과로 간주되지 않습니다.
  • 무언가 고장 났고 대화형 터미널을 사용 중이라면, cloud-doctor가 보고서를 설치된 AI 코딩 에이전트(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 fixture harness가 포함되어 있습니다: (ps: fab는 실행할 환경을 생성하는 CLI이며, 현재 비공개 상태입니다. 의존성 프로젝트도 오픈소스로 전환될 예정입니다)

root@kitploit:~
pnpm mock:up <scenario>                  # 지속적인 mock 인스턴스 부팅
eval "$(pnpm -s mock:env <scenario>)"    # 환경 변수를 mock 인스턴스로 지정
pnpm mock:run <scenario>                 # mock 인스턴스에 대해 CLI 실행

라이선스

MIT


react-doctor에 특별히 감사드립니다.

도구 다운로드
제공자명령어인증
AWScloud-doctor awsAWS SDK 인증 체인 — --profile, AWS_PROFILE, 환경 변수, SSO, 웹 자격 증명
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모든 제공자를 연결하는 기본 레지스트리