Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sudp — Secret-Use Delegation Protocol — Geheimnisnutzung auf Protokollebene für agentische Systeme | Kitploit
Tools/GitHubGitHub/xhyumiracle/sudp
Authentifizierung & AutorisierungKryptographiePrivatsphäreDienstprogramme & FrameworksSecret-ErkennungIdentitäts- & Zugriffsmanagement (IAM)Papers & ForschungKI-Sicherheit
GitHubxhyumiracle/sudp

sudp

Secret-Use Delegation Protocol — Geheimnisnutzung auf Protokollebene für agentische Systeme

Repository anzeigen
451vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

SUDP — Secret-Use Delegation Protocol

Secret-Nutzung auf Protokollebene für agentische Systeme.

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

Referenzimplementierung von arXiv:2604.24920 — siehe Diese Arbeit zitieren.

sudp ermöglicht es einem autonomen Requester (R), eine durch ein Secret abgesicherte Operation vorzuschlagen, einem Authorizer (A), genau diese Operation zu autorisieren, und einem Custodian (T), sie auszuführen. Die Einheit der Delegation ist eine einzelne Nutzung, nicht das Secret.

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

R sieht s nie und erlangt keine wiederverwendbare Berechtigung darüber — selbst wenn R vollständig kompromittiert ist (Prompt-Injection, Runtime-Shim usw.).

Dieses Paper zitieren

@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 und William Knottenbelt. "SUDP: Secret-Use Delegation Protocol for Agentic Systems." arXiv preprint arXiv:2604.24920 (2026).

Pakete

RolleQuelleVeröffentlicht als
Custodian (T)custodian/rustsudp auf crates.io
Authorizer (A)authorizer/ts@sudp-protocol/authorizer auf npm
Requester (R)requester/ts@sudp-protocol/requester auf npm

Ausprobieren

Voraussetzungen: Rust 1.85+ (über rustup) und Node.js 20+.

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

Erstellt alle drei Pakete, startet den Custodian, führt R + A in einem Node-Skript aus, gibt jede Wire-Interaktion farbcodiert nach Rolle aus und schließt mit einer adversarialen Prüfung ab (R manipuliert o, nachdem A signiert hat → T lehnt ab).

Für die Nutzung auf API-Ebene: custodian/rust · authorizer/ts · requester/ts.

Einen Agenten erstellen

Agent-Autoren benötigen in der Regel nur @sudp-protocol/requester — typisierte Operation-Builder und Shape-Validatoren, kein Transport, keine Framework-Adapter. Der Requester ist die am leichtesten ersetzbare Schicht; jedes Agent-Framework verdrahtet seinen eigenen Kleber.

Sprachübergreifende Ausrichtung

Conformance-Vektoren fixieren die Bytes des Authorizers gegen den Custodian auf Byte-Ebene — zusammengesetzte Shapes bleiben durch Konstruktion ausgerichtet.

OberflächeRust-AnkerTS-Anker
canonical(o)Operation::canonical_bytes Unit-Testsconformance.test.ts: canonical: nested ordering
β + DS_BINDbeta_matches_ts_authorizer_conformance_vectorconformance.test.ts: β: matches Rust...
Batch-β (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-Verschlüsselung (fester Nonce)aead_matches_ts_authorizer_conformance_vectorconformance.test.ts: aeadEncrypt: matches Rust...
wrap_ad-LayoutWrapBinding::to_canonical_ad Testsconformance.test.ts: wrap_ad: DS_WRAP ‖ cid ‖ ver_be
seal_ad-Layoutphases::setup::seal_ad (Setup-Tests)conformance.test.ts: seal_ad: DS_SEAL ‖ ver_be
Seal pro Datensatz (record_aad / K_aead / versiegelte Rahmung)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 führt beide Hälften bei jedem Push aus:

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

Pre-1.0

Das Wire-Format und die Trait-Strukturen können sich vor 1.0 noch ändern. In der Produktion sollten Minor-Versionen fest gepinnt werden:

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

Sicherheit

Siehe SECURITY.md.

Lizenz

Apache-2.0. Siehe LICENSE.

Tool herunterladen