Cruthaigh cuntas saor in aisce
Slándáil chód feidhmchlár LLM

Is ionchur neamhiontaofa é aschur do mhúnla. Aimsigh na háiteanna a ndéanann do chód dearmad air sin.

Anailís statach ar an gcód timpeall ar do LLM — an cód a thógann an leid, a ghlaonn ar an múnla agus a dhéanann rud éigin leis an bhfreagra. Ní ar an múnla. Ní ar sheasmhacht na leide in aghaidh jailbreak. Ar an gcód.

Clúdaíonn an plean saor in aisce 3 thionscadal agus 30 anailís sa mhí, gan teorainn le líon na n-úsáideoirí agus gan cárta creidmheasa. Tá an anailís seo san áireamh ann.

An fhadhb

Ní leabharlann é múnla. Is ateangaire neamhiontaofa é: tugann tú teaghrán dó agus tugann sé ceann ar ais. Gach rud a chuaigh i bhfeidhm ar an teaghrán sin — leid an úsáideora féin, leathanach a taispeánadh dó, cáipéis a tugadh dó, toradh uirlise eile — chuaigh sé i bhfeidhm ar an bhfreagra.

Tá an freagra neamhurchóideach go dtí go dtugann an cód cumas dó. Ní hé an baol gur dhúirt múnla rud éigin; is é an baol gur chreid clár é. Gach áit a gcaitheann clár le téacs ginte mar chód, mar ordú, mar iarratas, mar chonair nó mar URL, is instealladh é atá léim amháin níos faide uainn — agus murab ionann is an cheist an féidir leid a sheachaint le jailbreak, tá an léim sin le feiceáil sa bhunchód.

Cad a lorgaíonn Cybseco

An áit a sroicheann aschur an mhúnla rud a ghníomhaíonn. Is iad seo catagóirí, déine agus aitheantóirí CWE an innill féin.

Rith cód — CWE-94
criticiúil
eval, exec, compile, new Function, pickle.loads, yaml.load — éiríonn an freagra ina chlár.
Blaosc — CWE-78
criticiúil
os.system, subprocess, child_process.exec, execSync — éiríonn an freagra ina ordú.
Iarratas SQL — CWE-89
ard
execute, raw, createQuery — is é seo go díreach patrún text-to-SQL, agus is críochnú inchreidte é DROP TABLE.
Conair sa chóras comhad — CWE-22
ard
open, readFile, shutil.rmtree, unlink — tá ../../etc/passwd chomh hinchreidte céanna mar chríochnú.
Iarratas amach — CWE-918
ard
requests, httpx, fetch, axios, urlopen — brionnú iarratas ar thaobh an fhreastalaí, roghnaithe ag an múnla.

Sampla nithiúil

Naoi líne, agus cruth iomlán an riosca.

from openai import OpenAI
client = OpenAI()

def run_plan(task: str):
    answer = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": task}],
    )
    exec(answer.choices[0].message.content)
Foinse
client.chat.completions.create(…) — glao a thugann aschur an mhúnla ar ais. Ceanglaíonn an t-anailíseoir an athróg ar sannadh dó é, agus is é sin a ligeann dó an luach a leanúint tríd an bhfeidhm gan anailís idirghnásach.
Sruth
Tá téacs a d'fhéadfadh ionsaitheoir a bheith tar éis tionchar a imirt air in answer. Idir an glao agus an doirteal níl aon rud á scrúdú, á shrianadh ná á mhapáil ar thacar seasta oibríochtaí.
Doirteal
exec(…) — éiríonn an téacs ina chlár i bpróiseas an fheidhmchláir féin, lena dhintiúir, lena líonra agus lena chóras comhad.
Cén fáth a bhfuil tábhacht leis
Roghnaíonn aon rud ar féidir leis dul i bhfeidhm ar task — go díreach, nó trí cháipéis a taispeánadh don mhúnla — cad a ritheann. Is rith cód cianda é seo atá léim amháin níos faide uainn.

Nuair a ritear é ar an inneall reatha, tugann an sliocht sin toradh amháin: llm-output-to-code-execution, CWE-94, déine criticiúil, muinín ard, ar an líne exec. Tá an mhuinín ard mar go bhfuil an athróg ceangailte le fíorghlao completion. Ainm nach bhfuil ann ach gur cosúil le freagra múnla é — llm_response, reply — tuairiscítear é le muinín mheánach ina ionad sin, mar gur buille faoi thuairim é sin, agus bheadh sé ina bhréag faoin bhfianaise a mhalairt a mhaíomh.

Cad nach bhfuil anseo

