
Une sécurité open source et cloud-native pour protéger tout, de la compilation à l'exécution
Projet open source de sécurité et de politique cloud-native
cnspec évalue la sécurité et la conformité de l'ensemble de votre infrastructure. Il détecte les vulnérabilités et les erreurs de configuration dans les environnements cloud publics et privés, les clusters Kubernetes, les conteneurs, les registres de conteneurs, les serveurs, les endpoints, les produits SaaS, l'infrastructure as code, les API, et bien plus encore.
Puissant moteur de politique as code, cnspec est construit sur la toile de données de sécurité de Mondoo. Il est livré avec des politiques de sécurité par défaut qui fonctionnent immédiatement. Il est à la fois rapide et simple à utiliser !
bash -c "$(curl -sSL https://install.mondoo.com/sh)" cnspec scan local

## Installation
Installez cnspec avec notre script d'installation :
**Linux et macOS**```bash
bash -c "$(curl -sSL https://install.mondoo.com/sh)"
Windows```powershell Set-ExecutionPolicy Unrestricted -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://install.mondoo.com/ps1')); Install-Mondoo;
Si vous préférez une installation manuelle, vous pouvez trouver les paquets cnspec dans nos [releases](https://github.com/mondoohq/cnspec/releases).
## Lancer un scan avec des politiques
Utilisez la sous-commande `cnspec scan` pour vérifier les cibles locales et distantes à la recherche de mauvaises configurations et de vulnérabilités.
### Scan local
Cette commande évalue la sécurité de votre machine locale :```bash
cnspec scan local
Vous pouvez également spécifier des cibles distantes à scanner. Par exemple :```bash
cnspec scan docker image ubuntu:22.04
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/r6z5b8t4 cnspec scan docker image public.ecr.aws/r6z5b8t4
cnspec scan aws
cnspec scan aws ec2 instance-connect root@i-1234567890abcdef0
cnspec scan k8s cnspec scan k8s manifest.yaml
export GITHUB_TOKEN=<personal_access_token> cnspec scan github repo <org/repo>
[:books: Pour en savoir plus, consultez la documentation cnspec.](https://mondoo.com/docs/cnspec)
### Politiques
Les politiques cnspec sont construites sur le concept de politique en tant que code. cnspec est livré avec des politiques de sécurité par défaut configurées pour toutes les cibles prises en charge. Les politiques par défaut sont disponibles dans le répertoire `content` de ce dépôt.
## Analyse des vulnérabilités
cnspec analyse les vulnérabilités sur un large éventail de plateformes. L'analyse des vulnérabilités ne se limite pas aux images de conteneurs ; elle fonctionne également pour la compilation et l'exécution.

REMARQUE : L'analyse des vulnérabilités nécessite que le client soit connecté à Mondoo Platform.
### Exemples```bash
# scan container image
cnspec vuln docker debian:12
# scan aws instance via EC2 instance connect
cnspec vuln aws ec2 instance-connect root@i-1234567890abcdef0
# scan instance via SSH
cnspec vuln ssh user@host
# scan windows via SSH or Winrm
cnspec vuln ssh user@host --ask-pass
cnspec vuln winrm user@host --ask-pass
# scan VMware vSphere ESXi hosts
cnspec vuln vsphere user@host --ask-pass
# scan Linux, Windows
cnspec vuln local
| Plateforme | Versions |
|---|---|
| Alpine | 3.10 - 3.24 |
| AlmaLinux | 8, 9, 10 |
| Amazon Linux | 1, 2, 2023 |
| Arch Linux | Rolling |
| CentOS | 6, 7, 8, Stream |
| Debian | 8, 9, 10, 11, 12, 13 |
| Fedora | 30 - 44 |
| openSUSE | Leap 15, Leap 16 |
| Oracle Linux | 6, 7, 8, 9, 10 |
| Photon Linux | 2, 3, 4, 5 |
| Red Hat Enterprise Linux | 6, 7, 8, 9, 10 |
| Rocky Linux | 8, 9, 10 |
| SUSE Linux Enterprise | 12, 15, 16 |
| Ubuntu | 18.04, 20.04, 22.04, 24.04, 26.04 |
| VMware vSphere ESXi | 6, 7, 8, 9 |
| Windows | 10, 11, 2016, 2019, 2022, 2025 |
cnspec fournit également un shell interactif pour explorer les assertions. Il vous aide à comprendre les assertions utilisées par les politiques de sécurité, ainsi qu'à écrire vos propres politiques. C'est aussi un excellent moyen d'interagir à la volée avec des cibles locales et distantes.
cnspec shell local
Le shell fournit une commande `help` pour obtenir des informations sur les ressources qui alimentent cnspec. Exécuter `help` sans aucun argument liste toutes les ressources disponibles et leurs champs. Vous pouvez également exécuter `help <resource>` pour obtenir plus de détails sur une ressource spécifique. Par exemple :```bash
cnspec> help ports
ports: TCP/IP ports on the system
list []port: List of all TCP/IP ports
listening []port: All listening ports
Le shell utilise l'auto-complétion, ce qui facilite l'exploration.
Une fois dans le shell, vous pouvez saisir des assertions MQL comme ceci :```coffeescript
ports.listening.none( port == 23 )
Pour effacer le terminal, tapez `clear`.
Pour quitter, appuyez sur CTRL + D ou tapez `exit`.
## Priorisez les risques qui comptent avec Mondoo Platform
La plateforme de sécurité unifiée Mondoo identifie et priorise les vulnérabilités et les mauvaises configurations qui présentent le risque le plus élevé pour votre entreprise. La structure de données de sécurité de Mondoo analyse la menace et l'exposition de chaque constat dans le contexte unique de votre infrastructure. Au lieu d'un flot d'alertes de sécurité non pertinentes, Mondoo vous montre comment vous pouvez avoir un impact immédiat et significatif sur votre posture de sécurité.
Pour commencer, [contactez-nous](https://mondoo.com/contact).
Pour en savoir plus sur Mondoo Platform, consultez la [documentation Mondoo Platform](https://mondoo.com/docs) ou visitez [mondoo.com](https://mondoo.com).
### Enregistrer cnspec auprès de Mondoo Platform
Pour utiliser cnspec avec Mondoo Platform, [générez un token dans l'application Mondoo](https://mondoo.com/docs/cnspec/install/registration), puis exécutez :```bash
cnspec login --token TOKEN
Une fois authentifié, vous pouvez scanner n'importe quelle cible :```bash cnspec scan
cnspec renvoie les résultats du scan vers `STDOUT` et vers Mondoo Platform.
Avec un compte sur Mondoo Platform, vous pouvez téléverser des politiques :```bash
cnspec bundle upload mypolicy.mql.yaml
Une politique cnspec est simplement un fichier YAML qui vous permet d'exprimer n'importe quelle règle de sécurité ou bonne pratique pour votre parc.
Quelques exemples se trouvent dans le dossier examples de ce dépôt. Vous pouvez exécuter n'importe laquelle de ces politiques :```bash
cnspec scan local -f examples/example.mql.yaml
Si vous souhaitez écrire vos propres politiques ou contribuer à des politiques pour la communauté cnspec, consultez le [Guide de rédaction de politiques](https://mondoo.com/docs/cnspec/write-policies/write-intro) de Mondoo.
## Cibles prises en charge| Cible | Fournisseur | Exemple |
| ------------------------------ | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Domaines Active Directory | `activedirectory` | `cnspec scan activedirectory --dc DC_HOSTNAME --user USER --password PASSWORD` |
| Comptes Alibaba Cloud | `alicloud` | `cnspec scan alicloud --access-key-id KEY_ID --access-key-secret KEY_SECRET` |
| Playbooks Ansible | `ansible` | `cnspec shell ansible YOUR_PLAYBOOK.yml` |
| Clusters Apache Cassandra | `cassandra` | `cnspec scan cassandra HOST --user USER --ask-pass` |
| Équipements réseau Arista | `arista` | `cnspec scan arista DEVICE_PUBLIC_IP --ask-pass` |
| Organisations Atlassian | `atlassian admin` | `cnspec shell atlassian admin --admin-token YOUR_TOKEN` |
| Locataires Auth0 | `auth0` | `cnspec scan auth0 --domain TENANT_DOMAIN --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Comptes AWS | `aws` | `cnspec scan aws` |
| Modèles AWS CloudFormation | `cloudformation` | `cnspec scan cloudformation cloudformation_file.json` |
| Snapshot AWS EC2 EBS | `aws ec2 ebs snapshot` | `cnspec scan aws ec2 ebs snapshot SNAPSHOTID` |
| Volume AWS EC2 EBS | `aws ec2 ebs volume` | `cnspec scan aws ec2 ebs volume VOLUMEID` |
| AWS EC2 Instance Connect | `aws ec2 instance-connect` | `cnspec scan aws ec2 instance-connect ec2-user@INSTANCEID` |
| Instances AWS EC2 | `ssh` | `cnspec scan ssh user@host` |
| Fichiers Bicep et modèles ARM | `bicep` | `cnspec scan bicep BICEP_FILE_OR_PATH` |
| Organisations Bitwarden | `bitwarden` | `cnspec scan bitwarden --client-id organization.UUID --client-secret CLIENT_SECRET` |
| Périphériques bloc | `device` | `cnspec scan device --lun LOGICAL_UNIT_NUMBER` |
| Serveurs de management Check Point | `checkpoint` | `cnspec scan checkpoint --hostname HOSTNAME --api-key API_KEY` |
| Équipements Cisco Catalyst | `ciscocatalyst` | `cnspec scan ciscocatalyst HOSTNAME --user USER --ask-pass` |
| Comptes de la plateforme Claude AI | `claude` | `cnspec scan claude --admin-token ADMIN_API_KEY` |
| Organisations ClickHouse Cloud | `clickhousecloud` | `cnspec scan clickhousecloud --organization-id ORG_ID --api-key KEY_ID --ask-secret` |
| Serveurs ClickHouse | `clickhousedb` | `cnspec scan clickhousedb HOST --user USER --ask-pass` |
| Comptes Cloudflare | `cloudflare` | `cnspec scan cloudflare --token ACCESS_TOKEN` |
| Utilisateurs Confluence | `atlassian confluence` | `cnspec shell atlassian confluence --host YOUR_HOST_URL --user USER --user-token YOUR_TOKEN` |
| Images de conteneurs | `container`, `docker` | `cnspec scan container ubuntu:latest` |
| Registres de conteneurs | `container registry` | `cnspec scan container registry index.docker.io/library/rockylinux:8` |
| Comptes Databricks | `databricks` | `cnspec scan databricks --account-id ACCOUNT_ID --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Comptes Datadog | `datadog` | `cnspec scan datadog --api-key API_KEY --app-key APP_KEY` |
| Comptes DigitalOcean | `digitalocean` | `cnspec scan digitalocean --token API_TOKEN` |
| Enregistrements DNS | `host` | `cnspec scan host mondoo.com` |
| Dockerfiles | `docker` | `cnspec shell docker file FILENAME` |
| Équipes Dropbox Business | `dropbox` | `cnspec scan dropbox --token TEAM_ACCESS_TOKEN` |
| Clusters Elasticsearch | `elasticsearch` | `cnspec scan elasticsearch HOST --user USER --ask-pass` |
| Systèmes F5 BIG-IP | `bigip` | `cnspec scan bigip --hostname HOSTNAME --username USER --ask-pass` |
| Systèmes de fichiers | `filesystem` | `cnspec scan filesystem MOUNT_PATH` |
| Équipements FortiOS | `fortios` | `cnspec scan fortios --hostname HOSTNAME --token API_TOKEN` |
| Organisations GitHub | `github org` | `cnspec scan github org mondoohq` |
| Dépôts GitHub | `github repo` | `cnspec scan github repo mondoohq/cnspec` |
| Groupes GitLab | `gitlab` | `cnspec scan gitlab --group mondoohq` |
| Projets Google Cloud | `gcp` | `cnspec scan gcp` |
| Google Workspace | `google-workspace` | `cnspec scan google-workspace --customer-id CUSTOMER_ID --impersonated-user-email EMAIL --credentials-path JSON_FILE` |
| Organisations Grafana | `grafana` | `cnspec scan grafana --url GRAFANA_URL --token API_TOKEN` |
| HashiCorp Cloud Platform | `hcp` | `cnspec scan hcp --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Charts Helm | `helm` | `cnspec scan helm CHART_PATH` |
| Projets Hetzner Cloud | `hetzner` | `cnspec scan hetzner --token API_TOKEN` |
| Espaces de noms Hugging Face | `huggingface` | `cnspec scan huggingface --token API_TOKEN --namespace NAMESPACE --namespace-type org` |
| Bases de données IBM Db2 | `db2` | `cnspec scan db2 HOST --database DATABASE --user USER --ask-pass` |
| Équipements IoT | `opcua` | `cnspec shell opcua` |
| Informations sur les adresses IP | `ipinfo` | `cnspec shell ipinfo` |
| Interfaces IPMI | `ipmi` | `cnspec scan ipmi user@host` |
| Locataires Iru | `iru` | `cnspec scan iru --subdomain SUBDOMAIN --token API_TOKEN` |
| Comptes Jamf Pro | `jamf` | `cnspec scan jamf --client-id CLIENT_ID --client-secret CLIENT_SECRET --instance-domain INSTANCE_URL` |
| Instances JFrog Artifactory | `artifactory` | `cnspec scan artifactory --url ARTIFACTORY_URL --token ACCESS_TOKEN` |
| Projets Jira | `atlassian jira` | `cnspec shell atlassian jira --host YOUR_HOST_URL --user USER --user-token YOUR_TOKEN` |
| Organisations JumpCloud | `jumpcloud` | `cnspec scan jumpcloud --api-key API_KEY` |
| Équipements Juniper Junos | `junos` | `cnspec scan junos --hostname DEVICE_IP --username USER_NAME --identity-file SSH_IDENTITY_FILE` |
| Serveurs Keycloak | `keycloak` | `cnspec scan keycloak --url KEYCLOAK_URL --realm REALM --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Nœuds de cluster Kubernetes | `local`, `ssh` | `cnspec scan ssh user@host` |
| Clusters Kubernetes | `k8s` | `cnspec scan k8s` |
| Manifestes Kubernetes | `k8s` | `cnspec scan k8s manifest.yaml` |
| Charges de travail Kubernetes | `k8s` | `cnspec scan k8s --discover pods,deployments` |
| Overlays Kustomize | `kustomize` | `cnspec scan kustomize OVERLAY_PATH` |
| Hôtes Linux | `local`, `ssh` | `cnspec scan local` or<br></br>`cnspec scan ssh user@host` |
| Hôtes macOS | `local`, `ssh` | `cnspec scan local` or<br></br>`cnspec scan ssh user@IP_ADDRESS` |
| Locataires Microsoft 365 | `ms365` | `cnspec scan ms365 --tenant-id TENANT_ID --client-id CLIENT_ID --certificate-path PEM_FILE` |
| Instances Microsoft Azure | `ssh` | `cnspec scan ssh user@host` |
| Abonnements Microsoft Azure | `azure` | `cnspec scan azure --subscription SUBSCRIPTION_ID` |
| Instances Microsoft SQL Server | `mssql` | `cnspec scan mssql HOST --user USER --ask-pass` |
| Équipements MikroTik RouterOS | `mikrotik` | `cnspec scan mikrotik user@host --ask-pass` |
| Espaces de travail Mistral AI | `mistral` | `cnspec scan mistral --token API_KEY --workspace WORKSPACE_ID` |
| Serveurs Model Context Protocol | `mcp` | `cnspec scan mcp http http://localhost:8080/mcp` |
| Mondoo Platform | `mondoo` | `cnspec scan mondoo` |
| Organisations MongoDB Atlas | `mongodbatlas` | `cnspec scan mongodbatlas --org-id ORG_ID --public-key PUBLIC_KEY --private-key PRIVATE_KEY` |
| Serveurs MongoDB | `mongo` | `cnspec scan mongo HOST --user USER --ask-pass` |
| Serveurs MySQL et MariaDB | `mysqldb` | `cnspec scan mysqldb HOST --user USER --ask-pass` |
| Organisations Neon | `neon` | `cnspec scan neon --token API_KEY` |
| Comptes Netlify | `netlify` | `cnspec scan netlify --token ACCESS_TOKEN` |
| Équipements réseau via SSH | `nd-ssh` | `cnspec scan nd-ssh user@host --ask-pass` |
| Comptes NextDNS | `nextdns` | `cnspec scan nextdns --api-key API_KEY` |
| Scans réseau Nmap | `nmap` | `cnspec shell nmap host IP_ADDRESS` |
| Nutanix Prism Central | `nutanix` | `cnspec scan nutanix --endpoint ENDPOINT --user USER --ask-pass` |
| Organisation Okta | `okta` | `cnspec scan okta --token TOKEN --organization ORGANIZATION` |
| Instances Ollama | `ollama` | `cnspec scan ollama --host OLLAMA_URL` |
| Comptes OpenAI | `openai` | `cnspec scan openai --token ADMIN_API_KEY --organization ORG_ID` |
| Clusters OpenSearch | `opensearch` | `cnspec scan opensearch HOST --user USER --ask-pass` |
| Projets OpenStack | `openstack` | `cnspec scan openstack --cloud CLOUDS_YAML_ENTRY` |
| Oracle Cloud Interface (OCI) | `oci` | `cnspec scan oci` |
| Oracle Database | `oracledb` | `cnspec scan oracledb HOST --service SERVICE_NAME --user USER --ask-pass` |
| Pare-feu PAN-OS | `panos` | `cnspec scan panos --hostname HOSTNAME --username USER --ask-pass` |
| Instances Portainer | `portainer` | `cnspec scan portainer PORTAINER_URL --access-token ACCESS_TOKEN` |
| Serveurs PostgreSQL | `postgresdb` | `cnspec scan postgresdb HOST --user USER --ask-pass` |
| Hyperviseurs Proxmox VE | `proxmox` | `cnspec scan proxmox --host PROXMOX_URL --token API_TOKEN` |
| Contrôleurs de management Redfish | `redfish` | `cnspec scan redfish user@host --ask-pass` |
| Serveurs Redis et Valkey | `redisdb` | `cnspec scan redisdb HOST --ask-pass` |
| Conteneurs en cours d'exécution | `docker` | `cnspec scan docker CONTAINER_ID` |
| Moteur de recherche Shodan | `shodan` | `cnspec shell shodan` |
| Équipe Slack | `slack` | `cnspec scan slack --token TOKEN` |
| Comptes Snowflake | `snowflake` | `cnspec scan snowflake --account ACCOUNT_ID --region REGION --user USER --role ROLE --token TOKEN` |
| Dépendances logicielles | `depsdev` | `cnspec scan depsdev PATH_TO_GO_MOD` |
| Certificats SSL sur les sites web | `host` | `cnspec scan host mondoo.com` |
| Projets STACKIT | `stackit` | `cnspec scan stackit --project-id PROJECT_ID --service-account-key-path KEY_FILE` |
| Sous-domaines | `networkdiscovery` | `cnspec scan networkdiscovery mondoohq.com --discover subdomains` |
| Réseaux Tailscale | `tailscale` | `cnspec scan tailscale --token ACCESS_TOKEN` |
| Terraform HCL | `terraform` | `cnspec scan terraform HCL_FILE_OR_PATH` |
| Plan Terraform | `terraform plan` | `cnspec scan terraform plan plan.json` |
| État Terraform | `terraform state` | `cnspec scan terraform state state.json` |
| Comptes Together AI | `together` | `cnspec scan together --token API_KEY` |
| Contrôleurs Ubiquiti UniFi | `unifi` | `cnspec scan unifi --hostname HOSTNAME --username USER --ask-pass` |
| Machines virtuelles Vagrant | `vagrant` | `cnspec scan vagrant HOST` |
| Comptes Vercel | `vercel` | `cnspec scan vercel --token ACCESS_TOKEN` |
| Serveurs d'inférence vLLM | `vllm` | `cnspec scan vllm ENDPOINT` |
| VMware Cloud Director | `vcd` | `cnspec shell vcd --user USER --host HOST --ask-pass` |
| VMware vSphere | `vsphere` | `cnspec scan vsphere user@domain@host --ask-pass` |
| Bases de données vectorielles Weaviate | `weaviate` | `cnspec scan weaviate HOST --api-key API_KEY` |
| Hôtes Windows | `local`, `ssh`, `winrm` | `cnspec scan local`,<br></br>`cnspec scan ssh Administrator@IP_ADDRESS --ask-pass` or<br></br>`cnspec scan winrm Administrator@IP_ADDRESS --ask-pass` |
| Comptes Zoom | `zoom` | `cnspec scan zoom --account-id ACCOUNT_ID --client-id CLIENT_ID --client-secret CLIENT_SECRET` |## Compétences des agents
cnspec inclut des compétences d'agent qui confèrent aux agents de codage une expertise MQL et des capacités de navigation dans les politiques. Les compétences fonctionnent avec Claude Code, Cursor, Gemini CLI et Codex.
| Compétence | Description |
|-------|-------------|
| [mql](https://github.com/mondoohq/cnspec/blob/main/skills/mql) | Développement de requêtes MQL avec conseils de syntaxe, modèles spécifiques à la plateforme et découverte de schémas |
| [policy-graph](https://github.com/mondoohq/cnspec/blob/main/skills/policy-graph) | Naviguer dans les bundles de politiques à l'aide de commandes de graphe — rechercher, tracer les correspondances de conformité, explorer la structure |
Consultez [skills/README.md](https://github.com/mondoohq/cnspec/blob/main/skills/README.md) pour les instructions d'installation et les détails.
## Et ensuite ?
cnspec peut faire tellement de choses, de tester l'ensemble de votre parc pour les vulnérabilités à la collecte d'informations et à la création de rapports pour les auditeurs. Avec ses politiques personnalisées, cnspec peut analyser n'importe quel composant qui vous importe !
Explorez nos :
- [docs cnspec](https://mondoo.com/docs/cnspec)
- [Policy as code](https://mondoo.com/docs/cnspec/write-policies/write-intro)
- [MQL](https://github.com/mondoohq/mql), notre framework open source d'inventaire d'actifs cloud-native
- [Introduction à MQL](https://mondoohq.github.io/mql-intro/index.html)
- [Packs de ressources MQL](https://mondoo.com/docs/mql/resources)
- [Plugin HashiCorp Packer](https://github.com/mondoohq/packer-plugin-mondoo) pour intégrer cnspec avec HashiCorp Packer !
## Rejoignez la communauté !
Notre objectif est de sécuriser toutes les couches de votre infrastructure. Si vous avez besoin d'aide ou souhaitez participer au développement de cnspec, rejoignez notre [communauté](https://github.com/orgs/mondoohq/discussions) dès aujourd'hui et développons-la ensemble !
## Développement
Consultez notre [documentation de développement](https://github.com/mondoohq/cnspec/blob/main/docs/development.md) pour plus d'informations sur la compilation et la contribution à cnspec.
## Mentions légales
- **Copyright :** 2018-2026, Mondoo, Inc.
- **Licence :** BUSL 1.1
- **Auteurs :** Christoph Hartmann, Dominik Richter