40 lines
2.6 KiB
Markdown
40 lines
2.6 KiB
Markdown
|
|
# Security Policy
|
|||
|
|
|
|||
|
|
## Сообщить об уязвимости
|
|||
|
|
|
|||
|
|
Гиппокамп — внешний журнал состояний для автономных ИИ-агентов. Целостность подписи и цепи — основа.
|
|||
|
|
|
|||
|
|
При обнаружении уязвимости **не открывайте публичный issue**:
|
|||
|
|
|
|||
|
|
- Email: `efir369999@gmail.com`
|
|||
|
|
- Включить: описание, шаги воспроизведения, затронутый компонент (`agent_hippocampus.py`, домен подписи, формат записи), оценка серьёзности.
|
|||
|
|
- Время первого ответа: до 14 дней.
|
|||
|
|
|
|||
|
|
Принцип ответственного раскрытия: уязвимость закрывается до публичного раскрытия. Имя автора находки указывается в release notes (если только репортёр не предпочитает анонимность).
|
|||
|
|
|
|||
|
|
## Область
|
|||
|
|
|
|||
|
|
В области:
|
|||
|
|
- Подпись HMAC-SHA-256 с разделителем домена `montana.agent.hippocampus.v1`
|
|||
|
|
- Целостность цепи через `prev_id`
|
|||
|
|
- Каноническая сериализация записи
|
|||
|
|
- Конструкция `daily_anchor` и формат `dna_hash`
|
|||
|
|
|
|||
|
|
Вне области:
|
|||
|
|
- Воспроизводимость только при модифицированном протоколе записи
|
|||
|
|
- Производительность без следствий для безопасности
|
|||
|
|
- Содержимое поля `content` (приватность — забота приложения, не журнала)
|
|||
|
|
|
|||
|
|
## Криптография
|
|||
|
|
|
|||
|
|
- HMAC-SHA-256 (FIPS 198-1, FIPS 180-4) на 32-байтном секретном ключе
|
|||
|
|
- Разделитель домена обязателен для каждой подписи
|
|||
|
|
- SHA-256 для `record_id` и `dna_hash`
|
|||
|
|
- Каноническая сериализация JSON: `sort_keys=True`, `ensure_ascii=False`
|
|||
|
|
|
|||
|
|
## Угрозы вне зоны ответственности журнала
|
|||
|
|
|
|||
|
|
- Утечка секретного ключа агента (защита — за пределами журнала: безопасное хранение)
|
|||
|
|
- Конфиденциальность поля `content` (если требуется — шифровать перед записью)
|
|||
|
|
- Координация между журналами разных агентов (отдельный протокол свидетельства, не часть гиппокампа)
|