Ní tástáil ar an múnla é
Ní dhéanaimid an múnla a thaiscéaladh, ní dhéanaimid red teaming air agus ní mheasaimid conas a iompraíonn sé faoi bhrú. Ní deir aon rud anseo an féidir leid a sheachaint le jailbreak: ní féidir é sin a chinneadh ón mbunchód, agus bheadh é a mhaíomh go díreach ar an gcineál ráitis a bhfuil an t-inneall seo ann chun é a sheachaint.
Ní brath iomlán ar instealladh leide é
Tuairiscítear instealladh indíreach san áit a sroicheann ábhar neamhiontaofa leid go cruthaithe. Cainéal nach féidir linn a fheiceáil sa chód, ní thuairiscímid é.
Ní ráthaíocht faoi ghníomhaire é
Tuairiscímid gur tugadh uirlis do ghníomhaire a ritheann cód nó orduithe. Tá an méid a dhéanann an gníomhaire ina dhiaidh sin le linn ritheachta lasmuigh de rud ar bith is féidir le hanailís statach a chinneadh.
Comhlántach le slándáil IS le linn ritheachta
Freagraíonn ráillí cosanta, fearais mheasúnaithe agus red teaming ceisteanna nach féidir leis seo a fhreagairt, agus freagraíonn sé seo ceisteanna nach féidir leosan a fhreagairt. Ní thagann ceachtar acu in ionad an chinn eile.

Rioscaí eile a bhaineann go sonrach le LLM sa chód

Spreagadh gach ceann acu ar shampla in aghaidh an innill reatha sular scríobhadh anseo é.

Rúin agus sonraí pearsanta idirshuite i leid — CWE-200
api_key, pasfhocal, IBAN nó taifead leighis curtha isteach sa téacs a sheolann tú. Tuairiscítear é san áit a bhfuil fíorchomhthéacs leide á thógáil, ní ag gach f-teaghrán a bhfuil eochair ann de thaisme.
Gníomhaire ar tugadh uirlis dó a ritheann cód nó orduithe — CWE-250
PythonREPLTool, ShellTool, ateangaire cóid, teirminéal. Nuair a thugtar ceann acu sin, déantar ceist faoi rith cód cianda as gach ceist faoi instealladh leide.
Cosaint sa chreat múchta arís — CWE-502
allow_dangerous_deserialization=True, trust_remote_code=True, dangerouslyAllow… — mhúch creat í mar nach raibh sí sábháilte.
Rialuithe sábháilteachta an tsoláthraí díchumasaithe — CWE-693
BLOCK_NONE, safety_settings=None, moderation=false.
Leid nó sainmhíniú gníomhaire a fhaightear le linn ritheachta — CWE-829
hub.pull(…), teimpléad leide á luchtú thar HTTP. Rialaíonn an té a rialaíonn an críochphointe sin na treoracha.
Ábhar neamhiontaofa luchtaithe díreach i leid — CWE-77
Leathanach scrábáilte, PDF, stór, vicí. Is é seo cainéal an instealltha indírigh, a aithnítear ar cár tháinig an téacs seachas ar a ndeir sé.
Eochair API múnla scríofa sa bhunchód — CWE-798
sk-…, sk-ant-…, AIza…, hf_… curtha sa stór.
Múnla tarraingthe siar nó ionadaithe daingnithe sa chód — CWE-1104
text-davinci-*, gpt-4-0314, claude-instant — ordlathas treoracha níos laige, gan leid an chórais a scaradh.

Cén fáth ar cheart duit aon chuid de seo a chreidiúint

Tagarmharc foilsithe
Beachtas, aisghabháil agus F1 de réir CWE, de réir teanga agus de réir sraithe anailíse, thar chorpas leaganaithe atá lipéadaithe de láimh. Féach na figiúirí.
Imlíne foilsithe
Ainmnítear gach sraith nach ndéanaimid a thomhas, mar aon leis an gcúis. Léigh an mhodheolaíocht.
Bailíochtú ar chód poiblí
Stórtha agus commits a rinneadh a anailísiú, teangacha a tháinig chun cinn, ráta críochnaithe agus cinntitheacht — toirteanna agus rátaí, ní maímh faoi chruinneas. Féach na rití.
Iompraíonn gach toradh a fhianaise féin
An comhad, an líne, an déanmhas a aimsíodh agus an CWE. Toradh nach féidir leat a sheiceáil, is toradh é nár cheart duit gníomhú air.

Neamhspleách ar sholáthraí ó bhunús. Aithníonn an t-anailíseoir an cruth — gineann rud éigin téacs, ídíonn rud éigin é — seachas litriú SDK ar leith. Ainmníonn sé an creat a chonaic sé nuair is féidir (OpenAI, Anthropic, Google, Azure OpenAI, Mistral, Bedrock, Ollama, LiteLLM, LangChain, LangGraph, LlamaIndex, Semantic Kernel, AutoGen, CrewAI, Hugging Face) ionas gur féidir le toradh a rá cá as a tháinig sé. Is lipéad ar an toradh é sin, ní comhtháthú de réir SDK, agus déantar creat nach bhfuil ar an liosta sin a anailísiú ar an mbealach díreach céanna.

Féach ar Cybseco ag réasúnaíocht faoi chóras fíorshaoil

Féach ar an taispeántas idirghníomhach, ansin iarr triail treoraithe do d'fhoireann.