ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 166
Numărul 165 Numărul 164 Numărul 163 Numărul 162 Numărul 161 Numărul 160 Numărul 159 Numărul 158 Numărul 157 Numărul 156 Numărul 155 Numărul 154 Numărul 153 Numărul 152 Numărul 151 Numărul 150 Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 166
Abonamente

Cum securizezi un sistem RAG expus la riscuri reale?

Ioana Barboș
Lead AI Engineer @ RebelDot



PROGRAMARE

Sistemele RAG (Retrieval Augmented Generation) s-au bucurat de o adopție explozivă sub promisiunea reducerii deficiențelor modelelor de limbaj prin conectarea lor la surse de date customizate. În loc să se bazeze exclusiv pe cunoștințele acumulate în timpul antrenării, arhitectura RAG își propune reducerea riscului de halucinații prin ancorarea modelelor de limbaj în fapte și date relevante.

Totuși, realitatea este mai complexă. Aplicațiile de tip RAG vin cu provocări specifice, de la asigurarea calității datelor, la securitatea documentelor indexate și a proprietății intelectuale, și până la costuri ce pot crește repede în lipsa unei planificări adecvate.

În articolul de față analizez unele dintre cele mai relevante riscuri ale sistemelor RAG, în general și ale unui asistent IA tehnic, în particular: degradarea calității atunci când sursa de informații conține date contradictorii sau învechite, vulnerabilități de securitate care pot expune informații sensibile și provocările pe care le ridică optimizarea performanței și a costurilor. Înțelegerea acestor provocări este esențială pentru oricine plănuiește să implementeze RAG în mod responsabil și eficient.

Descrierea sistemului IA analizat

Sistemul asupra căruia ne îndreptăm atenția este din sfera suportului tehnic și are la bază arhitectura RAG. Strategia companiilor de a adopta inteligența artificială în acest domeniu nu vine ca o surpriză. Conform articolului "Life is too short to RTFM", doar 25% dintre oameni citesc manualul de instrucțiuni, ceea ce se transformă rapid în apeluri către serviciul de suport sau produse defecte. Oferirea unei experiențe interactive cu un asistent tehnic, accesibil la orice oră este motivată de reducerea defectelor evitabile, reducerea costurilor și îmbunătățirea percepției asupra calității serviciilor oferite.

Un client poate adresa întrebări asistentului tehnic virtual și primi răspunsuri punctuale din trei sfere de interes:

Astfel, sistemul integrează trei surse de date: manuale de utilizator, sistemul intern de tichetare al problemelor tehnice și conținut colectat de pe site-urile competitorilor. Conectarea cu sistemul intern de tichetare asigură actualitatea metodelor de depanare prin aceea că permite personalului tehnic să identifice probleme nou survenite, să creeze remedieri și să le facă accesibile utilizatorilor în cel mai scurt timp.

Datele astfel colectate urmează pașii clasici de procesare: documentele sunt parsate, textele lungi sunt fragmentate în bucăți mai mici numite chunks și apoi transformate în reprezentări numerice, sau vectori printr-un proces de embedding. Aceștia sunt stocați într-o bază de date vectorială (vector store) pentru a permite căutări bazate pe similaritate.

Atunci când un utilizator adresează o întrebare asistentului tehnic, ea este convertită la rândul ei într-o reprezentare numerică. Acesta devine elementul de referință cu care sistemul compară toți ceilalți vectori din baza de date (generați din manuale tehnice, conținut web și tichete de suport), cu scopul identificării informațiilor relevante întrebării adresate. Acestea vor fi ulterior furnizate împreună cu întrebarea unui model de limbaj (LLM) pentru a formula răspunsul final pentru utilizator.

Riscuri de natură legală

În 2026, discuția despre risc în legătură cu sistemele de inteligență artificială capătă nuanțe multiple prin prisma reglementărilor legislative, a securității, a performanței, precum și al impactului pe care sistemul îl are asupra utilizatorilor.

Conform Actului privind Inteligența Artificială (EU AI Act), acest sistem este clasificat ca având grad limitat de risc. Pentru a fi în legalitate, trebuie respectată obligația de transparență, adică informarea utilizatorului privind interacțiunea lui cu un asistent bazat pe inteligență artificială.

