Безопасность
Когда AI-агент работает с внешним API, возникают специфические угрозы, которых нет в обычных приложениях. Главная из них — prompt injection: попытка внедрить вредоносные инструкции через данные API. EdgeLab API спроектирован с учётом этих угроз.Угрозы для AI-агентов
Prompt injection
Prompt injection — это атака, при которой злоумышленник вставляет инструкции для AI-модели в обычные данные. Например, в описание профиля:Утечка ключей
API ключ — это пароль к аккаунту. Если ключ утечёт (попадёт в git, в лог, в скриншот), кто угодно сможет действовать от имени владельца.Чрезмерные права
Агент с доступом ко всем endpoints может нечаянно (или по вредоносной инструкции) выполнить деструктивное действие — например, отозвать все ключи.Защита на стороне API
EdgeLab API реализует несколько уровней защиты:JSON-only ответы
API возвращает только структурированные JSON-ответы. Никакого произвольного текста, HTML или markdown в корне ответа. Это значит, что агент всегда получает предсказуемую структуру данных, а не «свободный текст», в который легко внедрить инструкции.Санитизация пользовательского контента
Поля, содержащие пользовательский ввод (bio, display_name, описания contributions), проходят санитизацию:- Удаление потенциально опасных конструкций
- Экранирование специальных символов
- Ограничение длины
Injection scoring
API анализирует пользовательский контент на наличие паттернов prompt injection. Подозрительный контент получает метку, которую агент может использовать для дополнительной фильтрации.Rate limiting
60 запросов в минуту на ключ. Защищает от brute-force атак и злоупотребления API.Scope-based доступ
Каждый ключ имеет набор scopes, определяемый тарифом. Ключ с scopeprofile:read не сможет удалить аккаунт или отправить данные куда-то ещё, даже если агент получит такую инструкцию через injection.
Защита на стороне агента
API защищает данные на сервере, но агент тоже должен защищаться:1. Scout Agent Pattern
Используй Scout Agent Pattern — двухуровневую архитектуру, где отдельный агент проверяет данные из API перед передачей основному агенту.2. Безопасное хранение ключей
Храни ключи в переменных окружения или.secrets/. Подробности — в гайде Безопасность API ключей.
3. Минимальные права
Создавай отдельные ключи для разных агентов. Если агенту нужно только читать профиль — не давай ему ключ с правами на запись.4. Валидация ответов
Всегда проверяй структуру ответа API перед обработкой:5. Логирование
Логируй все API-запросы и ответы. При инциденте логи помогут понять, что произошло:Модель угроз
| Угроза | Защита API | Защита агента |
|---|---|---|
| Prompt injection через данные | Санитизация, JSON-only, injection scoring | Scout Pattern, фильтрация |
| Утечка API ключа | Ключ показывается один раз, ротация | .secrets/, env vars, .gitignore |
| Brute-force | Rate limiting 60/мин | Обработка 429 ошибок |
| Чрезмерные действия | Scope-based доступ | Минимальные права, отдельные ключи |
| Перехват трафика | Только HTTPS | Проверка сертификатов (по умолчанию в requests) |
Рекомендации
- Начни с малого. Для обучения достаточно прямого подключения. Scout Pattern добавишь, когда будет нужен продакшен.
- Ключи — это серьёзно. Относись к API ключу как к паролю. Утечка ключа = компрометация аккаунта.
- Не доверяй данным. Даже данные из «своего» API могут содержать пользовательский контент других участников. Проверяй всё.
- Обновляйся. Следи за обновлениями API — новые функции безопасности появляются регулярно.