Ẹyọ 11 / 12

Ijerisi koodu, Awọn ailagbara, ati Awọn eewu ti Ijade AI

Awọn anfani:

  • Agbara lati jẹrisi abajade AI ni awọn ipele mẹta: deede, aabo ati orisun / iwe-aṣẹ
  • Agbara lati bo awọn eewu bii abẹrẹ, awọn idii hallucination ati awọn aṣiri ti a sin pẹlu awọn mimu ailewu ati awọn irinṣẹ
  • Agbara lati ṣafihan koodu aabo-pataki si ifọwọsi ti ẹlẹrọ ti o ni oye ati loye aisi gbigbe ti ojuse

Ṣiṣẹda koodu AI rọrun; Gbẹkẹle rẹ jẹ gbowolori. Idi kanṣoṣo ti ẹyọ yii ni lati yi ipilẹ “jẹrisi” pada, eyiti a ti tun ṣe ni gbogbo awọn ẹya ti tẹlẹ, sinu ibawi imọ-ẹrọ eleto. Nitori koodu ti a ṣe nipasẹ AI, paapaa ti o ba dabi pe o tọ ni wiwo akọkọ, gbe awọn eewu lọtọ mẹta: ti kii ṣiṣẹ / ko tọ (hallucination), jijẹ ailewu (ailagbara) ati gbigbe awọn ewu ofin / iwe-aṣẹ. Mọ awọn mẹta wọnyi ati iṣeto ilẹkun fun ọkọọkan wọn jẹ ki o jẹ alamọja.

Nibi a ṣe akiyesi “afọwọsi” ni awọn ipele mẹta: titọ (Ṣe koodu naa ṣe iṣẹ naa gangan bi?), Aabo (Ṣe o koju igbewọle irira bi?), Ati ẹri / iwe-aṣẹ (Ṣe Mo ni ẹtọ lati lo koodu yii?). Layer kọọkan ni awọn ọna iṣakoso tirẹ, ati pe ko si ọkan ninu wọn ti o le kọja pẹlu “iyẹn ni ohun ti AI sọ.”

Awọn ipele mẹta ti Ewu

1. Ewu ti deede (hallucination). Awoṣe naa le pe iṣẹ ti ko si, ilokulo API kan, ni ipalọlọ fori ọran eti kan. Awọn koodu wulẹ "loye" sugbon jẹ aṣiṣe. Antidote: akopọ, idanwo, itupalẹ aimi ati ayewo wiwo.

2. Aabo ewu. AI le tun awọn ilana ti ko ni aabo pada ni data ikẹkọ: ibeere ti o ni ipalara si abẹrẹ SQL, titẹ sii olumulo ti ko ni ifọwọsi, fifi ẹnọ kọ nkan ti ko lagbara, isọdọkan ailewu, ṣiṣatunṣe ṣiṣi. Awọn koodu ṣiṣẹ sugbon jẹ ipalara si kolu. Antidote: atunyẹwo idojukọ aabo, awọn ọlọjẹ adaṣe (SAST), ati fifi awọn ilana aabo ti a mọ si.

3. Orisun / ewu iwe-aṣẹ. AI le ṣe agbejade ti o jọmọ aladakọ tabi koodu iwe-aṣẹ ihamọ, tabi o le daba igbẹkẹle iwe-aṣẹ aiṣedeede. Antidote: igbẹkẹle ati ṣayẹwo iwe-aṣẹ, iṣayẹwo atilẹba, eto imulo ajọ.

Išọra: Ohun ti o buruju julọ ninu awọn ewu mẹta wọnyi ni aabo; nitori koodu naa le ṣe idanwo, ṣiṣe laisiyonu ni iṣelọpọ, ati ailagbara naa yoo han nikan nigbati ikọlu ba rii. “Ṣiṣẹ” kii ṣe kanna bii “ailewu.”

