SalesBleed támadási lánc
A Zenity Labs SalesBleed néven mutatott be egy támadási láncot a Salesforce Agentforce ellen, amellyel egy külső támadó bejelentkezés és felhasználói kattintás nélkül tudott érzékeny CRM-adatokat kinyerni. A belépési pont egy teljesen normális, nyilvános Web-to-Lead űrlap volt, a támadó egy lead egyik mezőjébe rejtett prompt injectiont helyezett. Amikor később egy alkalmazott hétköznapi módon megkérte az Agentforce-t a legújabb lead feldolgozására, az agent a rejtett utasításokat is végrehajtotta.
A támadás azért működött, mert ugyanaz az Agentforce subagent hozzáfért a Leads és az Accounts táblákhoz. A rosszindulatú instrukció ezért rávehette az agentet, hogy az Accounts táblából például cégnevet és üzletértéket olvasson ki, majd ezeket egy támadó által kontrollált domain aldomainjébe illessze. A Zenity emellett megkerülte a Salesforce Trusted URLs szűrését is: a redaktor és a böngésző eltérően értelmezett bizonyos URL-formátumokat.
Az adatlopáshoz még HTTP-kapcsolat sem kellett. Az agent egy külső képre hivatkozó HTML-elemet generált, amelyet a kliens automatikusan megpróbált betölteni. Már a hozzá tartozó DNS-lekérdezésben kiszivárgott az adat a támadó authoritative DNS-szerveréhez. Slack-integráció esetén ugyanezt az automatikus URL-preview is kiválthatta. A felhasználó tehát nem kattintott linkre és nem nyitott meg mellékletet, csak a saját agentjét használta a megszokott módon.
A SalesBleed jól mutatja az agentikus rendszerek egyik alapvető problémáját, külső, nem megbízható adat és érzékeny belső adatokhoz hozzáférő agent, kifelé kommunikáló funkció együtt már adatlopási láncot alkothat. Ráadásul a rosszindulatú lead az adatbázisban marad, így később újra aktiválódhat. A Salesforce a konkrét URL-redaction bypass-t és a bemutatott teljes láncot 2026 augusztusára kijavította, a Zenity szerint a leírt exploit jelenleg már nem működik.