Автоматизация сбора доказательств аудита: гайд на Amazon Bedrock 2026 | AiManual
AiManual Logo Ai / Manual.
05 Апр 2026 Гайд

Автоматизация сбора доказательств для аудита: пошаговый гайд на Amazon Bedrock и браузерной автоматизации

Пошаговое руководство по автоматизации сбора доказательств для compliance-аудита с использованием Amazon Bedrock и браузерной автоматизации. Актуально на 2026 г

Ручной сбор доказательств - это боль, от которой нужно избавиться

Каждый квартал одна и та же картина: команда аудиторов в панике бегает по вкладкам браузера, делает сотни скриншотов, переименовывает их вручную и складывает в общую папку. Потом неделя уходит на то, чтобы привести это в божеский вид для регулятора. Знакомо? Это не просто неэффективно. Это дорого, муторно и чревато ошибками. Пропустил один чекбокс в настройках безопасности - и готовь объяснительную.

Автоматизация здесь - не прихоть, а необходимость. Но как сделать так, чтобы машина сама заходила в нужные системы, кликала где надо и сохраняла доказательства? Ответ - связка Amazon Bedrock для мозга и браузерной автоматизации для рук.

Важно: На 05.04.2026 Amazon Bedrock поддерживает новейшие модели, включая Claude 3.7 Sonnet и собственную модель для автоматизации Nova 2 Lite, которая специально заточена под понимание структуры веб-страниц. Не используйте старые модели вроде GPT-3.5 - они плохо справляются с DOM.

Архитектура, которая работает без сбоев

Система состоит из трех ключевых частей, которые общаются между собой:

  • Мозг (Amazon Bedrock): Модель Nova 2 Lite или Claude 3.7 Sonnet анализирует задачи аудита, составляет пошаговый план действий для браузера и валидирует результаты.
  • Руки (Браузерное расширение): Легкое расширение на Manifest V3, которое выполняет команды от Bedrock: клики, скроллы, заполнение полей и, самое главное, - создание скриншотов с метаданными.
  • Хранилище (Amazon S3): Все собранные доказательства летят в S3-бакет с четкой структурой папок: audit/<дата>/<система>/<чек-лист>.png. Для доступа настраиваются пре-сигнальные URL.

Почему именно так? Потому что разделение логики и исполнения дает гибкость. Если завтра Amazon выпустит Nova 3 - вы замените только модель, не переписывая скрипты. Если Google изменит политику расширений - правите только клиентскую часть. Это принцип из статьи Как Amazon оценивает AI-агентов.

1 Готовим Bedrock и выбираем модель

Зайдите в консоль AWS и активируйте Amazon Bedrock. Не экономьте на регионах - выбирайте тот, где находятся ваши продовые системы, чтобы минимизировать задержки. В 2026 году базовый набор моделей включает Nova 2 Lite (оптимальна для браузерных задач) и Claude 3.7 Sonnet (для сложного анализа).

# Через AWS CLI проверяем доступность моделей
aws bedrock list-foundation-models --region us-east-1 --query "models[?contains(modelName, 'Nova')].modelName"

Создайте кастомный поток (Flow) в Bedrock. Здесь вы опишете сценарии аудита: "Проверить настройки MFA в AWS IAM", "Собрать скриншоты политик доступа S3" и так далее. Для каждого сценария пропишите ожидаемые результаты. Это не код, а инструкция на естественном языке - Bedrock сам преобразует это в план для браузера.

💡
Не используйте общие промпты вроде "собери доказательства". Детализируйте: "Зайди в консоль AWS, открой IAM, перейди в раздел 'Users', для каждого пользователя сделай скриншот вкладки 'Security credentials' и убедись, что MFA Active имеет статус 'Yes'". Чем конкретнее, тем лучше работает модель.

2 Пишем браузерное расширение-исполнитель

Забудьте о тяжелых фреймворках. Наше расширение - это 3 файла: манифест, background-скрипт и попап. Главная хитрость - оно слушает команды от AWS Lambda, которая общается с Bedrock. Расширение получает JSON типа: { "action": "click", "selector": "#mfa-settings" }.

Как НЕ надо делать: пытаться впихнуть всю логику в content script. Он упадет на тяжелых страницах. Разделяйте: background script обращается к Bedrock за планом, content script выполняет простые действия. Вдохновение можно взять из гайда Браузер агента в Bedrock AgentCore.

// Пример фрагмента content script
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.action === 'capture') {
    // Делаем скриншот всей страницы или элемента
    html2canvas(document.body).then(canvas => {
      canvas.toBlob(blob => {
        // Отправляем в S3 через pre-signed URL
        const formData = new FormData();
        formData.append('file', blob, `audit_${Date.now()}.png`);
        fetch(request.uploadUrl, { method: 'PUT', body: blob });
      });
    });
  }
});

3 Настраиваем S3 и безопасный доступ

Создайте бакет с именем вроде company-audit-evidence-2026. Включите версионирование - это важно для трейла изменений. Самое главное - политика доступа. Никаких публичных чтения/записи. Генерируйте pre-signed URL с коротким временем жизни (5-10 минут) для каждой сессии загрузки.

# Генерация pre-signed URL через boto3 (актуально на 2026)
import boto3
from datetime import datetime, timedelta

