Biztonság¶
Veszély
Ez a modul veszélyes lehet, ha nincs gondosan konfigurálva.
Egy LLM, amely a Odoo-hez kapcsolódik, attól függően, hogy mit engedélyez:
Exfiltrate data külső modellszolgáltatóhoz (a promptok, az eszköz eredményei, a mellékletek és a beszélgetési előzmények elhagyják a szervert).
Read any business data az eljáró felhasználó (vagy ügynökfelhasználó) már tud olvasni az Odoo ACL-ek alatt – és alapértelmezés szerint az AI hozzáférési házirend engedélyezi az olvasást, hacsak nem húzza meg.
Rekordok létrehozása, módosítása vagy törlése, ha az Írás / Törlés képességek és a hozzáférési szabályok engedik — beleértve a felügyelet nélküli ügynök-futtatásokat is (javaslat felügyelői jóváhagyása után, vagy azonnal, ha a feladat Write Mode értéke hybrid / auto), illetve azonnal a chat Automatikus alkalmazás írási módjában.
Call business actions (életciklus-módszerek), ha a Művelet képesség és az engedélyezési lista lehetővé teszi.
Reach the public web or MCP eszközök, amely nem megbízható tartalmat importálhat a modellkörnyezetbe (prompt injekció), vagy adatokat küldhet kimenően.
Modify UI and schema, ha a Testreszabás engedélyezve van egy rendszergazdánál.
Minden mesterséges intelligencia-jogosultságot úgy kezeljen, mint az adott körhöz tartozó termelési root hozzáférést: kezdje szűken, mérje meg, majd csak azt nyissa meg, amire egy konkrét használati esetnek szüksége van.
Fenyegetésmodell (mi mehet rosszul)¶
Adatok a cégen kívülre¶
A szolgáltatónak elküldött minden csevegési kör és eszköz eredménye a szolgáltató feltételei és joghatósága szerint kerül feldolgozásra. Érzékeny személyes adatok, fizetések, jelszavak (ha szabad szövegben), szerződési feltételek és ügyféltitkok jelenhetnek meg:
a felhasználói üzenetek és beszélgetések előzményei;
L4 rögzíti a pillanatképeket, amikor egy űrlapról cseveg;
eszköz kimenetek (
search/read/read_grouperedmények);feltöltött fájlok és letöltött weboldalak;
ügynök futtatási lépései és teljes hasznos terhelésű naplók (ha a naplózás teljes hasznos terhelésre van állítva).
Enyhítések: válasszon olyan szolgáltatót és régiót, amelyet szerződésben elfogad; éles környezetben hagyja az AI napló szint értékét Csak metaadat beállításon, kivéve ha éppen incidenst vizsgál; tagadja meg az érzékeny modelleket és mezőket az AI hozzáférési szabályokban; ne engedélyezze a webet vagy az MCP-t olyan ügynököknél, amelyek bizalmas jegyeket kezelnek; tanítsa meg a felhasználókat, hogy ne illesszenek be titkokat a chatbe.
Túljogosított interaktív chat¶
Ha egy kiemelten kiváltságos alkalmazott írási/törlési/műveleti funkcióval és írási móddal használja az asszisztenst, az Automatikus alkalmazás módban, egyetlen hibás modellfordulat (vagy egy beillesztett e-mailben megjelenő felszólítás) azonnal megváltoztathatja a termelési adatokat.
Mitigations: írási mód megtartása hibrid vagy megerősítés esetén; hagyja ki a Törlést; korlátozza az írást a megbízható csoportokra a Csoportokra korlátozva képességen keresztül; mező/modell megtagadási szabályok bérszámfejtésre, bankokra, adó- és rendszermodellekre.
Túljogosított autonóm ügynök¶
Egy res.users-hez kapcsolt ügynök that user’s Odoo csoporttal fut. Ha csoportok eltávolítása nélkül másolja a „Belső felhasználói” alapértelmezett értékeket, az ügynök teljes jogú alkalmazott lesz. Az agent_full csatorna hatókörével és széles közönségével kombinálva bármely engedélyezési listán szereplő kérelmező elindíthat munkát az ügynök teljes képességosztályainál.
Mitigations: dedikált felhasználó létrehozása csak a szükséges csoportokkal; soha ne kapcsolja össze a Beállítások / AI-rendszergazda; állítson be egy emberi felügyelőt; alapértelmezés szerint használja a intersect hatókört; az üres csatornaközönség senkit jelent; a nyilvános ügynökök írási képességének kikapcsolása; felügyelőként mindig ellenőrizze újra az ajánlatokat.
Életciklus / state megkerülés¶
A state mező közvetlen beírása kihagyhatja az olyan gombokat, mint a Megerősítés / Közzététel. A kapu elutasítja az életciklust jelző ``state`` mező közvetlen írását. Ehelyett használja az engedélyezett üzleti műveleteket (call_action), ha a Művelet képesség engedélyezve van.
Hard-deny padló (önvédelem)¶
Egy fix technikai modellkészlet mindig tiltott az AI eszközök előtt, a hozzáférési szabályoktól függetlenül. Az adminok nem „nyithatják meg” ezeket ai.access.rule-lal. A padló tartalmazza:
biztonsági szempontból érzékeny rendszermodellek (hozzáférési jogok, szabályok, csoportok, felhasználók és API-kulcsok, konfigurációs paraméterek, szekvenciák, menük, nézetek, szerverműveletek, cronok, levélsor, fizetési tokenek, partnerek bankszámlái, …);
az AI alkalmazás minden saját modellje (
aiés mindenai.*név) — az ügynökök nem konfigurálhatják újra a szabályzatot, skilleket, banokat vagy saját futtatásaikat eszközökkel;nyers
mail.messageésdiscuss.channel(szerzőség / bizonyítékintegritás — a legitim chatter a tulajdonos rekordmessage_posthívásán megy keresztül, nem generikus create eszközökön).
Ez egy padló, nem teljes adatosztályozási szabályzat — az üzleti modellek, mint a hr.employee vagy az account.move, nincsenek alapból hard-deny alatt; szükség esetén Önnek kell konfigurálnia őket.
Az ir.attachment és a mail.activity közvetlenül a padlón kívül helyezkedik el, egy szűk, csak kifejezett engedéllyel nyitható halmazban: egyetlen globális alapértelmezés sem nyitja meg őket, egy hozzáférési szabály viszont igen, és a modul mindkettőhöz szállít egyet — a csatolmányok olvashatók és írhatók, a tevékenységek olvashatók, írhatók és létrehozhatók —, így a dokumentum- és a bejövőszámla-skillek el tudnak olvasni egy PDF-et, az ügynökök pedig saját nevükben hagyhatnak ellenőrző Teendőt. A csatolmányok létrehozása és törlése, valamint a tevékenységek törlése zárva marad, mert egyik modell sem esik át a globális alapértelmezésekre. Ezt a két szabályt valódi jogosultságként olvassa, ne a padló részeként: az ügynök bármelyik olvasható rekordon nyithat tevékenységet, és átcsatolhat egy fájlt egy másik rekordra. Szűkítse vagy kapcsolja ki őket, ha ez több annál, mint amennyire a telepítésnek szüksége van.
Modellek közötti mellékhatások¶
Egy mező olyan modellbe is írhat, amelyet Ön soha nem nyitott meg: a crm.lead.email_from a partner e-mail-címét frissíti. A kapu elutasítja az ilyen mezőket, és a kétféle átnyúlás nem egyformán állítható be. Ahol az átnyúlás statikus — related mező —, ott az elutasítás feltétlen, és egyetlen hozzáférési szabály sem oldja fel. Ahol dinamikus — a mező inverse függvényt hordoz —, ott csak a pontosan azt a mezőt megnevező szabály oldja fel, így egy modellszintű engedély nem szivároghat oldalirányban, és az auditnyom sem jelenthet csendben kevesebbet annál, amit egy írás valójában érintett. A fájllekérési útvonalon (fetch_file_to_field) a mezőnkénti engedélyezés egyáltalán nem érvényes: az inverse-t hordozó célmezőt bármilyen szabályt is ír, a rendszer elutasítja, mert a tartalom a modell által választott URL-ről érkezik.
Tíz mező szintű írási engedély érkezik bekapcsolva azokon az adatbázisokon, ahol a Könyvelés telepítve van, a számlázási folyamat érdekében. Ezek közül négy az account.move.line modellen van, és a beágyazott one2many útvonalon a mező szintű Engedélyezés a modellszint előtt dől el, ezért ez a négy sormező a Számlasorok mezőn keresztül írható akkor is, ha egyetlen szabály sem engedélyezi magának az account.move.line modellnek az írását. Tekintse át őket, mielőtt lezártnak minősíti a számlasorokat. A négy közül az egyik, az analytic_distribution, külön figyelmet igényel: ez JSON mező, ezért a rá vonatkozó szabály a modellek közötti védőkorlát mellett a JSON típusú értékek elutasítását is feloldja, az inverze pedig egy lekönyvelt sor analitikus tételeit írja újra — törli és újra létrehozza az account.analytic.line rekordokat egy olyan modellen, amelyet egyetlen szabály sem nevezett meg. Lásd: Modellek közötti írás elleni védelem.
Érzékeny mezők szűrése¶
Azokat a mezőket, amelyek neve titkoknak (jelszó, token, api_key, …), varázsmezőknek és bizonyos összetett típusoknak tűnik, íráskor megfosztjuk vagy megtagadjuk. Ez a mélyreható védekezés, nem helyettesíti a teljes modellek (pl. HR) tagadását.
Megerősítés és újraellenőrzés¶
A függőben lévő írásokat apply időpontban újra érvényesítjük a megfelelő cselekvő identitás és az aktuális szabályzat szerint. Egy régi javaslat jóváhagyása a jogok visszavonása után sikertelen lesz. Az ügynökjavaslatok az run-ből építik újra a jogosultságot, nem pedig a megerősítő jogosultságaiból (a megerősítő engedélyezi; az ügynök hajtja végre).
A futás életben léte is része ennek a felhatalmazásnak. Ha egy futást kérésre leállítottak, vagy az elakadt futásokat begyűjtő művelet zárta le, mert a kiszolgálófolyamata megszakadt, az általa tett javaslatot alkalmazáskor a rendszer elutasítja, és senki nem hagyhatja jóvá: a begyűjtő nem tudja megkülönböztetni a halott kiszolgálófolyamatot a lassútól, ezért egy olyan futás írásait, amelyet valaki más lezártnak jelentett ki, soha nem lehet újrajátszani. Azok a javaslatok, amelyeket egy magától befejeződött futás hagyott hátra — Kész, Sikertelen vagy Időtúllépés —, a háttértakarítás általi lejáratásukig jóváhagyhatók maradnak.
Biztonsági szerepkörök és csoportok¶
Csoport |
Cél |
|---|---|
AI: Felhasználó |
Csevegés, saját beszélgetések, saját írási javaslatok, memória használata; a felügyelőknek erre van szükségük az ügynöki javaslatok jóváhagyásához. |
AI: Adminisztrátor |
Konfigurálja az ügynököket, képességeket, házirendeket, készségeket, MCP, figyelést. AI: Felhasználó. |
Beállítások (rendszeradminisztráció) |
AI Beállítások alkalmazás oldala, irányított beállítás, beállítási tervek. |
Fontos
Az ügynökfelhasználók soha nem használhatják a beállításokat vagy az AI-rendszergazdát. A modul blokkolja az ilyen felhasználók összekapcsolását az ügynök űrlapon (írási időben). Ne adja meg ezeket a csoportokat később sem a felhasználói űrlapon – ez megkerüli az ügynök megkötését, és eltávolítja a tiltó tiltó kapcsolót az AI-rendszergazdák számára.
Rétegezett kontrollok (ellenőrzőlista)¶
Az összes réteg használata; egyik sem helyettesíti a többit:
Odoo groups on the user / agent user — mire képesek mesterséges intelligencia nélkül.
AI capabilities — mely eszközosztályok léteznek (kérdezés, olvasás, írás, törlés, web, mcp, művelet, testreszabás, beállítás, navigáció).
AI access groups + rules – modell/mező engedélyezése·megtagadása az AI-eszközökhöz.
Az ügynök ``capability_ids`` mezője – további felső határ csak az adott ügynök számára.
Channel rules + audience + scope_mode — ki indíthatja el az ügynököt, és hogy a képességosztályok metszik-e a kérelmezőt.
Írási mód / függő írások / felügyelő — ember a hurokban. A chat a globális Beállítások módot használja; minden ügynök-feladatnak saját módja van (alap: confirm). Lásd Feladat írási mód (csak ügynök-futtatások).
Sebességkorláts, strikes, bans, blocked patterns — visszaélés és ismétlődés.
Naplózás and retention — bizonyíték és a legkevesebb megőrzés a lépésnaplókhoz.
Ajánlott production alapbeállítás¶
Hagyja letiltva a következőt: Write, Delete, Web, MCP, Customize, Action, amíg egy megnevezett használati esetnek szüksége lesz mindegyikre.
A hozzáférési szabályzat alapértelmezett beállításainak megtartása: olvasás engedélyezése (vagy megtagadása, ha inkább az alapértelmezett megtagadást választja, és csak a szükséges modelleket nyitja meg), deny létrehozása/írása/törlése.
A hibrid vagy confirm írási mód előnyben részesítése a csevegéshez; soha automatikus megosztott éles adatbázisokon változáskezelési folyamat nélkül.
Az ügynök-feladat Write Mode beállítása maradjon confirm, hacsak a feladat kifejezetten piszkozat-biztos (pl. olyan AP-kitöltés, amely soha nem könyvel le); dokumentálja a kivételt.
Egy supervisor ember ügynökenként; felügyelők AI: Felhasználó.
Nincs megosztott „isten” ügynök az összes osztály számára – domain és adatok szerint felosztva.
Eleinte hetente tekintse át a -t.
Dokumentáljon minden ügynököt a belső runbookjában (cél, felhasználói csoportok, szabályok, adatosztályok megengedettek).
Amit a biztonság nem garantál¶
Tökéletes ellenállás az azonnali injekcióval szemben.
Minden érzékeny üzleti terület besorolása a dobozból.
Az edzésadatok kitalálása nem jelenhet meg szabad szövegű válaszokban (az alapszabályok csökkentik, de nem szüntetik meg a hallucinációkat – a kritikus cselekvéseknek eszközökön és megerősítésen kell keresztülmenniük).
GDPR/jogszabályi megfelelés önmagában – továbbra is szükség van a jogalapra, a szolgáltatókkal kötött adatvédelmi hatóságokra és a megőrzött beszélgetésekre vonatkozó adatmegőrzési szabályzatra.
Csak akkor folytassa a Első lépések-vel, ha ezt az oldalt megértették a modult adminisztráló személyek.