Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
sudp — Протокол делегирования использования секретов — использование секретов на уровне протокола для агентных систем | Kitploit
Инструменты/GitHubGitHub/xhyumiracle/sudp
Аутентификация и авторизацияКриптографияКонфиденциальностьУтилиты и фреймворкиОбнаружение СекретовУправление идентификацией и доступом (IAM)Статьи и ИсследованияБезопасность ИИ
GitHubxhyumiracle/sudp

sudp

Протокол делегирования использования секретов — использование секретов на уровне протокола для агентных систем

Репозиторий
4182 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

SUDP — протокол делегирования использования секретов

Использование секретов на уровне протокола для агентных систем.

crates.io npm @sudp-protocol/authorizer npm @sudp-protocol/requester License: Apache-2.0

Эталонная реализация arXiv:2604.24920 — см. Цитирование этой статьи.

sudp позволяет автономному Requester (R) предложить операцию, подкреплённую секретом, Authorizer (A) авторизовать именно эту операцию, а Custodian (T) выполнить её. Единицей делегирования является одно использование, а не сам секрет.

                  ┌─────────────────────────┐
                  │  Authorizer  A          │
                  │  (passkey on a device)  │
                  └────────────┬────────────┘
                               │  signs β over (DS ‖ r ‖ H(o))
                               ▼
   ┌──────────────┐      ┌───────────────┐       ┌──────────────┐
   │ Requester R  │ ─o─▶ │  Custodian T  │ ─s─▶  │ Environment  │
   │   (agent)    │      │               │       │      E       │
   │              │◀ρ────│ holds sealed Σ│       │              │
   └──────────────┘      └───────────────┘       └──────────────┘

R никогда не видит s и не получает многоразовых полномочий над ним — даже если R полностью скомпрометирован (prompt injection, runtime shim и т. п.).

Цитирование этой статьи

@misc{yu2026sudp,
  title         = {SUDP: Secret-Use Delegation Protocol for Agentic Systems},
  author        = {Xiaohang Yu and Hejia Geng and Xinmeng Zeng and William Knottenbelt},
  year          = {2026},
  eprint        = {2604.24920},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CR},
  url           = {https://arxiv.org/abs/2604.24920}
}

Xiaohang Yu, Hejia Geng, Xinmeng Zeng и William Knottenbelt. "SUDP: Secret-Use Delegation Protocol for Agentic Systems." Препринт arXiv arXiv:2604.24920 (2026).

Пакеты

РольИсходный кодОпубликовано как
Custodian (T)custodian/rustsudp на crates.io
Authorizer (A)authorizer/ts@sudp-protocol/authorizer на npm
Requester (R)requester/ts@sudp-protocol/requester на npm

Попробуйте

Предварительные требования: Rust 1.85+ (через rustup) и Node.js 20+.

git clone https://github.com/xhyumiracle/sudp
cd sudp/examples/protocol-demo
./run.sh

Собирает все три пакета, запускает Custodian, выполняет R + A в Node- скрипте, выводит каждое сетевое взаимодействие с цветовой кодировкой по роли и завершает состязательной проверкой (R подменяет o после того, как A подписал → T отклоняет).

Для использования на уровне API: custodian/rust · authorizer/ts · requester/ts.

Создание агента

Авторам агентов обычно нужен только @sudp-protocol/requester — типизированные конструкторы Operation и валидаторы форм, без транспорта, без адаптеров фреймворков. Requester — наиболее заменяемый слой; каждый фреймворк агентов подключает свой собственный связующий код.

Кросс-языковая согласованность

Векторы соответствия фиксируют байты Authorizer относительно Custodian на байтовом уровне — составные формы остаются согласованными по построению.

ПоверхностьЯкорь RustЯкорь TS
canonical(o)модульные тесты Operation::canonical_bytesconformance.test.ts: canonical: nested ordering
β + DS_BINDbeta_matches_ts_authorizer_conformance_vectorconformance.test.ts: β: matches Rust...
пакетный β (H(canonical(ops)))batch_beta_matches_ts_authorizer_conformance_vectorconformance.test.ts: batch β: matches Rust...
derive_wrapping_keyderive_wrapping_key_matches_ts_authorizer_conformance_vectorconformance.test.ts: deriveWrappingKey: matches Rust...
AEAD-шифрование (фиксированный nonce)aead_matches_ts_authorizer_conformance_vectorconformance.test.ts: aeadEncrypt: matches Rust...
структура wrap_adтесты WrapBinding::to_canonical_adconformance.test.ts: wrap_ad: DS_WRAP ‖ cid ‖ ver_be
структура seal_adphases::setup::seal_ad (тесты setup)conformance.test.ts: seal_ad: DS_SEAL ‖ ver_be
помарочная герметизация (record_aad / K_aead / sealed framing)state::record::tests::conformance_*conformance.test.ts: per-record conformance vectors
WRAP_VERSION ↔ CURRENT_VERSIONstate::CURRENT_VERSION = 1conformance.test.ts: WRAP_VERSION matches Rust...

CI запускает обе половины при каждом push:

cd custodian/rust && cargo test
cd authorizer/ts  && npm test
cd requester/ts   && npm test

До версии 1.0

Формат передачи данных и структура трейтов могут ещё измениться до версии 1.0. В продакшене фиксируйте минорные версии:

# Cargo.toml
sudp = "~0.1"
// package.json
"@sudp-protocol/authorizer": "~0.1.0",
"@sudp-protocol/requester":  "~0.1.0"

Безопасность

См. SECURITY.md.

Лицензия

Apache-2.0. См. LICENSE.

Скачать инструмент