def get_upload_url(bucket, key):
    s3 = boto3.client('s3', region_name='us-east-1')
    url = s3.generate_presigned_url(
        ClientMethod='put_object',
        Params={'Bucket': bucket, 'Key': key},
        ExpiresIn=300  # 5 минут
    )
    return url

# Ключ формируем по структуре: audit/2026-04-05/aws-iam/user-mfa-status.png

Добавьте S3 Lifecycle Policy для автоматического перехода скриншотов в Glacier через 90 дней, если правила compliance это позволяют. Экономия на хранении может достигать 70%.

4 Сшиваем всё вместе в рабочем процессе

Здесь на помощь приходят Step Functions или Amazon Managed Workflows for Apache Airflow (MWAA). Вы описываете этапы аудита как состояния. Пример:

  1. Запуск по расписанию (EventBridge).
  2. Bedrock анализирует чек-лист, генерирует пошаговый план для браузера.
  3. Lambda отправляет команды расширению через WebSocket.
  4. Расширение выполняет, загружает скриншоты в S3.
  5. Bedrock валидирует полноту доказательств.
  6. Уведомление в Slack/Email о результате.

Если какой-то шаг падает, состояние переходит в ветку обработки ошибок: повтор, эскалация, запись в инциденты. Это похоже на подход из Мультиагентной системы SAARAM, но проще.

5 Тестируем и валидируем

Запустите первый аудит в тестовом окружении. Не на продовых системах! Сравните результаты автоматического сбора с ручной проверкой. Метрики, на которые смотрим:

МетрикаЦельИнструмент проверки
Полнота покрытия чек-листа100%Ручная выборочная проверка
Читаемость скриншотовВсе тексты четкиеAmazon Rekognition TextDetection
Время выполненияНа 80% быстрее ручного сбораCloudWatch Logs

Если модель постоянно ошибается в выборе селектора (кликает не туда), дообучите ее на примерах DOM ваших систем. Техники описаны в статье Как обучить маленькую языковую модель управлять браузером.

Где спрятаны грабли: 5 ошибок, которые сломают систему

Ошибка 1: Использование статичных задержек (sleep). Страницы грузятся с разной скоростью. Вместо time.sleep(10) используйте ожидание появления элемента (waitForSelector). Иначе в 30% случаев скриншот будет пустым.

Ошибка 2: Игнорирование двухфакторной аутентификации. Пропишите в сценарии этап ввода 2FA-кода из приложения или SMS. Либо используйте временные коды из AWS Secrets Manager для тестовых аккаунтов.

Ошибка 3: Хранение учетных данных в коде расширения. Никогда так не делайте. Используйте AWS Secrets Manager с ротацией ключей. Расширение запрашивает временный токен через серверную часть.

Ошибка 4: Отсутствие обработки капчи. Если система использует капчу, вам придется интегрировать сервис вроде AWS Rekognition или остановить автоматизацию на этом этапе, уведомив оператора.

Ошибка 5: Сбор лишних данных. С точки зрения GDPR и локальных законов, скриншот может захватить персональные данные других пользователей. Решение - пост-обработка с помощью моделей для обезличивания, как в Автоматической чистке персональных данных.

Вопросы, которые зададут ваши коллеги (и ответы на них)

А если сайт изменит верстку?

Модель Nova 2 Lite обучена понимать семантику страницы, а не только CSS-селекторы. Вместо #submit-button она ищет "кнопку отправки формы". Но раз в квартал проверяйте ключевые сценарии. Добавьте мониторинг: если успешность выполнения падает ниже 95%, отправляйте alert.

Скриншоты - это достаточно для аудитора?

В 90% случаев - да. Но для критичных систем дополняйте их логами действий (кто, когда, что нажал) в формате JSON. Сохраняйте их в тот же S3 рядом со скриншотами. Некоторые регуляторы требуют видео-запись сессии - используйте расширения для записи экрана, но готовьтесь к большому объему данных.

А если модель "галлюцинирует" и кликает не туда?

Риск есть. Снижайте его strict-валидацией каждого шага. Перед кликом модель должна описать, что она видит на экране. Если описание не совпадает с ожидаемым - стоп. Также помогает Форенсик-аудит локального AI-ассистента для анализа ошибок.

Стоимость? Это же Bedrock, S3, Lambda...

Оценка для среднего предприятия: 1000 скриншотов в месяц. Bedrock (Nova 2 Lite) - ~$5, S3 хранение - ~$2, Lambda - ~$1. Итого $8 против 40 человеко-часов работы аудитора. Окупаемость - первый же месяц.

Неочевидный совет, который сэкономит нервы

Не пытайтесь автоматизировать весь аудит сразу. Выберите один самый болезненный процесс - например, проверку настроек безопасности в SaaS-панели. Настройте его от и до. Покажите результат руководству. Получите бюджет и обратную связь. Потом масштабируйтесь на другие системы.

И помните: автоматизация сбора доказательств - это не про увольнение аудиторов. Это про то, чтобы они перестали быть "кнопконажимателями" и стали аналитиками, которые работают с данными, а не с вкладками браузера. Через год вы не узнаете свою команду.

Если упираетесь в лимиты браузерной автоматизации, посмотрите на локальные LLM для браузера как на резервный вариант. Но на 2026 год Amazon Bedrock с Nova 2 Lite - это самый стабильный выбор для production.

Подписаться на канал