Быстрый сканер безопасности AWS с 45 проверками, приоритезирующий уязвимости по критерию эксплуатируемости атакующим.
Универсальный сканер уязвимостей для контейнеров, файловых систем, Git-репозиториев и IaC (Terraform, K8s, Dockerfile) от Aqua Security. …
Инструмент проверки конфигурации безопасности AWS/Azure/GCP на соответствие CIS Benchmarks, GDPR, HIPAA, PCI-DSS, NIST. 500+ проверок: открытые …
Сканер уязвимостей для образов контейнеров и файловых систем — использует SBOM и базы данных CVE.
Рантайм-детектор угроз для контейнеров, Kubernetes и облачной инфраструктуры — проект CNCF. Отслеживает системные вызовы в реальном …
pip install cloud-audit pipx install cloud-audit uvx --from cloud-audit cloud-audit scan docker run ghcr.io/gebalamariusz/cloud-audit scan docker run -v ~/.aws:/home/cloudaudit/.aws:ro ghcr.io/gebalamariusz/cloud-audit scan

Что может достичь угнанный ИИ-агент в вашем AWS-аккунте и можете ли вы это доказать?
Opensource, доступный только для чтения AWS-сканер безопасности. 110 проверок, 64 метода повышения привилегий IAM, 31 правило цепочки атак,
радиус поражения для любого ресурса и agent-blast для Bedrock Agents и AgentCore:
чего может достичь агент с подменённым промптом или украденными учётными данными, с симулятором политик IAM в качестве свидетеля.
Каждое находка сопровождается исправлением через AWS CLI + Terraform. Ничего не записывается в ваш аккаунт.
30-секундная демонстрация - agent-blast - Полное сканирование - Что внутри - Режим доказательства - Установка - Документация
pip install cloud-audit
cloud-audit agent-blast --demo # a hijacked Bedrock Agent, two threat models, one screen
cloud-audit demo --save demo.json # a full sample scan, then explore it offline:
cloud-audit blast-radius --report demo.json --resource arn:aws:iam::123456789012:role/support-bot-ticket-role
cloud-audit simulate --report demo.json --fix aws-iam-018
cloud-audit exposure --report demo.json
Примерный аккаунт вымышлен. Всё, что из него выводится (цепочки атак, корневые причины, стоимость взлома, граф безопасности, доступность агентов), генерируется теми же движками, что и реальное сканирование.
С учётными данными реальное сканирование — это одна команда, и только для чтения. Управляемая AWS политика SecurityAudit
охватывает все проверки (разрешения):
cloud-audit scan # default profile and region
cloud-audit scan --verify # plus IAM policy-simulator proof for escalation paths
cloud-audit agent-blast --verify # then: what your agents can reach, simulator-confirmed
ИИ-агент в AWS — это набор идентификаторов IAM: роль, от имени которой работает агент, роли выполнения
Lambda-функций, лежащих в основе его инструментов, роли его баз знаний, шлюзов и песочниц.
Когда агент угнан, атакующий действует от этих идентификаторов. agent-blast отвечает на вопрос,
что это означает для каждого агента в рамках двух моделей угроз:
| Модель угроз | Что имеет атакующий | Что доступно |
|---|---|---|
| Захват идентификатора | учётные данные роли, от имени которой работает агент (побег из песочницы, чтение метаданных, утечка сессии) | полная роль: методы повышения привилегий, переходы через AssumeRole, данные |
| Захват поведения | ничего, кроме промпта (косвенная подмена промпта через документ, заявку, веб-страницу) | то, что могут делать инструменты агента, ограниченное ролями выполнения самих инструментов |
Реальный вывод для примерного агента (cloud-audit agent-blast --demo -a support-bot):
support-bot (bedrock_agent, eu-central-1)
├── A hijacked tool (tool: create-ticket) can escalate to account admin via PassRole+Lambda
├── status: PREPARED
├── Identity takeover (attacker holds the role's credentials)
│ └── support-bot-agent-role arn:aws:iam::123456789012:role/support-bot-agent-role
│ └── no escalation path; 3 reach(es) from policy grants, 1 on named resources (see Reach)
│ (risk 0/100, 1 nodes)
├── Behaviour takeover (prompt injection: the agent's tools, their roles)
│ ├── search-docs action_group_lambda -> support-bot-search-role
│ │ ├── 3 OpenAPI path(s) in apiSchema; state ENABLED
│ │ └── no escalation path; 4 reach(es) from policy grants, 4 on named resources (see Reach)
│ ├── create-ticket action_group_lambda -> support-bot-ticket-role
│ │ ├── 2 function(s) in functionSchema; state ENABLED
│ │ ├── reaches Account Takeover in 1 hop(s) via PassRole+Lambda (risk 72/100)
│ │ └── escalation: PassRole+Lambda
│ └── product-docs knowledge_base -> support-bot-kb-role
│ ├── 1 S3 data source(s)
│ └── no escalation path; 2 reach(es) from policy grants, 2 on named resources (see Reach)
├── Reach (13 action/resource pairs)
│ ├── tool: search-docs secretsmanager:GetSecretValue on
│ │ arn:aws:secretsmanager:eu-central-1:123456789012:secret:prod/db-credentials-Ab12Cd
│ │ unverified read secret values
│ ├── tool: create-ticket sts:AssumeRole on arn:aws:iam::123456789012:role/ops-admin unverified
│ │ assume IAM roles
│ ├── tool: create-ticket lambda:InvokeFunction on * unverified invoke Lambda functions
│ ├── tool: search-docs s3:PutObject on arn:aws:s3:::company-backups-2024/* unverified write S3
│ │ objects
│ ├── support-bot-agent-role s3:GetObject on arn:aws:s3:::kb-product-docs/* unverified read the
│ │ agent's knowledge base
│ ├── tool: search-docs s3:GetObject on arn:aws:s3:::company-backups-2024/* unverified read S3
│ │ objects
│ ...
├── Tags
│ ├── OWASP Agentic: ASI02 Tool Misuse and Exploitation, ASI03 Identity and Privilege Abuse,
│ │ ASI05 Unexpected Code Execution
│ └── MITRE ATLAS: AML.T0034 Cost Harvesting, AML.T0040 AI Model Inference API Access, AML.T0053
│ AI Agent Tool Invocation, AML.T0086 Exfiltration via AI Agent Tool Invocation
└── Simulated, not executed: identity policies, the attached permissions boundary and SCPs are
evaluated by the IAM policy simulator; resource-based policies of the targets, RCPs and VPC
endpoint policies are not. Tool reach is an upper bound set by the tool's role; what the tool
code does with its inputs is narrower.
История, которую рассказывает вывод: сам бот поддержки безобиден, но документ, который обманывает его,
заставляя вызвать create-ticket, выполняет код под ролью, которая может передать административную роль
новой Lambda. Инструмент search-docs, предназначенный для чтения документации по продукту, также может
читать секрет базы данных продакшена и записывать в бакет резервных копий. Каждая строка указывает
идентификатор, действие и ресурс, поэтому исправление — это формулировка политики, а не дискуссия.
Тот же движок охватывает AgentCore. Для примерного шлюза (--demo -a tools-gw) основным выводом является
межагентская уязвимость:
tools-gw (agentcore_gateway, eu-central-1)
├── tool: crm-sync can write into agent 'support-bot' knowledge base (RAG poisoning): arn:aws:s3:::kb-product-docs/*
├── inbound authorizer: NONE; policy engine: none
...
│ ├── tool: crm-sync s3:PutObject on arn:aws:s3:::kb-product-docs/* unverified write into agent
│ │ 'support-bot' knowledge base (RAG poisoning)
...
├── Coverage notes
│ └── tool 'erp-mcp' (gateway_target_mcp_server): backend identity unknown, not assessed - remote
│ MCP server; credential provider: OAUTH
Что читает agent-blast (все операции list/get, без платы):
DRAFT, разрешённая до
её Lambda и роли выполнения этой Lambda, базы знаний, разрешённые до их S3-бакетов источников данных.Condition. Условия помечаются, никогда не угадываются. Решение принимает симулятор.
Далее, для каждой учётной записи: 64 метода повышения привилегий, переходы AssumeRole через граф доверия и каждое предоставление доступа к данным, секретам, горизонтальному перемещению, выполнению кода и вызову моделей сопоставляется с конкретными ресурсами. Бакет базы знаний всегда является конкретной целью, даже при наличии s3:* на *, и запись в него报告 как отравление RAG (RAG poisoning). Всё, что сканер не смог прочитать (запрещённый регион, инструмент без IAM-учётной записи), отмечается как заметка о покрытии (coverage note), но никогда как молчаливый пропуск.--verify запрашивает iam:SimulatePrincipalPolicy для каждой конкретной пары (учётная запись, действие) с контекстом, который действительно есть у атакующего (без MFA в сессии, TLS-транспорт), и помечает каждый reachable ресурс как PROVEN, DENIED (с указанием уровня политики, которая запретила: SCP, граница полномочий) или not asserted. Форматы вывода: tree, json, markdown. MCP-сервер предоставляет тот же отчёт как get_agent_blast.
cloud-audit scan выполняет 110 проверок только для чтения в 25 сервисах AWS, коррелирует результаты в цепочки атак, ранжирует исправления по количеству разорванных цепочек и оценивает стоимость уязвимости. Это тестовый аккаунт (cloud-audit demo), отрисованный тем же кодом, что и реальное сканирование, и сокращённый для краткости:
┌─────── Health Score ───────┐
│ 15 / 100 │
└────────────────────────────┘
Provider AWS
Account 123456789012
Regions eu-central-1
Resources scanned 80
Checks passed 14
Checks failed 6
Attack chains 3
Risk exposure $572K - $12.5M (IBM/Verizon data)
┌───────────────────────── Attack Chains (3 detected) ─────────────────────────┐
│ CRITICAL PassRole Escalation to Admin (support-bot-ticket-role) │
│ Principal 'support-bot-ticket-role' has iam:PassRole and │
│ can create resources with privileged roles via: │
│ PassRole+Lambda. The attacker passes an admin role to a │
│ service, then uses that service to execute code with admin │
│ privileges. │
│ Fix: Scope iam:PassRole for 'support-bot-ticket-role' to │
│ specific role ARNs │
│ Risk: $250K - $5.0M │
│ │
│ CRITICAL Internet-Exposed Admin Instance │
│ i-0abc123def456789, sg-0a1b2c3d4e5f67890 │
│ Instance i-0abc123def456789 is reachable from the internet │
│ via open security group and has admin IAM role │
│ 'prod-admin-role'. An attacker can reach the instance, │
│ access IMDS credentials, and gain full admin access to the │
│ AWS account. │
│ Fix: Restrict security group sg-0a1b2c3d4e5f67890 to │
│ specific IPs (effort: LOW). │
│ Risk: $62K - $625K │
│ │
│ CRITICAL CI/CD to Admin Takeover │
│ Role 'github-deploy-role' trusts an OIDC provider without │
│ restricting the 'sub' claim AND has admin permissions. Any │
│ repository on the CI/CD platform can assume this role and │
│ gain full AWS admin access. │
│ Fix: Add 'sub' condition to the trust policy (effort: │
│ LOW). │
│ Risk: $125K - $1.2M │
└──────────────────────────────────────────────────────────────────────────────┘
┌────────────── Remediation Plan (fix 3 things, break 3 chains) ───────────────┐
│ # Fix Effort Chains Findings Risk Red │
│ 1 Restrict security groups LOW 1 1 $62.5K - │
│ 2 Add OIDC 'sub' condition to LOW 1 1 $125K - │
│ trust policies │
│ 3 Remove IAM privilege MEDIUM 1 1 $250K - │
│ escalation paths │
└──────────────────────────────────────────────────────────────────────────────┘
┌─────────────────── Quick Wins (break CRITICAL chains now) ───────────────────┐
│ 1. aws ec2 revoke-security-group-ingress --group-id sg-0a1b2c3d4e5f67890 │
│ --protocol tcp --port 22 --cidr 0.0.0.0/0 │
│ Breaks: AC-01 (Internet-Exposed Admin Instance) │
│ │
│ 2. aws iam update-assume-role-policy --role-name github-deploy-role │
│ --policy-document file://trust-with-sub.json │
│ Breaks: AC-07 (CI/CD to Admin Takeover) │
└──────────────────────────────────────────────────────────────────────────────┘
Предварительный просмотр исправления до внесения изменений. simulate устраняет находки, которые исправила бы проверка, и пересчитывает оценку, цепочки и стоимость уязвимости офлайн:
$ cloud-audit simulate --report demo.json --fix aws-iam-018
Simulation: Apply Remove IAM privilege escalation paths
┌────────────────────────────── Impact Analysis ───────────────────────────────┐
│ Metric Before After Delta │
│ Health Score 15/100 35/100 +20 │
│ Attack Chains 3 2 -1 │
│ Findings 6 5 -1 │
│ Risk Exposure $572K - $12.5M $187.5K - $1.9M -85% │
└──────────────────────────────────────────────────────────────────────────────┘
Chains broken (1):
CRITICAL PassRole Escalation to Admin (support-bot-ticket-role) -> GONE
Chains remaining (2):
CRITICAL Internet-Exposed Admin Instance
CRITICAL CI/CD to Admin Takeover
Next recommended fix: Restrict security groups -> breaks 1 more chain(s)
Идите наружу от любого ресурса, чтобы увидеть, до чего может добраться его компрометация:
$ cloud-audit blast-radius --report demo.json --resource arn:aws:iam::123456789012:role/support-bot-ticket-role
┌────────────────────────────────────── Blast Radius ──────────────────────────────────────┐
│ Compromise of role/support-bot-ticket-role leads to Account Takeover via 2 hop(s). │
│ Resource: arn:aws:iam::123456789012:role/support-bot-ticket-role │
│ Reachable: 3 | Paths to impact: 1 | Risk score: 72/100 │
└──────────────────────────────────────────────────────────────────────────────────────────┘
role/support-bot-ticket-role - IAM Role (assumed compromised)
├── Account Takeover - Full AWS admin (via grants admin, type=exploit) <high-value>
└── arn:aws:s3:::company-backups-2024 - S3 bucket (reachable via admin) (via s3:GetObject +
ListBucket, type=data) <high-value>
Available fixes (from scan findings):
- aws-iam-018 Role 'support-bot-ticket-role' can escalate via PassRole+Lambda (breaks chain, effort=MEDIUM)
- aws-s3-001 Bucket 'company-backups-2024' has Block Public Access disabled (breaks chain, effort=LOW)
--format json загружает прямо в визуализатор в открытом браузере на
blast-audit.haitmg.pl; --format mermaid выдаёт диаграмму для
вики-страницы. exposure ранжирует каждый узел графа безопасности по доступности из интернета и повышению привилегий:
$ cloud-audit exposure --report demo.json -n 6
Score Type Label Why
60 iam_role prod-admin-role internet-reachable
41 internet Internet internet-reachable
41 ec2 i-0abc123def456789 internet-reachable
41 security_group sg-0a1b2c3d4e5f67890 internet-reachable
20 iam_role support-bot-ticket-role escalation
20 iam_role support-bot-search-role linked to others
Визуализатор работает целиком в вашем браузере на экспорте blast-radius --format json.
| Возможность | Объём | Команда |
|---|---|---|
| Проверки конфигурации, каждая с исправлением через AWS CLI и Terraform | 110 проверок, 25 сервисов: IAM, S3, EC2, VPC, RDS, KMS, CloudTrail, CloudWatch, GuardDuty, Config, Lambda, ECS, EFS, SSM, Secrets Manager, DynamoDB, Backup, Inspector, Security Hub, WAF, Bedrock, SageMaker, Bedrock AgentCore, Data Perimeter, аккаунт | scan, list-checks |
| Повышение привилегий IAM | 64 метода в 9 категориях: самомутирование IAM, доступ к учётным данным, PassRole к сервису, модификация кода Lambda, злоупотребление политикой доверия, обход границы полномочий, злоупотребление политикой ресурса, перехват вычислений, горизонтальный AssumeRole (BFS по графу доверия) | scan (aws-iam-018) |
| Цепочки атак | 31 правило, коррелирующее находки и актуальные связи (EC2 → роль, Lambda → роль, OIDC → политику) в пути с ссылками на MITRE ATT&CK и рекомендацией по приоритетному исправлению | scan |
| Корневые причины и быстрые победы | группировка находок по исправлению и ранжирование по числу разорванных цепочек | scan |
| «Что, если» | оценка, цепочки и стоимость уязвимости до/после для любого набора проверок, офлайн | simulate --fix |
| Радиус поражения | прямой BFS от EC2-инстанса, IAM-роли или пользователя, Lambda, S3-бакета или секрета; JSON-контракт для визуализатора | blast-radius |
| Ранжирование по уязвимости | каждый узел графа безопасности оценивается по доступности из интернета и повышению привилегий | exposure |
| ИИ-агенты | инвентаризация Bedrock Agents и AgentCore-рантаймов, шлюзов, интерпретаторов кода, браузеров с их IAM-учётными записями и инструментами; двухмодельная оценка достижимости; теги OWASP Agentic и MITRE ATLAS; доказательство через симулятор | agent-blast |
| Режим доказательства | iam:SimulatePrincipalPolicy для путей повышения привилегий (широкий) и для конкретных троек (principal, action, resource) (agent-blast) |
scan --verify, agent-blast --verify |
| Лента угроз | 10 детекторов активного злоупотребления, каждый привязан к задокументированному паттерну инцидентов 2025–2026, версионируется как пакет правил | threat-feed |
| Периметр данных | 5 проверок политик ресурсов: confused deputy и межорганизационная уязвимость, оценка значений условий | scan (aws-dp-*) |
| Конфигурация AgentCore | 6 проверок: интерпретатор кода и сетевой режим рантайма, MMDSv2, KMS памяти, авторизатор шлюза, движок политик шлюза | scan (aws-agc-*) |
| Стоимость нарушения | Диапазон в USD за находку и за цепочку с указанием публичного источника для каждого числа | scan |
| Соответствие требованиям | 6 фреймворков с доказательствами по каждому пункту: CIS AWS v3.0, SOC 2 Type II, ISO 27001:2022, HIPAA, NIS2, BSI C5:2020 | scan --compliance, list-frameworks |
| Дрейф и тренды | сравнение двух сканирований с кодами выхода; история позиций со спарклинами | diff, trend |
| Пробелы в покрытии | чтение, в котором сканер получил отказ,报告 как «не оценено», но никогда как пропуск | каждая команда |
| Выходные форматы | консоль, JSON, HTML-отчёт, SARIF (GitHub Code Scanning), Markdown | scan --format |
| MCP-сервер | 7 инструментов только для чтения для Claude Code, Cursor и любого MCP-клиента, включая get_agent_blast |
cloud-audit-mcp |
Десять детекторов угрожающих лент, как они выводятся командой cloud-audit threat-feed --list (пакет правил 2026-Q2): |
| Шаблон | Критичность | Что обнаруживает |
|---|---|---|
| TF-001 | СРЕДНЯЯ | SES недавно подтверждённая учётная запись (этап подготовки фишинга) |
| TF-002 | ВЫСОКАЯ | Публичный URL Lambda Function (AuthType=NONE) |
| TF-003 | КРИТИЧЕСКАЯ | Политика карантина учётных данных, привязанная к AWS |
| TF-004 | КРИТИЧЕСКАЯ | User-agent сканера утечённых учётных данных обнаружен в CloudTrail |
| TF-005 | ВЫСОКАЯ | Недавно созданная IAM-роль с доступом к вычислениям в стиле майнинга криптовалют |
| TF-006 | ВЫСОКАЯ | EC2 или AgentCore использует IMDSv1 / MMDSv1 (вектор кражи учётных данных через SSRF) |
| TF-007 | СРЕДНЯЯ | IAM-роль CI/CD подвержена атаке путаницы whoAMI |
| TF-008 | ВЫСОКАЯ | Этап подделки CloudTrail (логирование остановлено или доставка не удаётся) |
| TF-009 | ВЫСОКАЯ | Якорь доверия IAM Roles Anywhere с внешним CA |
| TF-010 | ВЫСОКАЯ | AmazonDataZoneFullAccess привязан к не-администраторскому принципалу |
Статический анализ IAM-политик выдаёт ложные срабатывания. Режим доказательства обращается к собственному движку авторизации AWS —
iam:SimulatePrincipalPolicy, который работает в режиме чтения и не взимает плату за каждый вызов.
scan --verify проверяет каждый обнаруженный путь эскалации. verified: true означает, что симулятор разрешил
все необходимые действия; false означает, что одно из них было отклонено (путь, скорее всего, ложное срабатывание);
null означает, что проверка не выполнялась, причина указана в verification_detail.agent-blast --verify проверяет каждую конкретную комбинацию (принципал, действие, ресурс), предоставляет
контекст, который имеет атакующий с украденными или предполагаемыми учётными данные, и указывает уровень, который отклонил запрос.Что симулятор оценивает по состоянию на 2026-07-30: политики идентичности, прикреплённую границу разрешений,
SCPs организации, включая их ключи условий, и предоставляемые вами ключи контекста. Что он не оценивает:
политики управления ресурсами, политики VPC endpoint, цепочки ролей и политики на основе ресурсов для
IAM-ролей. cloud-audit указывает это на каждой проверенной строке. Значение true доказывает, что разрешение существует. Оно
не доказывает полную цепочку атаки; ничего не выполняется.
cloud-audit scan --format html -o report.html # client-ready
cloud-audit scan --format sarif -o results.sarif # GitHub Code Scanning
cloud-audit scan --format json -o report.json # machine-readable, feeds every offline command
cloud-audit scan --format markdown -o report.md # PR comments
cloud-audit scan --compliance cis_aws_v3 --format html -o cis.html
cloud-audit agent-blast --format markdown -o agents.md
- run: pip install cloud-audit
- run: cloud-audit scan --format sarif --output results.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
--quiet завершается только с кодом: 0 — чисто, 1 — обнаружения, 2 — ошибка. Фильтрация по критичности через
--min-severity high. cloud-audit diff old.json new.json --quiet завершается кодом 1 при новых обнаружениях, поэтому
ежедневный сканирование отслеживает дрейф ClickOps. Репозиторий также является составным GitHub Action
(gebalamariusz/cloud-audit@v0). Готовые рабочие процессы: базовое сканирование,
ежедневное сравнение, после развёртывания.
pip install cloud-audit # pip (recommended)
pipx install cloud-audit # isolated
uvx --from cloud-audit cloud-audit scan # no install
docker run ghcr.io/gebalamariusz/cloud-audit scan # Docker (also on Docker Hub: haitmg/cloud-audit)
Docker с учётными данными:
docker run -v ~/.aws:/home/cloudaudit/.aws:ro ghcr.io/gebalamariusz/cloud-audit scan
Python 3.10 до 3.13. Зависимости: boto3, typer, rich, pydantic, jinja2, pyyaml, mcp.
Только чтение. Прикрепите управляемую AWS-политику SecurityAudit; она покрывает все проверки, анализ эскалации IAM,
инвентаризацию агентов и режим доказательства:
aws iam attach-role-policy --role-name auditor \
--policy-arn arn:aws:iam::aws:policy/SecurityAudit
cloud-audit никогда не модифицирует вашу инфраструктуру. simulate, blast-radius, exposure, diff,
trend и agent-blast работают локально на сохранённом сканировании и не выполняют вызовов AWS; --verify добавляет
только вызовы симулятора. Регионы, в которых сервис не существует, пропускаются; регионы, в которых сканеру
отказано в чтении, указываются как пробелы покрытия.
Семь инструментов только для чтения для ИИ-ассистентов: scan_aws, get_findings, get_attack_chains,
get_remediation, get_health_score, list_checks, get_agent_blast.
claude mcp add cloud-audit -- uvx --from cloud-audit cloud-audit-mcp
Затем задайте вопрос: «Просканируй мой аккаунт AWS и скажи, чего могли достичь мои агенты Bedrock, если бы их перехватили».
Основные флаги и конфигурация
cloud-audit scan -R # show remediation inline
cloud-audit scan --profile prod --regions eu-central-1 # profile / region
cloud-audit scan --regions all # all enabled regions
cloud-audit scan --role-arn arn:aws:iam::...:role/audit # cross-account
cloud-audit scan --export-fixes fixes.sh # every CLI fix as a script
cloud-audit scan --categories security,cost # skip reliability/performance checks
cloud-audit agent-blast -a support-bot --profile prod --verify
Значения по умолчанию находятся в .cloud-audit.yml (регионы, min_severity, exclude_checks, временные
подавления suppressions). Переменные окружения (CLOUD_AUDIT_REGIONS, CLOUD_AUDIT_MIN_SEVERITY, ...)
переопределяют файл; флаги CLI переопределяют всё. См.
руководство по конфигурации.
Полная документация на haitmg.pl/cloud-audit: начало работы, agent-blast, Цепочки атак, эскалация IAM, радиус поражения, Режим доказательств, лента угроз, периметр данных, AgentCore, соответствие требованиям, и полный справочник проверок.
cloud-audit бесплатен и остаётся бесплатным. Если вам нужен человек для работы с результатами проверки, автор предлагает профессиональные услуги:
Подробнее: haitmg.pl/cloud-audit-support или по электронной почте kontakt@haitmg.pl.
git clone https://github.com/gebalamariusz/cloud-audit.git
cd cloud-audit
pip install -e ".[dev]"
pytest -q && ruff check src/ tests/ && mypy src/
Смотрите CONTRIBUTING.md для добавления проверок. Релизы в CHANGELOG.md.