Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
authproof-sdk — Reçus de délégation signés cryptographiquement pour les agents IA. Définissez exactement ce qu'une IA peut et ne peut pas faire — signé, vérifiable, inviolable. | Kitploit
Outils/GitHubGitHub/commonguy25/authproof-sdk
Authentification et AutorisationCryptographieGestion des Identités et des Accès (IAM)Sécurité de la Chaîne LogistiqueSécurité des APISécurité de l'IA
GitHubcommonguy25/authproof-sdk

authproof-sdk

Reçus de délégation signés cryptographiquement pour les agents IA. Définissez exactement ce qu'une IA peut et ne peut pas faire — signé, vérifiable, inviolable.

Voir le dépôt
628il y a 12 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

SDK AuthProof

AuthProof est une couche d'audit et d'attribution pour les agents IA. Il vous permet de prouver ce qu'un utilisateur a autorisé avant que l'agent n'agisse, et il enregistre ce que l'agent a réellement fait par rapport à cette autorisation.

Le mécanisme est simple. L'utilisateur signe un reçu de délégation avec sa propre clé privée. Le reçu porte la portée, les limites, les instructions de l'opérateur (hachées) et une fenêtre temporelle. Un vérificateur pré-exécution contrôle chaque action proposée par rapport au reçu, et un journal d'actions en ajout seul enregistre ce qui a été exécuté. Le résultat est une preuve : ce qui a été autorisé, comparé à ce qui s'est produit.

Ce n'est pas un contrôle de sécurité contre un opérateur malveillant. Le vérificateur s'exécute dans le même processus que l'agent, et un opérateur malhonnête peut simplement ne pas l'appeler. Aucune propriété cryptographique ne peut corriger cela depuis l'intérieur du même runtime. AuthProof prouve l'autorisation pour les déploiements qui exécutent le portail, et il donne aux auditeurs, aux régulateurs et aux utilisateurs un enregistrement qu'ils peuvent vérifier après coup.

Ce qui le rend différent :

  • L'utilisateur est l'autorité de signature. L'objet d'autorisation est signé avec la clé privée de l'utilisateur, et non écrit dans une politique gérée par l'opérateur. La portée signée et le hachage du programme dans le reçu l'emportent toujours sur les métadonnées du journal de l'opérateur. Si les métadonnées de l'opérateur entrent en conflit avec le reçu signé, le portail refuse l'action au lieu de suivre les métadonnées.

  • Engagement d'état du modèle en deux phases. Le modèle est mesuré au moment de l'autorisation et re-mesuré avant l'exécution. Ces mesures sont calculées par logiciel et auto-attestées, non ancrées dans le matériel. Elles constituent une preuve d'altération pour les déploiements honnêtes, pas une preuve contre un hôte hostile.

  • Mise à jour du fournisseur versus substitution malveillante, distinguées. Les changements d'état du modèle se classent en mises à jour légitimes du fournisseur (PROVIDER_UPDATE_REQUIRES_REAUTH) et en substitutions non autorisées (MALICIOUS_MODEL_SUBSTITUTION). Chacune produit un code de motif de refus lisible par machine identifiant les composants qui ont changé.

Vérificateur pré-exécution

Le portail qui s'exécute avant toute action de l'agent.

PreExecutionVerifier.check() vérifie chaque action proposée par rapport au reçu de délégation signé. Faites passer chaque action par celui-ci dans le processus de votre agent, avant que l'action ne s'exécute. Le vérificateur signe ses propres décisions d'autorisation/refus dans un journal d'audit, de sorte que chaque résultat fait partie de l'enregistrement.

Une vérité difficile à intégrer : le vérificateur est dans le même processus. Il vérifie la preuve ; il ne peut pas arrêter un opérateur qui refuse de l'appeler. Utilisez-le là où vous voulez des preuves, pas là où vous avez besoin d'une application contre l'opérateur qui exécute le code.

Pourquoi c'est important

La plupart des autorisations d'agents aujourd'hui reposent sur la parole de l'opérateur : une politique que l'opérateur a écrite, appliquée par du code que l'opérateur contrôle. Quand quelque chose tourne mal, il n'y a aucun enregistrement de ce que l'utilisateur a réellement autorisé, seulement la reconstruction qu'en fait l'opérateur. AuthProof inverse cela. Le reçu signé de l'utilisateur précède l'exécution, et le journal d'actions enregistre ce qui a été exécuté par rapport à celui-ci. La question « l'utilisateur a-t-il autorisé ceci ? » devient vérifiable au lieu d'être discutable.