Igbesẹ nipasẹ Igbesẹ: Ẹnu-ọna Ijeri Layered

  1. Ka pẹlu oye. Loye gidi koodu ṣaaju gbigba rẹ; Maṣe dapọ koodu ti o ko loye. Ti o ko ba le ṣe alaye “idi ti o fi n ṣiṣẹ”, ko ti ni ifọwọsi sibẹsibẹ.
  2. Jẹrisi pe o wa. Jẹrisi pe gbogbo iṣẹ, API ati package ti a lo wa gangan ati pe wọn lo ni deede (bode hallucination).
  3. Ṣiṣe awọn irinṣẹ adaṣe. Alakojo, linter (ara/aṣiṣe scanner), iru checker, kuro igbeyewo, ati ti o ba ti ṣee ṣe SAST (Aabo Ohun elo Aabo -ọpa ti o ọlọjẹ orisun koodu fun vulnerabilities).
  4. Wo o lati irisi aabo. Njẹ titẹ sii ti fọwọsi? Ṣe ibeere naa jẹ parameterized? Se asiri sin? Ṣe iṣakoso aṣẹ wa bi?
  5. Ṣayẹwo orisun ati iwe-aṣẹ. Njẹ awọn igbẹkẹle tuntun ni iwe-aṣẹ bi? Ṣe iṣẹjade naa dabi iruju pupọ si koodu mimọ ti a mọ bi?
  6. Ti o ba jẹ pataki-aabo, beere fun ifọwọsi amoye. Atunyẹwo olominira nipasẹ oṣiṣẹ ẹlẹrọ ni awọn agbegbe bii ijẹrisi, isanwo, cryptography, iṣakoso wiwọle jẹ dandan.

Mẹta Mini igba

Irú 1 - SQL abẹrẹ mu ni ayewo ẹnu-bode. Awọn koodu AI ti ipilẹṣẹ ti o ṣajọpọ titẹ olumulo taara sinu ibeere SQL fun aaye ipari wiwa ("... NIBI orukọ = '" + q + "'"). Awọn koodu ti a ṣiṣẹ ati ki o koja igbeyewo. Ayẹwo aifọwọyi-aabo ati ọlọjẹ SAST mu eyi; O ti yipada si ibeere paramita kan (gbólóhùn ti a murasilẹ). Ti ko ba ti mu, yoo jẹ ailagbara jijo data Ayebaye.

Ọran 2 - Hallucination package. AI daba package npm ti ko si tẹlẹ (sare-ailewu-parse) fun iṣẹ-ṣiṣe kan. Nigbati olupilẹṣẹ gbiyanju lati fi sii, package ko rii. Buru: ni awọn igba miiran, awọn ikọlu le kun iru awọn orukọ idii “iwin” pẹlu gidi, awọn idii irira (iruju igbẹkẹle). Ẹkọ: ṣayẹwo idii iṣeduro kọọkan lodi si iforukọsilẹ osise ati igbasilẹ/itan itọju.

Ọran 3 - Aiṣedeede iwe-aṣẹ. Ile-ikawe ẹlẹgbẹ ti o wuyi ti AI daba ni iwe-aṣẹ afọwọkọ ti o lagbara ti ko ni ibamu pẹlu iwe-aṣẹ ọja igbekalẹ naa. Ayẹwo iwe-aṣẹ igbẹkẹle royin eyi; Ẹgbẹ naa rọpo iwe-aṣẹ pẹlu yiyan ti o dara. Laisi ijẹrisi, ẹru ofin kan yoo dide ni pinpin ọja.

Mẹrin Copiable Templates

Ṣiṣayẹwo ti ara ẹni ṣaaju gbigba wọle:

Ṣaaju gbigba koodu ti ipilẹṣẹ AI atẹle, ṣayẹwo: 1) Njẹ gbogbo iṣẹ/API/package ti o nlo lo wa bi? Ṣe asia awọn afurasi naa.2) Njẹ titẹ sii ti ko tọ si, SQL/command concatenation, asiri ti a sin, alailagbara crypto?3) Kini awọn idun/awọn ọran eti ti a ko koju? Fi aami wiwa kọọkan bi “o daju / iṣeeṣe” ati daba awọn atunṣe.{{code}}

Atunwo idojukọ aabo:

