Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cloud-doctor — Une seule commande évalue l'ensemble de votre compte cloud — erreurs de configuration, observabilité manquante et posture de sécurité. | Kitploit
Outils/GitHubGitHub/dumbmachine/cloud-doctor
Sécurité de l'Infrastructure CloudScanners de VulnérabilitésAudit de ConfigurationSécurité CloudDevSecOpsMauvaise Configuration
GitHubdumbmachine/cloud-doctor

cloud-doctor

Une seule commande évalue l'ensemble de votre compte cloud — erreurs de configuration, observabilité manquante et posture de sécurité.

Voir le dépôt
2il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

cloud-doctor

npm version license

Une seule commande évalue l'ensemble de votre compte cloud — les mauvaises configurations, l'observabilité manquante et la posture de sécurité, classés par les cinq choses à corriger en premier.

Pointez-le vers AWS, Cloudflare, Vercel, Supabase, Render, Fly.io ou Railway et il revient avec un score, ce qui est cassé et une correction pour chacun — assez autonome pour être confié directement à un agent.

Démarrage rapide

root@kitploit:~
npx cloud-doctor

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

Cela sélectionne un fournisseur, résout votre identité (profil AWS, jeton API, …) et exécute l'analyse de manière interactive. Pour aller directement à un fournisseur :

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

Si ~/.npmrc a min-release-age défini (durcissement de la chaîne d'approvisionnement) et bloque les nouvelles versions :

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

Vous préférez la version de pointe ? Les versions alpha sont publiées sous leur propre tag : npx cloud-doctor@alpha.

Fournisseurs pris en charge

Les jetons d'authentification peuvent être définis comme variables d'environnement ou vous pouvez les fournir lorsque l'interface textuelle le demande :

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

(ne décodez pas le jeton en base64)

ou

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

  tableau de bord → Mon profil → Jetons API
? Cloudflare read-only API token › <input>

À venir : Google Cloud, Kubernetes et Bases de données (Postgres, MySQL, Redis) — voir Quelle est la suite.

Commandes

root@kitploit:~
npx cloud-doctor                    # pick provider (default AWS) → pick identity → scan
npx cloud-doctor aws                # AWS fast path
npx cloud-doctor aws --profile prod # non-interactive when unambiguous
npx cloud-doctor aws --yes --json   # CI, machine-readable output
npx cloud-doctor aws --yes --json --fail-under 75  # CI gate on the score

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

npx cloud-doctor aws profiles       # list ~/.aws/config profiles
npx cloud-doctor aws whoami         # show resolved AWS identity

--yes ignore les invites (sûr pour CI) ; --json imprime un rapport stable et versionné par schéma au lieu de la vue terminal ; --verbose imprime chaque résultat au lieu des principaux contrevenants ; --no-color désactive la sortie couleur.

Ce que vous obtenez

  • Un score (0–100) : un ratio de réussite pondéré par la sévérité sur chaque règle réellement exécutée. Les erreurs ont un poids plus important que les avertissements ; les suggestions n'affectent jamais le score.
  • Les 5 corrections principales, classées par impact sur le score, chacune avec la ressource concernée et une correction concrète.
  • Une ligne vérifications réussies, avec tout ce qui est mis en sourdine (désactivé via la configuration) ou indisponible (permissions manquantes) divulgué plutôt que silencieusement ignoré — un écart de permission n'est jamais compté comme une réussite.
  • Si quelque chose est cassé et que vous êtes dans un terminal interactif, cloud-doctor peut transmettre le rapport directement à votre agent de codage IA — Claude Code, Codex ou Cursor, selon celui qui est installé — afin qu'il puisse commencer à corriger avant même que vous ayez fini de lire la sortie.

Les scores ne sont jamais falsifiés : si zéro règle a pu s'exécuter, le score est null avec le libellé "Aucune vérification effectuée", jamais un 100 vide.

Configuration

Ajustez les règles par fournisseur via doctor.config.ts (ou doctor.config.json, ou cloudDoctor dans package.json) :

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" désactive une règle ; "error" / "warning" remplace sa sévérité. Les règles désactivées sont retirées du score et divulguées comme atténuées — jamais silencieusement soustraites.

Architecture

Une CLI légère sur un registre de plugins — chaque fournisseur implémente le même contrat, donc la CLI ne traite jamais un cas particulier par rapport à un autre.

Chaque fournisseur implémente CloudDoctorPlugin :

  • discoverIdentities() — liste les profils/projets/comptes pour le sélecteur
  • resolveIdentity() — mappe les drapeaux/env/config → identité, sans appels réseau
  • validateIdentity() — prouve que les identifiants fonctionnent (sts:GetCallerIdentity ou équivalent)
  • scan() — exécute les règles conditionnées, retourne les diagnostics + score

Les nouveaux fournisseurs s'enregistrent dans packages/plugins/src/index.ts.

Quelle est la suite

gcloud, k8s et db arrivent bientôt.

Développement local

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

Pour une vérification pratique des règles sans toucher à un vrai compte cloud, le dépôt fournit un harnais de simulation http-mock et Moto/fab : (ps : fab l'interface en ligne de commande pour générer un environnement de test, actuellement privé, le projet de dépendance sera également rendu open-source)

root@kitploit:~
pnpm mock:up <scenario>                  # boot a persistent mock instance
eval "$(pnpm -s mock:env <scenario>)"    # point env vars at it
pnpm mock:run <scenario>                 # run the CLI against it

Licence

MIT


Merci à react-doctor

Télécharger l’outil
FournisseurCommandeAuthentification
AWScloud-doctor awsChaîne d'identification du SDK AWS — --profile, AWS_PROFILE, variables d'environnement, SSO, identité web
Cloudflarecloud-doctor cloudflareCLOUDFLARE_API_TOKEN
Vercelcloud-doctor vercelVERCEL_TOKEN (+ optionnel VERCEL_TEAM_ID)
Supabasecloud-doctor supabaseSUPABASE_ACCESS_TOKEN
Rendercloud-doctor renderRENDER_API_KEY
Fly.iocloud-doctor flyFLY_API_TOKEN (+ optionnel FLY_ORG)
Railwaycloud-doctor railwayRAILWAY_API_TOKEN (jeton d'espace de travail/compte)
PaquetRôle
packages/cloud-doctorCLI (commander, prompts, ora) + API programmatique diagnose()
packages/coreRegistre de plugins, notation, chargement de configuration, types partagés
packages/plugin-*Un paquet par fournisseur — découverte d'identité + règles
packages/pluginsRegistre par défaut reliant tous les fournisseurs