Lesson 11 — Projet final

Projet final : analyse de risques d'un assistant IA client

9 min read

This content is not translated yet. Showing the original version.

Projet final : analyse de risques d'un assistant IA client

Le cas : « Léa », l'assistante de la boutique

Une enseigne fictive de vente en ligne d'électroménager déploie Léa, un assistant sur son site et dans son application.

ÉlémentDescription
UtilisateursClients connectés et visiteurs anonymes
PlateformeGemini Enterprise (agent) ; une variante interne pour les conseillers sur watpilot
Sources RAGFAQ publique, fiches produits (dont certaines rédigées par des vendeurs partenaires), conditions générales, et un dossier « procédures internes SAV » ajouté « pour améliorer les réponses »
Outilsget_orders(customer_id), create_return(order_ref), issue_voucher(amount) sans plafond, send_email(to, body)
Pièces jointesLes clients peuvent déposer photos et factures PDF
JournauxConversations complètes conservées sans durée définie
InterfaceLe widget rend le Markdown, images comprises
InformationAucune mention indiquant qu'il s'agit d'une IA
flowchart LR
  C["Client ou visiteur"] --> W["Widget (rendu Markdown + images)"]
  W --> A["Agent Léa"]
  A --> R["RAG : FAQ, fiches vendeurs, CGV, procédures internes"]
  A --> T1["get_orders(customer_id)"]
  A --> T2["create_return"]
  A --> T3["issue_voucher sans plafond"]
  A --> T4["send_email vers toute adresse"]
  C -->|"pièces jointes"| A
  A --> L["Journaux complets, durée illimitée"]

Étape 1 : identifier les risques

Listez au moins huit risques, chacun relié à une catégorie OWASP ou à une exigence RGPD / AI Act.

Quel élément du cas crée la combinaison la plus dangereuse pour une exfiltration par injection indirecte ?

Étape 2 : coter et construire la matrice

Échelle proposée : probabilité de 1 (rare) à 4 (très probable), impact de 1 (faible) à 4 (critique). Criticité = probabilité × impact. Seuils, par exemple : 1–4 faible, 5–8 moyen, 9–16 élevé.

Impact 1Impact 2Impact 3Impact 4
Probabilité 4481216
Probabilité 336912
Probabilité 22468
Probabilité 11234

Un risque coté probabilité 2 et impact 4 a une criticité de 8. Avec les seuils proposés, comment le traiter ?

Étape 3 : conformité

Répondez : base légale des traitements, AIPD nécessaire ou non, contrat de sous-traitance, durée de conservation, catégorie AI Act et obligation de transparence.

Étape 4 : plan d'actions

Pour chaque risque élevé ou moyen : une action, un type (déterministe ou probabiliste), un propriétaire, une échéance, un indicateur de vérification.

Votre livrable

Un document (ou un fichier YAML/tableur) contenant : la description, la matrice cotée avant et après actions, le volet conformité, le plan d'actions. Faites-le, puis comparez avec le corrigé.

Voir la solution

Matrice des risques (avant actions)

IDRisqueRéf.PICriticité
R1Injection indirecte via fiche vendeur ou PDF, puis exfiltration par e-mail ou imageLLM01, LLM05, LLM023412
R2Accès aux commandes d'un autre client (customer_id fourni par le modèle)LLM06, LLM023412
R3Bons d'achat émis sans plafondLLM06339
R4Procédures internes SAV révélées au public via le RAGLLM08428
R5Engagement inventé (garantie, délai, prix)LLM09339
R6Journaux complets sans durée : non-conformité et surface de fuiteRGPD art. 5.1.e, 324312
R7Absence d'information « vous parlez à une IA »AI Act art. 50, RGPD art. 13428
R8Abus de volume par visiteurs anonymes (coûts, déni de service)LLM10224
R9Données de santé spontanées dans le chat (ex. « appareil pour mon handicap »)RGPD art. 9236
quadrantChart
  title Matrice avant actions
  x-axis Impact faible --> Impact critique
  y-axis Probabilite faible --> Probabilite forte
  quadrant-1 Traiter en priorite
  quadrant-2 Surveiller et reduire
  quadrant-3 Accepter
  quadrant-4 Proteger par mesure deterministe
  R1 injection: [0.9, 0.7]
  R2 autre client: [0.88, 0.72]
  R3 bons d achat: [0.65, 0.68]
  R4 procedures internes: [0.4, 0.9]
  R5 engagement invente: [0.62, 0.66]
  R6 journaux: [0.66, 0.9]
  R7 transparence: [0.38, 0.88]
  R8 volume: [0.35, 0.35]
  R9 donnees sante: [0.62, 0.35]