Ṣayẹwo koodu yii pẹlu oju aabo. Wa awọn ailagbara ara OWASP ti o wọpọ: abẹrẹ, ìfàṣẹsí ti bajẹ/aṣẹ, sisọ data ifarabalẹ, isọkuro ti ko ni aabo, itọsọna aitọ. Fun wiwa kọọkan: eewu, oju iṣẹlẹ ilokulo, atunṣe. Eleyi jẹ a alakoko waworan; tọka awọn awari pataki si atunyẹwo aabo eniyan.{{code}}

Igbẹkẹle ati ayẹwo iwe-aṣẹ:

Ṣe atokọ awọn igbẹkẹle ti a ṣafikun/dabaa nipasẹ koodu yii. Fun ọkọọkan: ṣe package naa wa nitootọ, ṣe o tọju rẹ, kini iwe-aṣẹ aṣoju rẹ yoo jẹ (GBỌDỌ ṢẸṢẸ), ati pe o nilo fun iṣẹ akanṣe naa tabi ṣe o ṣee ṣe pẹlu ohun elo to wa tẹlẹ?{{koodu tabi atokọ igbẹkẹle}}

Ifilelẹ iṣẹ fọọmu ailewu (ni iṣelọpọ):

Kọ koodu fun {{iṣẹ-ṣiṣe}}. Awọn ofin aabo ti o jẹ dandan: - Fidi / sọ gbogbo igbewọle ita di mimọ.- Lo ibeere paramita nikan ni iraye si ibi ipamọ data.- Maṣe fi awọn aṣiri sinu koodu; ro ayika oniyipada / asiri faili - Maṣe gbe awọn aṣiṣe mì; Gbé rẹ̀ yẹ̀ wò lọ́nà tó nítumọ̀. Ṣe alaye bi koodu ṣe ni ibamu pẹlu awọn ofin wọnyi ni awọn nkan mẹta.

Ailagbara kiakia / Alagbara kiakia

Alailagbara: "Kọ ibeere ti o wa nipasẹ orukọ olumulo." (koodu kan ti o jẹ ipalara si abẹrẹ le waye.)
Alagbara: "Kọ iṣẹ kan ti o n wa nipasẹ orukọ olumulo. Maṣe darapọ mọ titẹ olumulo sinu ibeere bi okun kan; lo ibeere paramita kan (gbólóhùn ti a ti pese sile). Ṣe afihan titẹ sii fun gigun ati iwa. Ṣe alaye ni awọn gbolohun meji idi ti koodu ti wa ni pipade si abẹrẹ."

Ẹya ti o lagbara nfi apẹrẹ ti o ni aabo ṣe lati ibẹrẹ; Bayi, o ṣe idaniloju pe ailagbara ko waye rara, dipo ki o mu nigbamii. Sibẹsibẹ, o ṣe pataki lati kọja koodu ti ipilẹṣẹ nipasẹ awọn ẹnu-ọna ijerisi.

Layer ìfàṣẹsí

Irinṣẹ / ọna

Njẹ "AI sọ" to?

išedede

Iṣakojọpọ, idanwo, ayewo wiwo

rara

API/package otito

Iwe aṣẹ osise / iṣakoso igbasilẹ

rara

Aabo

SAST, aabo awotẹlẹ

rara

Iwe-aṣẹ / orisun

Igbẹkẹle & Ṣiṣayẹwo iwe-aṣẹ

rara

Aabo-lominu ni kannaa

Iwé ẹlẹrọ alakosile

Bẹẹkọ rara

Ojuse Ko Ṣe Gbe

Ojuse fun awọn aṣiṣe, awọn ailagbara tabi awọn irufin ti o dide lati koodu ti a ṣe nipasẹ ohun elo AI jẹ ti ẹgbẹ ti o pejọ ati pinpin koodu yẹn, kii ṣe si olupese irinṣẹ. Eyi jẹ otitọ ọjọgbọn bi daradara bi ofin kan: o forukọsilẹ. Nitorinaa “AI ṣe agbejade rẹ” kii ṣe awawi, ṣugbọn idalare fun iṣọra ni afikun. Ni pataki ni awọn eto aabo-pataki, iṣelọpọ AI kii ṣe aropo fun atunyẹwo ati ifọwọsi nipasẹ ẹlẹrọ ti o pe labẹ eyikeyi ayidayida; Ni pupọ julọ, AI n pese apẹrẹ kan ti o mu iyara ẹrọ naa pọ si.