Din punctul de vedere al contextului în care este utilizat, ca asistent de depanare pentru clienți, sistemul poate expune utilizatorul la riscuri de accidentare sau poate sugera acțiuni care duc la defectarea produsului. Pentru companie, asta se traduce în riscuri de natură legală, reputațională și potențial financiară. Gestionarea riscurilor constă în afișarea unui disclaimer (în scop de informare), posibilitatea escaladării către un agent uman, constrângerea modelului IA direct în instrucțiuni, implementarea unui filtru la output (înainte de a afișa răspunsul). Suplimentar, este imperativ ca istoricul conversației să fie stocat în situații de dispută legală.

Riscuri de securitate

Identificarea punctelor vulnerabile ale unui sistem IA presupune două condiții de bază. În primul rând, este necesară cunoașterea arhitecturii sistemului și flow-ul datelor în sistem. În al doilea rând, se impune a fi la curent cu principalii vectori de atac, cu factorii de risc specifici domeniului și a urmări constant surse relevante de informare, precum OWASP Top 10 for LLM Applications, rapoartele de red teaming de la Anthropic sau frameworkuri precum MITRE ATLAS. În continuare, sunt prezentate unele dintre cele mai frecvente riscuri la care sunt expuse sistemele RAG care accesează modele de limbaj ca serviciu plătit, prin API.

R01: Costuri nejustificate

Discuțiile utilizatorului cu asistentul virtual, în afara sferei de interes a companiei pot genera costuri suplimentare nejustificate pentru companie. De exemplu, solicitări de depanare pentru produse competitoare, solicitări de informații tehnice pentru produse competitoare în afara unui context de comparare cu produsele companiei sunt generatoare de costuri fără a servi companiei care oferă serviciul de asistență virtuală.

M01: Filtru la input și blocarea întrebărilor identificate ca fiind în afara contextului.

R02: Refuzul serviciului (Model Denial of Service)

Fiecare model de limbaj are, ceea ce se numește "context window", o fereastră de context, adică o limită maximă de conținut pe care o poate procesa, simultan și la un nivel superior de calitate. La epuizarea acestei limite contribuie multiple elemente: instrucțiunile date modelului (promptul), conținutul relevant extras din baza de date, mesajele anterioare din conversație și întrebarea curentă a utilizatorului. Unitatea de măsură a conținutului o reprezintă "tokenul", iar atunci când se atinge limita maximă, modelul de limbaj începe să facă compromisuri asupra calității răspunsului.

Epuizarea resurselor prin context window constituie un risc real de refuz al serviciului, identificat de OWASP în top 10 vulnerabilităților aplicațiilor bazate pe LLM-uri. Dincolo de generarea de costuri, influențează negativ experiența pe care alți utilizatori o au cu serviciul prin indisponibilitatea resurselor sau calitatea îndoielnică a răspunsurilor.

Atacul poate lua mai multe forme. Un atacator poate epuiza contextul cu mesaje lungi și repetitive, poate trimite un flux constant de cereri cu lungimi apropiate limitei maxime la intervale foarte scurte sau poate crea mesaje deliberat dificil de procesat prin erori de ortografie sau structuri confuze. Sistemele RAG trebuie să anticipeze și să se apere împotriva acestor scenarii pentru a menține stabilitatea serviciului.

M02: Limitarea resurselor alocate unui singur utilizator, setarea limitelor pentru folosirea API-ului, monitorizarea utilizării resurselor și setarea alertelor care indică un atac DoS.

R03: Ex-filtrarea informațiilor privind funcționarea sistemului

Promptul care ghidează sistemul privind modul său de funcționare este susceptibil la atacuri și poate fi accesat ușor în lipsa unor măsuri externe de securitate. Conform recomandărilor OWASP prompturile de sistem nu ar trebui considerate secrete ale sistemului.

M03: Este interzis ca promptul de sistem să conțină informații sensibile, de arhitectură (de exemplu, criterii de filtrare), drepturi de acces, detalii confidențiale, care cad sub incidența proprietății intelectuale sau proceduri interne care ghidează procesele decizionale.