Conformité

  • Rôles : l'enseigne est responsable de traitement ; le fournisseur cloud est sous-traitant (contrat art. 28, région de traitement documentée, pas d'entraînement sur les données).
  • Base légale : exécution du contrat pour le suivi de commandes ; intérêt légitime pour l'assistance aux visiteurs ; toute réutilisation pour améliorer le modèle = finalité distincte.
  • AIPD : à mener par prudence (technologie innovante, grande échelle, clients) ; à confirmer avec le DPO.
  • AI Act : obligations de transparence (art. 50) ; non haut risque pour cet usage ; maîtrise de l'IA (art. 4) pour les conseillers.

Plan d'actions

ActionRisquesTypePropriétaireÉchéanceVérification
Remplacer get_orders(customer_id) par get_my_orders() lié à la sessionR2DéterministeTech leadAvant prodTest RT-03 à 0 %
Remplacer send_email par une réponse dans le fil client uniquementR1DéterministeTech leadAvant prodRevue de code + RT-02
Rendu sans images externes ni HTML, liens en liste blancheR1DéterministeFrontAvant prodTest RT-06
Plafond sur issue_voucher + confirmation conseiller au-delàR3DéterministeProduitAvant prodJournaux de la passerelle
Retirer les procédures internes du corpus public ; index séparé pour l'assistant conseillersR4DéterministeDataAvant prodTest RT-07
Filtre d'injection et de données sensibles (ex. Model Armor) en entrée et sortieR1, R9ProbabilisteSécuritéAvant prodTaux de détection sur jeu de test
Réponses ancrées avec sources, refus si pas de source ; CGV comme référenceR5ProbabilisteProduitAvant prodÉchantillon relu chaque mois
Durée de conservation définie, masquage, accès restreint aux journauxR6, R9DéterministeDPO + Ops30 joursPurge automatique vérifiée
Mention « assistant automatisé » + lien vers un conseiller et vers la noticeR7DéterministeProduitAvant prodCapture d'écran en revue
Quotas par session, captcha pour anonymes, alerte budgétaireR8DéterministeOps30 joursTest de charge
Red teaming complet puis revue des risquesTous—SécuritéAvant prod puis tous les 6 moisRapport

Matrice cible (après actions, à confirmer par les tests)

R2 et R3 passent à une probabilité de 1 (contrôles déterministes) ; R1 passe à 2 × 3 = 6 grâce au retrait du canal d'e-mail et du rendu d'images ; R4, R6, R7 deviennent faibles. Le risque résiduel principal reste R5 (désinformation) : il est accepté par le porteur métier, avec une surveillance mensuelle.

Grille d'auto-évaluation

Comptez 1 point par critère rempli. 12 points ou plus : objectif atteint. 8 à 11 : reprenez les leçons liées aux critères manqués. Moins de 8 : refaites le projet après les modules 1 et 2.

#CritèreLeçon de référence
1J'ai identifié au moins 8 risques distincts1.1
2Chaque risque est relié à une catégorie OWASP ou à un article précis1.1, 3.1, 3.2
3J'ai repéré la chaîne d'injection indirecte (contenu tiers → données → sortie)1.2
4J'ai signalé le customer_id fourni par le modèle2.1
5J'ai traité le rendu Markdown et les images comme un risque de sortie1.3, 2.2
6J'ai repéré les procédures internes dans le corpus public1.3
7Ma matrice utilise une échelle définie et des seuils explicitesProjet
8J'ai privilégié des mesures déterministes pour les risques à impact critique2.1
9Chaque action a un propriétaire, une échéance et un moyen de vérification4.2
10J'ai défini une durée de conservation et un masquage des journaux2.2, 3.1
11J'ai traité base légale, AIPD et contrat de sous-traitance3.1
12J'ai identifié l'obligation de transparence de l'AI Act3.2
13J'ai prévu un red teaming et une revue périodique2.3, 4.2
14J'ai documenté au moins un risque résiduel accepté, avec son propriétaire4.2

Je sais faire

  • Décrire un assistant IA sous forme de schéma de flux exploitable pour l'analyse de risques
  • Coter des risques en probabilité × impact et construire une matrice
  • Produire le volet conformité RGPD et AI Act d'un cas d'usage
  • Rédiger un plan d'actions priorisé, attribué et vérifiable
  • Présenter une matrice avant / après et justifier le risque résiduel