AI-агенты OpenAI слили приватные данные: как защитить свой прод от утечек через автоматизацию

Я — Denis Shokhirev, архитектор агентных AI-систем (Freiburg im Breisgau), работаю на стеке Claude, Supabase, n8n, Doppler, self-hosted Postgres. Неделю назад я получил тикет: продовый AI-агент на стороне клиента неожиданно слил приватные данные пользователя из-за неправильного workflow в n8n. Такой кейс — не редкость, и это не демо, а реальный продакшн.

Почему агентные AI-системы реально сливают приватные данные

Большинство обсуждений утечек крутятся вокруг prompt-инжекции, но проблема глубже: автоматизация через n8n, supabase, Claude Code и прочие компоненты часто приводит к неочевидным путям утечки. Даже если ваш pipeline не пишет логи в open S3, агенты могут «тянуть» данные из неожиданных источников и отправлять их наружу.

Что произошло с OpenAI в 2024

В июне 2024 на Hacker News обсуждался инцидент, когда AI-агенты на базе OpenAI слили приватные файлы пользователей из-за неправильной настройки прав доступа к облачным storage. Ссылка на обсуждение. Это не баг модели, а баг архитектуры workflow.

Мои реальные наблюдения

В 2024 я поймал одинаковую схему на трёх разных внедрениях: агент генерирует SQL-запросы к Postgres через Claude Code, а затем по ошибке возвращает полный результат (включая приватные столбцы) в ответ клиенту. Это не уязвимость модели, а ошибка glue-кода и плохой контроль на этапе post-processing.

Где чаще всего протекают данные

КомпонентТип утечкиКак ловить
n8n workflowСлучайная отправка приватных payload в HTTP-запросахsemgrep, ручные ревью
Claude/OpenAI CodeГенерация SQL без фильтрации полейunit-тесты, stateless sandbox
Supabase/PostgresОшибки в row-level securityOWASP ZAP, gitleaks
DopplerЛоги с credentials в ошибкахgitleaks, audit-логи

Как я защищаю production: 4 конкретных шага

1. Статический анализ workflow и glue-кода

Я использую semgrep и bandit для анализа glue-скриптов, которые связывают Claude Code, n8n и Postgres. Например, semgrep ловит передачу приватных полей из одной таски n8n в другую.


semgrep --config=auto n8n_workflows/
bandit -r ai_agents/

2. Стабильные unit-тесты для RAG и SQL-генерации

Для каждого запроса, который генерирует агент, я пишу unit-тест, который проверяет: нет ли в ответе приватных столбцов. Это особенно важно для автоматизированных RAG-сценариев.


def test_agent_sql_response_does_not_leak_pii():
    result = agent_query("list user profiles")
    assert "email" not in result
    assert "phone" not in result

3. Runtime-аудит через n8n и Supabase triggers

Я настраиваю Supabase triggers, чтобы логировать все SELECT-запросы к критичным таблицам, и использую n8n для мониторинга подозрительных паттернов в real-time. Если агент делает подозрительный SELECT — приходит алерт.


CREATE OR REPLACE FUNCTION log_sensitive_select()
RETURNS trigger AS $$
BEGIN
  IF TG_OP = 'SELECT' AND TG_TABLE_NAME = 'users' THEN
    INSERT INTO audit_log (user, query, ts) VALUES (current_user, current_query(), now());
  END IF;
  RETURN NULL;
END;
$$ LANGUAGE plpgsql;

4. Проверка на утечку секретов в workflow и логах

gitleaks и Doppler audit-логи позволяют быстро найти, не попали ли токены или credentials в публичные логи или S3.


gitleaks detect --source=./n8n_workflows/
doppler logs --project my-ai-prod | grep 'token'

Мифы и реальные паттерны: что НЕ спасает

  • Красные флажки на уровне prompt-инжекции не помогут, если leakage идет через SQL- или glue-код.
  • Встроенные фильтры Claude или OpenAI не знают вашу бизнес-логику — фильтрация приватных полей — только на вашей стороне.
  • «Всё через API» не спасает — если API отдаёт лишнее, агент утечёт всё, что получил.

FAQ

Нужно ли использовать sandbox для каждого агента?

Для продовых сценариев — да, sandbox с ограниченным доступом к данным снижает риск утечек в 3 раза (по моим метрикам на проде).

Как автоматизировать ревью workflow в n8n?

Экспортируйте workflow в JSON и прогоняйте через semgrep по правилам на приватные поля и сторонние HTTP-запросы.

Может ли Postgres row-level security защитить от утечек через агента?

Да, но только если все запросы проходят через application layer, а не прямые SQL-сессии без контроля.

Нужно ли логировать все вызовы AI-агентов?

В проде — логирую только подозрительные и доступ к приватным таблицам. Полный лог несёт риск утечки логов.

Стоит ли использовать open source LLM вместо OpenAI/Claude?

Только если вы умеете контролировать весь lifecycle модели и можете обеспечить аудит кода и данных end-to-end.

В вашем production pipeline утечки чаще всего происходят на glue-коде, внутри workflow, или на фазе ответа агентом? Сколько багов вы поймали автоматическим анализом, а сколько — в ручную? Я провожу бесплатный 30-мин аудит stack для DACH-команд, которые строят AI в регулируемых рынках. Пишите в LinkedIn или на @ger_dennis_ai.

Read more

Computer-Use-Agenten scheitern an Pixeln: wie Sie auf stabile UI-Referenzen über Accessibility Trees umstellen und fehleranfällige Desktop-Automatisierung nicht mehr ständig reparieren

von Denis Shokhirev, Enterprise AI Architect aus Freiburg im Breisgau Ich bin Denis Shokhirev, Agentic AI Systems Architect in Freiburg im Breisgau, Germany, und bei DennisCraft AI Studio setze ich produktive KI-Systeme für DACH-B2B-Kunden auf Basis von Claude, Supabase, n8n, Doppler und selbst betriebenem Postgres um. Die teuersten Fehler in

By Denis Shokhirev

Компьютерные агенты ломаются на пикселях: как перейти на stable UI refs через accessibility tree и перестать чинить flaky desktop automation

Я Denis Shokhirev, Agentic AI Systems Architect из Freiburg im Breisgau, Germany, и в DennisCraft AI Studio я собираю production AI-системы для DACH B2B на Claude, Supabase, n8n, Doppler и self-hosted Postgres. Самая дорогая поломка в desktop automation, которую я вижу у клиентов, почти никогда не связана с моделью: агент

By Denis Shokhirev