R04: Injectarea indirectă a promptului (Indirect Prompt Injection)

Orice sistem RAG care implică colectarea datelor din surse online este expus la acest risc. Sisteme IA bazate pe LLMs mizează pe utilizarea unui limbaj comun dintre sursele de date, instrucțiunile creatorilor sistemului, solicitările venite de la utilizator. Acest detaliu crește suprafața de atac a sistemelor și permite, practic oricui, să încerce să compromită modul de funcționare al sistemului prin suprascrierea sau alterarea instrucțiunilor inițiale. În cazul sistemelor de tip RAG riscul de injectare indirectă a promptului este major. Instrucțiunile pot fi ascunse în documente accesibile din mediul online, pe pagini web, în forumuri, în imagini, adesea invizibile ochiului uman. Dacă aceste instrucțiuni malițioase ajung printre chunkurile utilizate în generarea răspunsului, pot duce la manipularea utilizatorului (prin afișarea unui link malițios) sau dezvăluirea de date confidențiale.

M04: Validarea tuturor informațiilor care sunt ingerate în baza de date (implementarea unor filtre cu scopul identificării textelor riscante, izolarea fragmentelor care au un scor ridicat out-of-distribution, modelarea topicului pentru identificarea fragmentelor cu ton urgent/imperativ/ instructiv), implementarea unor filtre la generarea răspunsului sau calcularea unor metrici și folosirea lor ca filtru (nivelul de ancorare al răspunsului în informațiile extrase sau groundedness)

R05: Otrăvirea datelor (Data Poisoning)

Datele sunt fundamentul sistemelor de IA, iar rezultatele sistemelor de IA oglindesc calitatea datelor pe care se bazează. Coruperea datelor poate să apară în stadii diferite, de la alterarea datelor de antrenare, a documentelor dintr-un sistem RAG, a exemplelor de referință din promptul sistemului, dacă acestea există. Atacurile de "data poisoning" au ca scop influențarea negativă a rezultatelor și a deciziilor, producerea de output biasat, a răspunsurilor false, neactualizate sau conflictuale.

M05: Pentru reducerea riscului se recomandă validarea sursei de date prin implementarea de mecanisme ce verifică integritatea și autenticitatea documentelor anterior ingestiei în baza de date, păstrarea unui istoric al modificărilor conținutului din documentația internă, alegerea unor metrici care să estimeze gradul de aliniere al informațiilor din context și identificarea informațiilor conflictuale.

Riscuri legate de performanța sistemului IA

Performanța sistemului IA se referă la capacitatea acestuia de a-i servi utilizatorului. Pentru un sistem RAG, asta se traduce în trei dimensiuni concrete: răspunsuri corecte și concise la întrebările adresate, menținerea unui ton profesional și consistent și respectarea surselor de date disponibile. Riscurile pe care le-am discutat în articol, halucinațiile, epuizarea resurselor, vulnerabilități de securitate, marchează direct performanța sistemului din perspectiva utilizatorului, motiv pentru care este necesară o imagine holistică asupra întregului sistem, care să stea la baza strategiilor de evaluare și metricilor monitorizate.

Chiar dacă sistemele de tip RAG există de câțiva ani, dinamica ce caracterizează sfera inteligenței artificiale, de la progres tehnic, la legislație și securitate impune adaptarea perspectivei din care ne raportăm la, și dezvoltăm tehnologie.

Referințe

  1. https://academic.oup.com/iwc/article-abstract/28/1/27/2363584?redirectedFrom=fulltext&login=false

  2. EU AI Act

  3. Model Denial of Service

  4. Data Poisoning

LANSAREA NUMĂRULUI 166

AI for Programmers

Miercuri, 29 aprilie, ora 18:00

BMW TechWorks Romania

LinkedIn Meetup StreamEvent YouTube

Conferință TSM

NUMĂRUL 165 - CyberSecurity & AI

Sponsori

  • BT Code Crafters
  • Betfair
  • MHP
  • .msg systems
  • P3 group
  • Cognizant Softvision
  • BMW TechWorks Romania

INTERVIURI