Patch SDK malveillant
Une release ponctuelle d’un SDK d’agent publié embarque une logique d’exfiltration — voleur de secrets, prompt-bleed, ou charge utile conditionnelle déclenchée par la forme d’un appel d’outil.
Mnemom AEGIS — l’Adaptive Enforcement, Governance & Intelligence Substrate — appose sur chaque évaluation d’agent le substrat sur lequel elle s’est exécutée (fournisseur, modèle, version du SDK, lockfile hash optionnel). Lorsque le flux d’évaluation d’un client présente une déviation comportementale compatible avec un substrat compromis, l’agrégateur inter-tenants la voit sur l’ensemble des clients utilisant ce substrat, simultanément. Une Managed Rule signée arrive sur chaque gateway du réseau dans le SLO de propagation.
AEGIS détecte des signatures comportementales compatibles avec une compromission de la chaîne d’approvisionnement. Il ne remplace pas la vérification de la provenance au niveau des paquets ; c’est la couche d’exécution qui capte ce que Sigstore ne peut pas capter.
Trois classes de compromission se situent en amont de l’exécution de l’agent, invisibles pour la détection par tenant car chaque tenant reçoit le même artefact empoisonné.
Une release ponctuelle d’un SDK d’agent publié embarque une logique d’exfiltration — voleur de secrets, prompt-bleed, ou charge utile conditionnelle déclenchée par la forme d’un appel d’outil.
Un checkpoint de modèle largement utilisé est remplacé ou augmenté d’un fine-tune qui répond à un token déclencheur dissimulé. Sigstore atteste que le fichier est bien celui que le fine-tuner a publié ; c’est le comportement qui est en cause.
Un template de prompt communautaire, copié dans des milliers de codebases d’agents, transporte une injection indirecte cachée qui ne s’active que sur un nom d’outil ou un motif de document spécifique.
Le 11 mai 2026, l’acteur menaçant identifié sous le nom TeamPCP a lancé une attaque coordonnée de la chaîne d’approvisionnement contre npm et PyPI. 170+ packages npm et 2 packages PyPI ont été compromis sur 404 versions malveillantes. L’ensemble affecté correspond exactement à la forme d’une chaîne d’approvisionnement agentique : le router TanStack (42 packages), la suite SDK de Mistral AI sur npm et PyPI, l’outillage d’automatisation de UiPath (65 packages), OpenSearch sur npm (1,3M de téléchargements hebdomadaires) et — point notable — Guardrails AI sur PyPI.
Les attestations npm Sigstore sur les versions @tanstack/* compromises étaient des provenances SLSA Build Level 3 valides — le premier cas documenté d’un ver produisant des attestations signées légitimes pour des packages malveillants. La vérification de provenance au niveau des paquets a confirmé que les artefacts venaient bien du pipeline de build qu’ils déclaraient. Et c’était vrai. Le pipeline de build était l’attaquant.
Les menaces comme Mini Shai-Hulud correspondent exactement au schéma substrate-fingerprint qu’AEGIS est conçu pour détecter en inter-tenants. Mnemom n’a pas détecté Shai-Hulud — l’incident est antérieur à la GA d ’AEGIS, et le calm-at-GA contract sur /trust/advisories le reflète honnêtement. L’intérêt de la citation porte sur le modèle de menace : chaque client exécuté sur un SDK compromis devient la première victime de chaque nouvelle classe d’attaque. C’est précisément le mode de défaillance contre lequel AEGIS a été conçu.
Références publiques
The Hacker News, 2026-05-12 — « Mini Shai-Hulud Worm Compromises TanStack, Mistral AI, Guardrails AI & More Packages ».
Unit 42, Palo Alto Networks — attribution originale du ver Shai-Hulud, novembre 2025.
Recherche sécurité Snyk et Wiz — analyses indépendantes de la compromission, mai 2026.
Chaque évaluation qui transite par le gateway managé Mnemom est estampillée d’un substrate fingerprint : le tuple provider + model + sdk@ver, plus un en-tête lockfile-hash optionnel défini par le client pour une granularité accrue. Le fingerprint devient l’une des quatre axis identities — substrat, vertical, motif, source — sur chaque ligne lue par l’agrégateur inter-tenants. (Voir /protection-network pour le découpage L0-L5 ; voir la migration 217 pour la forme du plan de données.)
{
"provider": "anthropic",
"model": "claude-sonnet-4.7",
"sdk": "@anthropic-ai/[email protected]",
"lockfile_hash": "sha256:9f3b...", // optional, customer-supplied
"fingerprint": "sub_a4f1c8e7..." // stable hash of the tuple
}Le flux d’évaluation d’un seul client peut sembler anodin en isolation. Sur l’ensemble des clients utilisant le même substrate fingerprint, la même déviation comportementale fait s’allumer les statistiques glissantes de l’agrégateur L1. AEGIS attribue l’anomalie au substrat, élève automatiquement le bucket à l’intérieur du plafond configuré par le client (selon le modèle de ratcheting additif under-attack), et une Managed Rule signée arrive sur chaque gateway avec P95 ≤ 30 secondes entre la promotion signée et le chargement par la gateway. (Voir /trust/slos.)
Le substrate fingerprint de base (provider + model + sdk@ver) est envoyé par défaut avec chaque appel gateway. Pour une granularité accrue, envoyez un en-tête X-Mnemom-Lockfile-Hash à chaque requête : le SHA-256 de votre manifeste de dépendances résolu. AEGIS n’utilise que l’empreinte hexadécimale — le lockfile brut ne quitte jamais votre environnement.
Avec le lockfile-hash présent, l’agrégateur peut attribuer les anomalies non plus seulement aux « clients exécutant ce provider + model + SDK », mais aux « clients exécutant exactement cet arbre de dépendances résolu ». C’est cette granularité qui permet de capter un patch SDK malveillant avant que le reste du substrat ne le voie.
# Opt into substrate-fingerprint granularity by sending the lockfile-hash # header on every gateway request. The hash is computed over your # resolved dependency manifest (package-lock.json, pnpm-lock.yaml, # poetry.lock, requirements.txt) and never leaves your environment in # raw form — only the hex digest reaches AEGIS. curl https://gateway.mnemom.ai/v1/messages \ -H "X-Mnemom-Api-Key: $MNEMOM_KEY" \ -H "X-Mnemom-Lockfile-Hash: sha256:9f3b…" \ -H "Content-Type: application/json" \ -d @payload.json
L’OWASP Foundation a publié l’OWASP Top 10 for Agentic Applications en décembre 2025 — la première taxonomie formelle revue par les pairs des risques propres aux agents IA autonomes (ASI01 à ASI10). La catégorie ASI06 — Agentic Supply Chain Compromise couvre la classe de menace de cette page : un artefact amont empoisonné atteignant intact l’exécution de l’agent.
Le substrate fingerprint d’AEGIS est le contrôle d’exécution pour ASI06. Là où le reste de la catégorie sécurité de l’IA agentique adresse ASI06 via la provenance des paquets au build ou des scans de dépendances en pré-déploiement, AEGIS ajoute la couche de détection d’exécution inter-tenants qui capte une compromission après l’envoi de l’artefact, lorsque le comportement diverge de la ligne de base du substrat.
La détection inter-tenants attribuée au substrat n’est pas quelque chose que la catégorie actuelle de sécurité IA peut rétro-adapter. Les raisons sont architecturales, et non liées à la roadmap produit.
Couche HTTP. Ils protègent les applications web contre les attaquants web. Ils n’ont aucune notion de quelle version de modèle a produit ce flux de tokens — le substrat est invisible au niveau L7.
Détecteur unique à l’exécution. Ils évaluent le prompt d’une requête face à une base de menaces curatée. Ils n’agrègent pas inter-tenants car ils n’ont pas de réseau inter-tenants — ils sont livrés sous forme de bibliothèques in-process ou de proxies par tenant.
Intégration de politique au build. Ils consolident les primitives de sécurité IA au niveau SDK et gateway à l’intérieur de la tenancy d’un seul client. Aucune Managed Rule signée ne circule de la détection du client A vers la gateway du client B — il n’y a pas de réseau partagé.
Mnemom complète ces outils. Les clients qui utilisent Lakera Guard, NeMo Guardrails, Cloudflare WAF, AWS Bedrock Guardrails ou Cisco AI Defense peuvent exécuter AEGIS en parallèle ; le substrate fingerprint est le signal réseau que rien d’autre dans la catégorie ne produit.
Les indicateurs substrate-fingerprint apparaissent sur le flux IoC public STIX 2.1 sous le filtre type=substrate_fingerprint. À la GA, le flux est vide par conception — le calm-at-GA contract sur /trust/iocs le reflète. Les indicateurs sont publiés lorsque AEGIS clôture une campagne et qu’un advisory signé est diffusé sur /trust/advisories.
# Subscribe to the substrate-fingerprint slice of the public IoC feed. # STIX 2.1 Bundle; empty by design at GA per the calm-at-GA contract. curl -sS 'https://api.mnemom.ai/v1/trust/iocs?type=substrate_fingerprint' \ | jq '.objects[] | select(.type=="indicator")'
Une vue dédiée au risque chaîne d’approvisionnement dans le tableau de bord client est reportée à Phase 4. D’ici là, le threat thermometer L4 sur /dashboard/threats affiche l’état de l’axe substrat aux côtés des trois autres axes. Nous indiquerons le déclencheur de dé-report sur /changelog.
Récupérez la tranche substrate-fingerprint dans votre pipeline d’intelligence menace existant. Bundle STIX 2.1 ; aucune authentification requise.
/v1/trust/iocs?type=substrate_fingerprintFormat de l’en-tête, granularité ajoutée et implications en matière de confidentialité. L’en-tête voyage avec chaque appel gateway dès que vous commencez à l’envoyer.
Guide lockfile-hash