Imọran: Ṣẹda atokọ kukuru kan lori ẹgbẹ rẹ ti o pe ni “ẹnu-ọna afọwọsi fun koodu ti ipilẹṣẹ AI” (kọ + idanwo + ọlọjẹ aabo + ayewo wiwo). Ni kete ti ẹnu-ọna yii ba di aṣa, isonu iyara jẹ iwonba ati idinku eewu jẹ o pọju.

Awọn aṣiṣe ti o wọpọ

  • Idarudapọ "ṣiṣẹ" pẹlu "ailewu". Koodu ti o kọja idanwo le jẹ ipalara si ikọlu.
  • Lilo package/API laisi ijẹrisi rẹ. Awọn apo-iwe hallucinatory mejeeji jẹ ibajẹ ati jẹ eewu aabo kan.
  • Nipa awọn irinṣẹ adaṣe adaṣe. Linter, iru checker ati SAST ni olowo poku mu ohun ti eniyan padanu.
  • Fojusi iwe-aṣẹ naa. Igbẹkẹle iwe-aṣẹ ti ko tọ ṣẹda ẹru ofin lori pinpin.
  • Gbigbe ojuse lori ọkọ. Awọn egbe jẹ lodidi fun awọn koodu ni gbóògì; "AI ṣe o" kii ṣe awawi.

Ni akojọpọ

Gbigba iṣẹjade AI nilo awọn ipele mẹta ti ijerisi: titọ (akojọ, idanwo, ayewo wiwo), aabo (SAST ati atunyẹwo idojukọ aabo), ati orisun / iwe-aṣẹ (ṣayẹwo igbẹkẹle). Jẹrisi pe package kọọkan ati API ti a lo wa nitootọ, fi ipa mu awọn ilana to ni aabo lati ibẹrẹ, ati fi koodu aabo-pataki silẹ fun ifọwọsi nipasẹ ẹlẹrọ ti o peye. "Awọn iṣẹ" ko tumọ si ailewu, ati pe "AI ṣejade" ko yọ gbese kuro. Ẹnu ìmúdájú jẹ idiyele ti ọjọgbọn, kii ṣe iyara.

Ohun elo iṣẹ-ṣiṣe

Mọọmọ fun AI ni iṣẹ-aabo-kókó (fun apẹẹrẹ “iṣẹ kan ti o wa ibi ipamọ data pẹlu titẹ olumulo”), ni akoko yii laisi fifi ilana ailewu kan han. Kọ koodu ti nwọle nipasẹ “iṣayẹwo ti ara ẹni-ṣaaju” ati awọn awoṣe “atunyẹwo idojukọ-aabo”: Njẹ abẹrẹ eyikeyi wa, aṣiri ti a sin, apo idalẹnu, tabi titẹ sii laigba aṣẹ? Lẹhinna beere iṣẹ-ṣiṣe kanna lẹẹkansi pẹlu awoṣe “imudaniloju ilana aabo” ki o ṣe afiwe awọn abajade meji naa. Ti o ba ṣee ṣe, ṣiṣe ohun elo linter/SAST ki o ṣe afiwe awọn awari si ilana ara-ẹni AI.

akojọ ayẹwo

  • [] Mo jẹrisi abajade AI ni awọn ipele mẹta: deede, aabo ati iwe-aṣẹ.
  • [] Mo jerisi pe gbogbo iṣẹ, API ati package ti a lo kosi wa.
  • [] Mo ṣiṣe akopọ, idanwo, linter ati, ti o ba ṣeeṣe, awọn irinṣẹ SAST.
  • [] Mo fa awọn ilana to ni aabo (ibeere paramita, ijẹrisi titẹ sii, iṣakoso asiri) lati ibẹrẹ.
  • [] Mo ṣayẹwo iwe-aṣẹ ati ibeere ti awọn igbẹkẹle tuntun.
  • [] Mo n fi koodu aabo-pataki silẹ fun ifọwọsi nipasẹ ẹlẹrọ to peye ati pe Mo loye pe Emi ni iduro.