Hoop: контроль безопасности взаимодействия агентов с протоколами и базами данных
Hoop — это открытый сайдкар, который обеспечивает контроль за безопасностью взаимодействия агентов с разными протоколами, базами данных и контейнерами, сохраняя при этом одинаковую политику. Проект решает задачу защиты чувствительных данных, позволяя эффективно маскировать информацию и предотвращать выполнение разрушительных команд на уровне запросов.
В отличие от традиционных подходов, Hoop не требует изменения конфигураций на стороне агентов или внедрения SDK, обеспечивая прозрачность и легкость интеграции. Это может быть полезно для разработчиков, работающих с МКП (MCP), моделями машинного обучения (LLMs) или базами данных, которые нуждаются в повышенной безопасности.
Проект написан на Go. Установить его можно с помощью Homebrew: brew tap hoophq/brew и brew install hoop. Учти, что это еще не завершенный продукт, так что ожидай возможные баги и ограничения в функционале.
Проект hoophq/hoop представляет собой инструмент для контроля работы агентов, обеспечивающий защиту данных и безопасность операций с базами данных. Он функционирует как сайдкар — небольшое приложение, которое работает параллельно с другими программами и управляет их взаимодействием с ресурсами.
Зачем нужен hoop?
hoop обеспечивает защиту данных, маскируя чувствительную информацию в ответах от базы данных, а также предотвращает выполнение опасных SQL-запросов. Это позволяет избежать случайного или умышленного удаления данных и обеспечить безопасность при работе с базами данных, такими как PostgreSQL и Microsoft SQL Server.
Как установить и запустить?
Для установки hoop можно использовать Homebrew. Выполни следующие команды:
brew tap hoophq/brew https://github.com/hoophq/brew.git
brew install hoop
Конфигурация осуществляется через один YAML-файл. Пример конфигурации, который маскирует адреса электронной почты и запрещает опасные операции:
log_level: info
admin:
listen: 127.0.0.1:19000
mask:
enabled: true
rules:
- {name: emails, entity: EMAIL_ADDRESS, strategy: redact}
policy:
enforce: true
rules:
- name: no-destructive-sql
type: operation
operations: [drop, delete, truncate]
listeners:
- name: localdb
protocol: postgres
listen: 127.0.0.1:15432
upstream: 127.0.0.1:5432
Запуск происходит с помощью следующей команды:
hoop start sidecar --config config.yaml
Если конфигурации нет, программа всё равно начнёт свою работу с предустановленных значений, предоставляя ссылку на документацию.
Что проект умеет?
- Маскировка данных: Потенциально конфиденциальные значения заменяются в памяти, и клиент не видит их.
- Ограждения (Guardrails): Защитные правила, которые проверяются при каждом SQL-запросе, запрещают выполнение разрушительных операций.
- Анализ сессий: Оценка рисков каждой операции до её выполнения.
- Рецензии: Риски, связанные с определёнными операциями, могут быть пересмотрены человеком для окончательного решения.
Поддерживаемые протоколы
hoop поддерживает следующие протоколы:
- PostgreSQL
- Microsoft SQL Server
- HTTP
Ограничения
hoop не является полноценной системой управления доступом (PAM) или шлюзом (MCP). Он работает как сторонний модуль, который контролирует взаимодействие агентов с ресурсами, а не заменяет существующую инфраструктуру. Главное внимание уделяется безопасности операций, что может вызвать дополнительные накладные расходы в производительности на операциях, требующих рецензирования.
В целом, hoop обеспечивает безопасность и контроль за выполнением запросов к базе данных, снижая риск разрушительных ошибок и утечки конфиденциальной информации.
Открыть на GitHub: hoophq/hoop →
RepoRadar