Открытый, облачно-ориентированный инструмент безопасности для защиты всего — от сборки до времени выполнения
Открытый проект безопасности и политик для облачных сред
cnspec оценивает безопасность и соответствие требованиям всей вашей инфраструктуры. Он выявляет уязвимости и ошибки конфигурации в публичных и частных облачных средах, кластерах Kubernetes, контейнерах, реестрах контейнеров, серверах, конечных точках, SaaS-продуктах, инфраструктуре как коде, API и многом другом.
Мощный движок политик как кода, cnspec построен на основе фабрики данных безопасности Mondoo. Он поставляется с предварительно настроенными политиками безопасности, которые работают сразу из коробки. Он быстрый и простой в использовании!
bash -c "$(curl -sSL https://install.mondoo.com/sh)" cnspec scan local

## Установка
Установите cnspec с помощью нашего скрипта установки:
**Linux и 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('')); Install-Mondoo;
Если вы предпочитаете ручную установку, пакеты cnspec можно найти в наших [релизах](https://github.com/mondoohq/cnspec/releases).
## Запуск сканирования с помощью политик
Используйте подкоманду `cnspec scan` для проверки локальных и удалённых целей на наличие ошибок конфигурации и уязвимостей.
### Локальное сканирование
Эта команда оценивает безопасность вашей локальной машины:```bash
cnspec scan local
Вы также можете указать удалённые цели для сканирования. Например:```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: Чтобы узнать больше, прочитайте документацию cnspec.](https://mondoo.com/docs/cnspec)
### Политики
Политики cnspec построены на концепции «политика как код». cnspec поставляется с политиками безопасности по умолчанию, настроенными для всех поддерживаемых целей. Политики по умолчанию доступны в каталоге `content` этого репозитория.
## Сканирование уязвимостей
cnspec выполняет сканирование уязвимостей на широком спектре платформ. Сканирование уязвимостей не ограничивается образами контейнеров; оно работает как во время сборки, так и во время выполнения.

ПРИМЕЧАНИЕ: Для сканирования уязвимостей требуется, чтобы клиент был авторизован на платформе Mondoo.
### Примеры```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
| Платформа | Версии |
|---|---|
| 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 также предоставляет интерактивную оболочку для изучения утверждений. Она помогает понять утверждения, используемые политиками безопасности, а также написать собственные политики. Это также отличный способ взаимодействия с локальными и удалёнными целями на лету.
cnspec shell local
Оболочка предоставляет команду `help` для получения информации о ресурсах, на которых основан cnspec. Запуск `help` без аргументов выводит список всех доступных ресурсов и их полей. Также можно выполнить `help <resource>`, чтобы получить более подробную информацию о конкретном ресурсе. Например:```bash
cnspec> help ports
ports: TCP/IP ports on the system
list []port: List of all TCP/IP ports
listening []port: All listening ports
Оболочка использует автодополнение, что упрощает исследование.
Попав в оболочку, вы можете вводить утверждения MQL, например:```coffeescript
ports.listening.none( port == 23 )
Чтобы очистить терминал, введите `clear`.
Чтобы выйти, нажмите CTRL + D или введите `exit`.
## Расставляйте приоритеты для действительно важных рисков с помощью Mondoo Platform
Единая платформа безопасности Mondoo находит и расставляет приоритеты для уязвимостей и ошибок конфигурации, которые представляют наибольший риск для вашего бизнеса. Фабрика данных безопасности Mondoo анализирует угрозу и подверженность каждой находки в уникальном контексте вашей инфраструктуры. Вместо потока нерелевантных оповещений о безопасности Mondoo показывает, как вы можете оказать немедленное и значительное влияние на вашу безопасность.
Чтобы начать, [свяжитесь с нами](https://mondoo.com/contact).
Чтобы узнать о Mondoo Platform, прочитайте [документацию Mondoo Platform](https://mondoo.com/docs) или посетите [mondoo.com](https://mondoo.com).
### Зарегистрируйте cnspec в Mondoo Platform
Чтобы использовать cnspec с Mondoo Platform, [сгенерируйте токен в Mondoo App](https://mondoo.com/docs/cnspec/install/registration), затем выполните:```bash
cnspec login --token TOKEN
После аутентификации вы можете сканировать любую цель:```bash cnspec scan
cnspec возвращает результаты сканирования в `STDOUT` и на платформу Mondoo.
Имея учётную запись на платформе Mondoo, вы можете загружать политики:```bash
cnspec bundle upload mypolicy.mql.yaml
Политика cnspec — это просто YAML-файл, который позволяет выразить любое правило безопасности или лучшую практику для вашего парка устройств.
Несколько примеров можно найти в папке examples в этом репозитории. Вы можете запустить любую из этих политик:```bash
cnspec scan local -f examples/example.mql.yaml
Если вы заинтересованы в написании собственных политик или хотите поделиться политиками с сообществом cnspec, прочитайте [Руководство по написанию политик](https://mondoo.com/docs/cnspec/write-policies/write-intro) от Mondoo.
## Поддерживаемые цели| Цель | Провайдер | Пример |
| ------------------------------ | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| Домены Active Directory | `activedirectory` | `cnspec scan activedirectory --dc DC_HOSTNAME --user USER --password PASSWORD` |
| Аккаунты Alibaba Cloud | `alicloud` | `cnspec scan alicloud --access-key-id KEY_ID --access-key-secret KEY_SECRET` |
| Плейбуки Ansible | `ansible` | `cnspec shell ansible YOUR_PLAYBOOK.yml` |
| Кластеры Apache Cassandra | `cassandra` | `cnspec scan cassandra HOST --user USER --ask-pass` |
| Сетевые устройства Arista | `arista` | `cnspec scan arista DEVICE_PUBLIC_IP --ask-pass` |
| Организации Atlassian | `atlassian admin` | `cnspec shell atlassian admin --admin-token YOUR_TOKEN` |
| Тенанты Auth0 | `auth0` | `cnspec scan auth0 --domain TENANT_DOMAIN --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Аккаунты AWS | `aws` | `cnspec scan aws` |
| Шаблоны AWS CloudFormation | `cloudformation` | `cnspec scan cloudformation cloudformation_file.json` |
| Снимок AWS EC2 EBS | `aws ec2 ebs snapshot` | `cnspec scan aws ec2 ebs snapshot SNAPSHOTID` |
| Том 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` |
| Инстансы AWS EC2 | `ssh` | `cnspec scan ssh user@host` |
| Файлы Bicep и шаблоны ARM | `bicep` | `cnspec scan bicep BICEP_FILE_OR_PATH` |
| Организации Bitwarden | `bitwarden` | `cnspec scan bitwarden --client-id organization.UUID --client-secret CLIENT_SECRET` |
| Блочные устройства | `device` | `cnspec scan device --lun LOGICAL_UNIT_NUMBER` |
| Серверы управления Check Point | `checkpoint` | `cnspec scan checkpoint --hostname HOSTNAME --api-key API_KEY` |
| Устройства Cisco Catalyst | `ciscocatalyst` | `cnspec scan ciscocatalyst HOSTNAME --user USER --ask-pass` |
| Аккаунты платформы Claude AI | `claude` | `cnspec scan claude --admin-token ADMIN_API_KEY` |
| Организации ClickHouse Cloud | `clickhousecloud` | `cnspec scan clickhousecloud --organization-id ORG_ID --api-key KEY_ID --ask-secret` |
| Серверы ClickHouse | `clickhousedb` | `cnspec scan clickhousedb HOST --user USER --ask-pass` |
| Аккаунты Cloudflare | `cloudflare` | `cnspec scan cloudflare --token ACCESS_TOKEN` |
| Пользователи Confluence | `atlassian confluence` | `cnspec shell atlassian confluence --host YOUR_HOST_URL --user USER --user-token YOUR_TOKEN` |
| Образы контейнеров | `container`, `docker` | `cnspec scan container ubuntu:latest` |
| Реестры контейнеров | `container registry` | `cnspec scan container registry index.docker.io/library/rockylinux:8` |
| Аккаунты Databricks | `databricks` | `cnspec scan databricks --account-id ACCOUNT_ID --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Аккаунты Datadog | `datadog` | `cnspec scan datadog --api-key API_KEY --app-key APP_KEY` |
| Аккаунты DigitalOcean | `digitalocean` | `cnspec scan digitalocean --token API_TOKEN` |
| Записи DNS | `host` | `cnspec scan host mondoo.com` |
| Dockerfile | `docker` | `cnspec shell docker file FILENAME` |
| Команды Dropbox Business | `dropbox` | `cnspec scan dropbox --token TEAM_ACCESS_TOKEN` |
| Кластеры Elasticsearch | `elasticsearch` | `cnspec scan elasticsearch HOST --user USER --ask-pass` |
| Системы F5 BIG-IP | `bigip` | `cnspec scan bigip --hostname HOSTNAME --username USER --ask-pass` |
| Файловые системы | `filesystem` | `cnspec scan filesystem MOUNT_PATH` |
| Устройства FortiOS | `fortios` | `cnspec scan fortios --hostname HOSTNAME --token API_TOKEN` |
| Организации GitHub | `github org` | `cnspec scan github org mondoohq` |
| Репозитории GitHub | `github repo` | `cnspec scan github repo mondoohq/cnspec` |
| Группы GitLab | `gitlab` | `cnspec scan gitlab --group mondoohq` |
| Проекты 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` |
| Организации 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` |
| Чарты Helm | `helm` | `cnspec scan helm CHART_PATH` |
| Проекты Hetzner Cloud | `hetzner` | `cnspec scan hetzner --token API_TOKEN` |
| Пространства имён Hugging Face | `huggingface` | `cnspec scan huggingface --token API_TOKEN --namespace NAMESPACE --namespace-type org` |
| Базы данных IBM Db2 | `db2` | `cnspec scan db2 HOST --database DATABASE --user USER --ask-pass` |
| Устройства IoT | `opcua` | `cnspec shell opcua` |
| Информация об IP-адресах | `ipinfo` | `cnspec shell ipinfo` |
| Интерфейсы IPMI | `ipmi` | `cnspec scan ipmi user@host` |
| Тенанты Iru | `iru` | `cnspec scan iru --subdomain SUBDOMAIN --token API_TOKEN` |
| Аккаунты Jamf Pro | `jamf` | `cnspec scan jamf --client-id CLIENT_ID --client-secret CLIENT_SECRET --instance-domain INSTANCE_URL` |
| Инстансы JFrog Artifactory | `artifactory` | `cnspec scan artifactory --url ARTIFACTORY_URL --token ACCESS_TOKEN` |
| Проекты Jira | `atlassian jira` | `cnspec shell atlassian jira --host YOUR_HOST_URL --user USER --user-token YOUR_TOKEN` |
| Организации JumpCloud | `jumpcloud` | `cnspec scan jumpcloud --api-key API_KEY` |
| Устройства Juniper Junos | `junos` | `cnspec scan junos --hostname DEVICE_IP --username USER_NAME --identity-file SSH_IDENTITY_FILE` |
| Серверы Keycloak | `keycloak` | `cnspec scan keycloak --url KEYCLOAK_URL --realm REALM --client-id CLIENT_ID --client-secret CLIENT_SECRET` |
| Узлы кластера Kubernetes | `local`, `ssh` | `cnspec scan ssh user@host` |
| Кластеры Kubernetes | `k8s` | `cnspec scan k8s` |
| Манифесты Kubernetes | `k8s` | `cnspec scan k8s manifest.yaml` |
| Рабочие нагрузки Kubernetes | `k8s` | `cnspec scan k8s --discover pods,deployments` |
| Оверлеи Kustomize | `kustomize` | `cnspec scan kustomize OVERLAY_PATH` |
| Хосты Linux | `local`, `ssh` | `cnspec scan local` или<br></br>`cnspec scan ssh user@host` |
| Хосты macOS | `local`, `ssh` | `cnspec scan local` или<br></br>`cnspec scan ssh user@IP_ADDRESS` |
| Тенанты Microsoft 365 | `ms365` | `cnspec scan ms365 --tenant-id TENANT_ID --client-id CLIENT_ID --certificate-path PEM_FILE` |
| Инстансы Microsoft Azure | `ssh` | `cnspec scan ssh user@host` |
| Подписки Microsoft Azure | `azure` | `cnspec scan azure --subscription SUBSCRIPTION_ID` |
| Инстансы Microsoft SQL Server | `mssql` | `cnspec scan mssql HOST --user USER --ask-pass` |
| Устройства MikroTik RouterOS | `mikrotik` | `cnspec scan mikrotik user@host --ask-pass` |
| Рабочие пространства Mistral AI | `mistral` | `cnspec scan mistral --token API_KEY --workspace WORKSPACE_ID` |
| Серверы Model Context Protocol | `mcp` | `cnspec scan mcp http http://localhost:8080/mcp` |
| Mondoo Platform | `mondoo` | `cnspec scan mondoo` |
| Организации MongoDB Atlas | `mongodbatlas` | `cnspec scan mongodbatlas --org-id ORG_ID --public-key PUBLIC_KEY --private-key PRIVATE_KEY` |
| Серверы MongoDB | `mongo` | `cnspec scan mongo HOST --user USER --ask-pass` |
| Серверы MySQL и MariaDB | `mysqldb` | `cnspec scan mysqldb HOST --user USER --ask-pass` |
| Организации Neon | `neon` | `cnspec scan neon --token API_KEY` |
| Аккаунты Netlify | `netlify` | `cnspec scan netlify --token ACCESS_TOKEN` |
| Сетевые устройства по SSH | `nd-ssh` | `cnspec scan nd-ssh user@host --ask-pass` |
| Аккаунты NextDNS | `nextdns` | `cnspec scan nextdns --api-key API_KEY` |
| Сетевые сканирования Nmap | `nmap` | `cnspec shell nmap host IP_ADDRESS` |
| Nutanix Prism Central | `nutanix` | `cnspec scan nutanix --endpoint ENDPOINT --user USER --ask-pass` |
| Организация Okta | `okta` | `cnspec scan okta --token TOKEN --organization ORGANIZATION` |
| Инстансы Ollama | `ollama` | `cnspec scan ollama --host OLLAMA_URL` |
| Аккаунты OpenAI | `openai` | `cnspec scan openai --token ADMIN_API_KEY --organization ORG_ID` |
| Кластеры OpenSearch | `opensearch` | `cnspec scan opensearch HOST --user USER --ask-pass` |
| Проекты 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` |
| Межсетевые экраны PAN-OS | `panos` | `cnspec scan panos --hostname HOSTNAME --username USER --ask-pass` |
| Инстансы Portainer | `portainer` | `cnspec scan portainer PORTAINER_URL --access-token ACCESS_TOKEN` |
| Серверы PostgreSQL | `postgresdb` | `cnspec scan postgresdb HOST --user USER --ask-pass` |
| Гипервизоры Proxmox VE | `proxmox` | `cnspec scan proxmox --host PROXMOX_URL --token API_TOKEN` |
| Контроллеры управления Redfish | `redfish` | `cnspec scan redfish user@host --ask-pass` |
| Серверы Redis и Valkey | `redisdb` | `cnspec scan redisdb HOST --ask-pass` |
| Запущенные контейнеры | `docker` | `cnspec scan docker CONTAINER_ID` |
| Поисковая система Shodan | `shodan` | `cnspec shell shodan` |
| Команда Slack | `slack` | `cnspec scan slack --token TOKEN` |
| Аккаунты Snowflake | `snowflake` | `cnspec scan snowflake --account ACCOUNT_ID --region REGION --user USER --role ROLE --token TOKEN` |
| Зависимости программного обеспечения | `depsdev` | `cnspec scan depsdev PATH_TO_GO_MOD` |
| SSL-сертификаты на веб-сайтах | `host` | `cnspec scan host mondoo.com` |
| Проекты STACKIT | `stackit` | `cnspec scan stackit --project-id PROJECT_ID --service-account-key-path KEY_FILE` |
| Поддомены | `networkdiscovery` | `cnspec scan networkdiscovery mondoohq.com --discover subdomains` |
| Сети Tailscale | `tailscale` | `cnspec scan tailscale --token ACCESS_TOKEN` |
| Terraform HCL | `terraform` | `cnspec scan terraform HCL_FILE_OR_PATH` |
| План Terraform | `terraform plan` | `cnspec scan terraform plan plan.json` |
| Состояние Terraform | `terraform state` | `cnspec scan terraform state state.json` |
| Аккаунты Together AI | `together` | `cnspec scan together --token API_KEY` |
| Контроллеры Ubiquiti UniFi | `unifi` | `cnspec scan unifi --hostname HOSTNAME --username USER --ask-pass` |
| Виртуальные машины Vagrant | `vagrant` | `cnspec scan vagrant HOST` |
| Аккаунты Vercel | `vercel` | `cnspec scan vercel --token ACCESS_TOKEN` |
| Серверы инференса 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` |
| Векторные базы данных Weaviate | `weaviate` | `cnspec scan weaviate HOST --api-key API_KEY` |
| Хосты Windows | `local`, `ssh`, `winrm` | `cnspec scan local`,<br></br>`cnspec scan ssh Administrator@IP_ADDRESS --ask-pass` или<br></br>`cnspec scan winrm Administrator@IP_ADDRESS --ask-pass` |
| Аккаунты Zoom | `zoom` | `cnspec scan zoom --account-id ACCOUNT_ID --client-id CLIENT_ID --client-secret CLIENT_SECRET` |## Навыки агента
cnspec включает навыки агента, которые дают агентам программирования экспертизу в MQL и возможности навигации по политикам. Навыки работают в Claude Code, Cursor, Gemini CLI и Codex.
| Навык | Описание |
|-------|-------------|
| [mql](https://github.com/mondoohq/cnspec/blob/main/skills/mql) | Разработка запросов MQL с подсказками по синтаксису, платформенно-специфичными шаблонами и обнаружением схемы |
| [policy-graph](https://github.com/mondoohq/cnspec/blob/main/skills/policy-graph) | Навигация по пакетам политик с помощью команд графа — поиск, отслеживание сопоставлений соответствия, исследование структуры |
Смотрите [skills/README.md](https://github.com/mondoohq/cnspec/blob/main/skills/README.md) для инструкций по установке и подробностей.
## Что дальше?
cnspec может делать так много вещей — от тестирования всей вашей инфраструктуры на уязвимости до сбора информации и создания отчётов для аудиторов. Благодаря своим пользовательским политикам cnspec может сканировать любой компонент, который вам важен!
Изучите наши:
- [документация cnspec](https://mondoo.com/docs/cnspec)
- [Политика как код](https://mondoo.com/docs/cnspec/write-policies/write-intro)
- [MQL](https://github.com/mondoohq/mql), наш открытый облачно-нативный фреймворк инвентаризации активов
- [Введение в MQL](https://mondoohq.github.io/mql-intro/index.html)
- [Пакеты ресурсов MQL](https://mondoo.com/docs/mql/resources)
- [Плагин HashiCorp Packer](https://github.com/mondoohq/packer-plugin-mondoo) для интеграции cnspec с HashiCorp Packer!
## Присоединяйтесь к сообществу!
Наша цель — защитить все уровни вашей инфраструктуры. Если вам нужна поддержка или вы хотите принять участие в разработке cnspec, присоединяйтесь к нашему [сообществу](https://github.com/orgs/mondoohq/discussions) сегодня, и давайте развивать его вместе!
## Разработка
Смотрите нашу [документацию по разработке](https://github.com/mondoohq/cnspec/blob/main/docs/development.md) для информации о сборке и участии в разработке cnspec.
## Правовая информация
- **Авторские права:** 2018-2026, Mondoo, Inc.
- **Лицензия:** BUSL 1.1
- **Авторы:** Christoph Hartmann, Dominik Richter