RAGuard: apărare pe două straturi împotriva otrăvirii corpusului RAG
La jumătatea lui 2026, întrebarea nu mai este dacă un stack de retrieval-augmented generation poate fi otrăvit, ci cât de ieftin.
RAGuard: apărare pe două straturi împotriva otrăvirii corpusului RAG
La jumătatea lui 2026, întrebarea nu mai este dacă un stack de retrieval-augmented generation poate fi otrăvit, ci cât de ieftin. Leaderboard-urile publice pe Natural Questions includ acum fork-uri adversariale în care o singură contaminare de 5% a corpusului împinge attack success rate peste 0.90. Un preprint recent pe arXiv, RAGuard: A Layered Defense Framework for Retrieval-Augmented Generation Systems Against Data Poisoning, abordează frontal acest mod de eșec cu un design pe două straturi care merită citit cu atenție.
Ce susține efectiv lucrarea
RAGuard combină două apărări ortogonale. Prima este fine-tuning-ul adversarial al unui retriever dens pe documente otrăvite generate sintetic — retriever-ul învață să retrogradeze pasajele care prezintă semnături cunoscute de otrăvire. A doua este Zero-Knowledge Inference Patch (ZKIP), o rutină de decodare leave-one-out care semnalează pasajele malițioase fără etichete și fără acces la componentele interne ale modelului. Pe Natural Questions otrăvit, la rate de otrăvire între 5–30%, ZKIP coboară attack success rate la 0.000, menținând Recall@5 la cel mult 0.03 sub baseline-ul curat. Costul: k+1 apeluri generator per interogare, unde k este numărul de pasaje recuperate.
Costul contează. Un stack care recuperează top-8 pasaje execută acum 9 apeluri generator per interogare de utilizator. Pentru un workload de 10M interogări/lună, aceasta nu e o eroare de rotunjire — e un element operațional care aterizează direct în modelul de cost pe care propriile noastre note de engineering despre contabilizarea RAG per tenant îl tratează ca SLO de primă clasă.
Cum arată fluxul în producție
Decodarea leave-one-out este primitiva interesantă. Pentru fiecare pasaj recuperat p_i, generatorul produce un răspuns cu p_i exclus. Dacă eliminarea lui p_i provoacă o deplasare distribuțională mare în output, p_i este tratat ca suspect — intuiția fiind că un pasaj otrăvit exercită o influență disproporționată asupra generării. O linie de telemetrie reprezentativă arată astfel:
2026-06-11T09:22:47Z ragguard.zkip q_id=nq-4471 k=8
base_logprob=-3.12 loo_deltas=[0.04,0.02,4.71,0.03,0.01,0.02,0.05,0.03]
dropped_idx=2 asr_baseline=0.91 asr_after=0.00
Unde se încadrează în imaginea mai largă a apărării
RAGuard se situează în banda „detectare la inferență” din OWASP Top 10 for LLM Applications 2025 — în mod specific LLM03 (Training Data Poisoning) și LLM06 (Sensitive Information Disclosure prin context otrăvit). Completează igiena la nivel de corpus recomandată de peisajul de amenințări AI al ENISA din 2024 și controalele de încredere din NIST AI RMF 1.0. Niciuna dintre acestea nu înlocuiește verificările de proveniență pre-ingestie, pe care briefing-ul de implementare a AI Act al Comisiei Europene din Q4 2025 le tratează drept control de responsabilitate conform Articolului 10.
La CAI Technology interpretăm taxa k+1 ca pe o funcție de constrângere a designului. Fine-tuning-ul adversarial al retriever-ului este un cost de fundal; ZKIP este un cost de prim-plan plătit de utilizatori la fiecare interogare. Poziția noastră: aplicați ZKIP selectiv — condiționat de încrederea retriever-ului, clasa de risc a tenantului și sensibilitatea interogării — nu uniform. Un răspuns otrăvit la o întrebare de conformitate nu reprezintă același eșec ca un răspuns otrăvit la o recomandare de meniu, iar facturarea lor identică risipește buget de care veți avea nevoie în altă parte. Practicienii care construiesc un program de apărare pot începe cu harta noastră de amenințări pentru pipeline-uri RAG.