44 lines
3.2 KiB
Markdown
44 lines
3.2 KiB
Markdown
# Secure SBP Bridge
|
||
|
||
Инструментарий для обеспечения безопасности финансовых транзакций в рамках работы ИИ-агентов. Проект реализует механизм передачи платежной сессии пользователю через протокол СБП (Система Быстрых Платежей).
|
||
|
||
## Описание
|
||
|
||
Навык предназначен для интеграции в ИИ-агенты на базе фреймворка OpenClaw. Основная задача — исключить прямой доступ модели к платежным картам и автоматизировать процесс извлечения данных для ручной оплаты человеком (Human-in-the-Loop).
|
||
|
||
## Принципы безопасности
|
||
|
||
* Изоляция данных: Агент не имеет доступа к реквизитам банковских карт.
|
||
* Программная экстракция: Платежные ссылки извлекаются напрямую из контекста браузера, минуя текстовую обработку моделью, что предотвращает подмену URL при инъекциях промпта.
|
||
* Внеполосная верификация: Оплата происходит во внешней защищенной среде (банковское приложение на устройстве пользователя).
|
||
|
||
## Структура проекта
|
||
|
||
* `src/sbp_bridge/extractor.py`: Логика взаимодействия с Playwright, поиск ссылок и создание скриншотов.
|
||
* `src/sbp_bridge/formatter.py`: Формирование структурированного отчета для пользователя.
|
||
* `src/sbp_bridge/tool.py`: Интеграционный слой для подключения функции к ИИ-агенту.
|
||
* `src/sbp_bridge/SKILL.md`: Системные инструкции, определяющие правила поведения модели.
|
||
|
||
## Установка и настройка
|
||
|
||
Для управления зависимостями используется менеджер пакетов `uv`.
|
||
|
||
1. Установка зависимостей:
|
||
|
||
```bash
|
||
uv sync
|
||
```
|
||
|
||
2. Установка браузеров Playwright:
|
||
|
||
```bash
|
||
uv run playwright install chromium
|
||
```
|
||
|
||
## Алгоритм использования
|
||
|
||
1. Агент доходит до этапа выбора оплаты в интернет-магазине.
|
||
2. При обнаружении интерфейса СБП вызывается инструмент `secure_sbp_handover`.
|
||
3. Пользователь получает в мессенджер ссылку на корзину и прямую ссылку на оплату СБП.
|
||
4. Агент переходит в режим ожидания.
|
||
5. После совершения платежа пользователь отправляет сигнал подтверждения («Готово»), после чего агент завершает задачу.
|