Démarrage rapide

import { PreExecutionVerifier, DelegationLog } from 'authproof-sdk/pre-execution-verifier'
import { RevocationRegistry } from 'authproof-sdk'

// 1. Set up the gate
const delegationLog      = new DelegationLog()
const revocationRegistry = new RevocationRegistry()
await revocationRegistry.init({ privateKey, publicJwk })

const verifier = new PreExecutionVerifier({ delegationLog, revocationRegistry })
await verifier.init({ privateKey: verifierKey, publicJwk: verifierPub })

// 2. Register your delegation receipt
delegationLog.add(receiptHash, receipt)

// 3. Gate every action — before the agent runs
const result = await verifier.check({
  receiptHash,
  action:               { operation: 'read', resource: 'calendar' },
  operatorInstructions: 'Summarize meetings. Stay within scope.',
  programHash,          // optional: prevents code substitution attacks
})

if (!result.allowed) {
  throw new Error(`Blocked: ${result.blockedReason}`)
}
// Agent runtime only reaches here after all thirteen checks pass

Treize vérifications séquentielles (s'arrête à la première défaillance)

#VérificationBloque lorsque
1Signature du reçuSignature ECDSA P-256 invalide ou reçu altéré
2RévocationLe reçu a été révoqué via RevocationRegistry (cascade : un ancêtre révoqué invalide ses descendants)
3Fenêtre temporelleReçu expiré ou pas encore valide (oracle d'horodatage du journal, pas l'horloge du client)
4PortéeAction absente de ScopeSchema.allowedActions ; sans schéma structuré, la correspondance par mots-clés est purement indicative et ne bloque jamais
5Instructions de l'opérateurLes instructions fournies ne correspondent pas au hachage verrouillé dans le reçu à l'émission ; ignoré avec un avertissement lorsque l'appelant les omet
6Hachage du programmeLe programHash fourni ne correspond pas au hachage executes engagé (optionnel)
7Risque de sessionSeuils de confiance/risque dépassés (optionnel)
8Intégrité du schéma d'outiltoolSchemaHash ne correspond pas au reçu (optionnel)
9État du modèleDérive du modèle détectée (optionnel ; mesure calculée par logiciel, auto-attestée)
10Liaison du hachage de sortie d'outilLe hachage de sortie ne correspond pas au reçu (optionnel)
11Provenance des instructionsSource d'instruction absente des trustedSources du reçu (optionnel)
14Confinement de portée parenteLe sous-reçu dépasse la portée du parent (sous-reçus uniquement) ; révoquer un ancêtre quelconque invalide l'enfant au moment de la vérification
15Dérive de l'état d'autoritéauthorityStateCommitment a dérivé depuis l'émission (optionnel)

Les emplacements 12 et 13 n'ont jamais été implémentés ; l'écart de numérotation est historique. Le portail s'arrête à la première vérification échouée. La consommation à usage unique s'exécute en dernier, après que toutes les vérifications ont réussi, de sorte qu'un emplacement de consommation n'est jamais brûlé sur un reçu qui serait refusé pour une autre raison.

Chaque résultat de vérification, réussi ou échoué, est automatiquement journalisé dans un ActionLog immuable signé avec la propre clé du vérificateur.

Les données signées prévalent. La portée et le hachage du programme du reçu signé prévalent toujours sur les métadonnées du journal de l'opérateur. Si les métadonnées non signées de DelegationLog sont en désaccord avec le reçu signé, le portail refuse l'action (SCOPE_METADATA_MISMATCH / PROGRAM_METADATA_MISMATCH). Les métadonnées du journal ne servent de repli que lorsque le reçu ne porte aucune portée structurée ni valeur executes signée.

La délégation guidée est guidée par l'observation. ScopeDiscovery.guided() et AuthProofClient.delegateGuided() exécutent observe → generateScope → approve → finalize en un seul appel, et l'intégralité de la portée brouillon observée est auto-approuvée sans revue humaine. Pour un véritable moment d'autorisation humaine, passez le hook reviewDraft (approuver, modifier ou refuser le brouillon avant l'émission) ou exécutez les étapes séparément avec un approve() explicite.

Intégrations de middleware

Télécharger l’outil