Hagnaður:
- Geta til að sannreyna AI framleiðsla á þremur lögum: nákvæmni, öryggi og uppruna/leyfi
- Geta til að hylja áhættu eins og sprautu, ofskynjapakka og grafin leyndarmál með öruggum mótum og verkfærum
- Geta til að leggja fram mikilvæga öryggiskóða með samþykki þar til bærs verkfræðings og skilja að ábyrgð sé ekki framseljanleg
Það er auðvelt að búa til gervigreindarkóða; Það er dýrt að treysta honum. Eini tilgangur þessarar einingar er að breyta "staðfesta" meginreglunni, sem við höfum endurtekið í öllum fyrri einingum, í kerfisbundna verkfræðigrein. Vegna þess að kóðinn sem framleiddur er af gervigreind, jafnvel þótt hann virðist réttur við fyrstu sýn, hefur í för með sér þrjár aðskildar hættur: að vera óvirkur/rangur (ofskynjanir), að vera óöruggur (viðkvæmni) og bera lagalega/leyfisáhættu. Að þekkja þessa þrjá og koma á dyrum fyrir hvern þeirra gerir þig að fagmanni.
Hér lítum við á „fullgildingu“ í þremur lögum: réttmæti (virkar kóðinn raunverulega starfið?), öryggi (þolir hann illgjarn inntak?), og uppruna/leyfi (hef ég rétt til að nota þennan kóða?). Hvert lag hefur sína eigin stjórnunaraðferðir og ekkert þeirra er hægt að komast framhjá með „það er það sem gervigreindin sagði.
Þrjú áhættulög
1. Hætta á nákvæmni (ofskynjanir). Líkanið getur hringt í aðgerð sem ekki er til, misnotað API, framhjá kantmáli hljóðlaust. Kóðinn lítur út fyrir að vera „sanngjarn“ en er rangur. Mótefni: samantekt, prófun, kyrrstöðugreining og sjónræn skoðun.
2. Öryggisáhætta. Gervigreind getur endurtekið óörugg mynstur í þjálfunargögnum: fyrirspurn viðkvæm fyrir SQL innspýtingu, óstaðfest notendainntak, veik dulkóðun, óörugg afserialization, opin tilvísun. Kóðinn virkar en er viðkvæmur fyrir árásum. Mótefni: öryggismiðuð endurskoðun, sjálfvirkir skannar (SAST) og að setja þekkt örugg mynstur.
3. Heimilda-/leyfisáhætta. Gervigreind getur framleitt úttak sem líkist höfundarréttarvörðum eða takmarkandi leyfiskóða, eða það gæti gefið til kynna óviðeigandi leyfisskylda háð. Mótefni: athugun á ósjálfstæði og leyfi, frumleikaathugun, fyrirtækjastefna.
Varúð: Sú skaðlegasta af þessum þremur áhættum er öryggi; vegna þess að kóðinn getur staðist próf, keyrt vel í framleiðslu og varnarleysið kemur aðeins í ljós þegar árásarmaður finnur hann. „Að vinna“ er ekki það sama og „öruggt“.
Skref fyrir skref: Lagskipt Authentication Gate
- Lestu af skilningi. Skildu kóðann virkilega áður en þú samþykkir hann; Ekki sameina kóða sem þú skilur ekki. Ef þú getur ekki útskýrt „af hverju það virkar“ hefur það ekki verið staðfest ennþá.
- Staðfestu að það sé til. Staðfestu að sérhver aðgerð, API og pakki sem notað er sé í raun til og sé notuð rétt (ofskynjahlið).
- Keyra sjálfvirk verkfæri. Þjálfari, linter (stíl/villuskanni), tegundapróf, einingapróf og ef mögulegt er SAST (Static Application Security Testing — tól sem skannar frumkóða fyrir veikleika).
- Horfðu á það frá öryggissjónarmiði. Er inntakið staðfest? Er fyrirspurnin færibreyta? Er leyndarmálið grafið? Er heimildaeftirlit?
- Athugaðu uppruna og leyfi. Eru leyfi fyrir nýjum ósjálfstæðum? Lítur úttakið of líkt út þekktum kóðagrunni?
- Ef það er mikilvægt fyrir öryggi skaltu biðja um samþykki sérfræðinga. Óháð skoðun verkfræðings sem er hæfur á sviðum eins og auðkenningu, greiðslu, dulritun, aðgangsstýringu er skylda.
Þrjú Mini Cass
Tilfelli 1 - SQL innspýting fest við skoðunarhlið. Kóðinn sem myndaði gervigreind sem tengir inntak notenda beint inn í SQL fyrirspurnina fyrir leitarendapunkt ("... WHERE nafn = '" + q + "'"). Kóðinn virkaði og stóðst prófið. Öryggismiðuð skoðun og SAST skönnun náði þessu; Henni var breytt í færibreyta fyrirspurn (tilbúin yfirlýsing). Ef það hefði ekki náðst hefði það verið klassískt varnarleysi í gagnaleka.
Tilfelli 2 - Ofskynjapakki. AI stakk upp á npm pakka sem ekki var til (fast-safe-parse) fyrir verkefni. Þegar verktaki reyndi að setja það upp fannst pakkinn ekki. Verra: í sumum tilfellum geta árásarmenn fyllt slík "drauga" pakkanöfn með raunverulegum, illgjarnri pökkum (fíknrugl). Lexía: Staðfestu hvern pakka sem mælt er með gegn opinberu skránni og niðurhals-/viðhaldssögu.
Mál 3 - Ósamrýmanleiki leyfis. Sniðugt fylgisafn sem gervigreind lagði til var með sterkt copyleft leyfi sem var ósamrýmanlegt vöruleyfi stofnunarinnar. Skönnun á leyfisleysi greindi frá þessu; Teymið skipti út leyfinu fyrir viðeigandi valkost. Án sannprófunar myndi lagaleg byrði myndast við vörudreifingu.
Fjögur afritanleg sniðmát
Sjálfsskoðun fyrir inngöngu:
Áður en þú samþykkir eftirfarandi AI framleidda kóða skaltu athuga: 1) Er sérhver aðgerð/API/pakki sem það notar í raun til? Flaggaðu grunaða.2) Eru einhver ófullgilt inntak, SQL/skipunarsamtenging, grafið leyndarmál, veikt dulmál?3) Hver eru ómeðhöndluðu villurnar/jaðartilvikin? Merktu hverja uppgötvun sem "viss / líkleg" og leggðu til lagfæringar.{{code}}
Öryggismiðuð endurskoðun:
Skoðaðu þennan kóða með öryggisauga. Leitaðu að algengum veikleikum í OWASP stíl: innspýting, biluð auðkenning/heimild, birting viðkvæmra gagna, óörugg afserialization, óstaðfest framvísun. Fyrir hverja niðurstöðu: áhættu, nýtingaratburðarás, úrbætur. Þetta er bráðabirgðaskimun; vísa mikilvægum niðurstöðum til endurskoðunar á öryggi manna.{{code}}
Athugun á ósjálfstæði og leyfi:
Skráðu ósjálfstæðin sem þessi kóða hefur bætt við/mælt með. Fyrir hvern: er pakkinn til í raun og veru, er honum viðhaldið, hvert væri dæmigert leyfi hans (ÞARF AÐ VERIFIERA), og er það raunverulega nauðsynlegt fyrir verkefnið eða er hægt að gera það með núverandi tóli?{{kóða eða ósjálfstæðislisti}}
Örugg mótunarálagning (í framleiðslu):
Skrifaðu kóða fyrir {{verkefni}}. SKILDUÐAR öryggisreglur:- Staðfestu/hreinsaðu öll ytri inntak.- Notaðu aðeins færibreytufyrirspurn í gagnagrunnsaðgangi.- Ekki fella leyndarmál inn í kóða; gera ráð fyrir umhverfisbreytu/leynistjóra - Ekki kyngja villum; Íhuga það marktækt. Útskýrðu hvernig kóðinn uppfyllir þessar reglur í 3 liðum.
Veik kvaðning / Sterk kvaðning
Veikt: "Skrifaðu fyrirspurn sem leitar eftir notendanafni." (Kóði sem er viðkvæmur fyrir inndælingu getur komið fram.)
Strong: "Skrifaðu fall sem leitar eftir notendanafni. Aldrei sameina inntak notanda inn í fyrirspurn sem streng; notaðu færibreytufyrirspurn (tilbúin setning). Staðfestu inntakið fyrir lengd og staf. Útskýrðu í 2 setningum hvers vegna kóðinn er lokaður fyrir innspýtingu."
Sterka útgáfan setur fram öruggt mynstur frá upphafi; Þannig tryggir það að varnarleysið komi alls ekki fram, frekar en að grípa það síðar. Hins vegar er nauðsynlegt að koma kóðanum sem myndaður er í gegnum staðfestingarhlið.
Auðkenningarlag
Verkfæri/aðferð
Er "AI sagt" nóg?
nákvæmni
Samantekt, prófun, sjónræn skoðun
nei
API/pakka raunveruleiki
Opinbert skjala-/skráreftirlit
nei
Öryggi
SAST, öryggisúttekt
nei
Leyfi/heimild
Athugun á ósjálfstæði og leyfi
nei
Öryggisgagnrýnin rökfræði
Samþykki sérfræðinga verkfræðings
Alveg ekki
Ekki er hægt að flytja ábyrgð
Ábyrgð á villum, veikleikum eða brotum sem stafa af kóðanum sem framleitt er af gervigreindarverkfæri er teymisins sem setur saman og dreifir kóðanum, ekki verkfæraveitunnar. Þetta er fagleg staðreynd og lagaleg staðreynd: þú skrifar undir. Svo "AI framleiddi það" er ekki afsökun, heldur réttlæting fyrir auka varúð. Sérstaklega í öryggiskerfum sem eru mikilvæg, kemur gervigreind framleiðsla ekki í staðinn fyrir skoðun og samþykki hæfs verkfræðings undir neinum kringumstæðum; Í mesta lagi veitir gervigreind teikningu sem flýtir fyrir verkfræðingnum.
Ábending: Búðu til stuttan gátlista fyrir teymið þitt sem þú kallar „fullgildingarhlið fyrir AI-myndaðan kóða“ (bygging + próf + öryggisskönnun + sjónræn skoðun). Þegar þetta hlið er orðið að vana er hraðatapið í lágmarki og áhættuminnkunin er hámark.
Algeng mistök
- Að rugla saman "virkar" og "öruggt". Kóði sem stenst próf getur verið viðkvæmur fyrir árásum.
- Notaðu pakkann/forritið án þess að staðfesta það. Ofskynjapakkar bæði spilla og skapa öryggisáhættu.
- Framhjá sjálfvirkum verkfærum. Linter, type checker og SAST grípa ódýrt það sem menn sakna.
- Hunsa leyfið. Óviðeigandi leyfisfíkn skapar lagalega byrði á dreifingu.
- Að setja ábyrgðina á ökutækið. Teymið ber ábyrgð á kóðanum í framleiðslu; „AI gerði það“ er engin afsökun.
Í stuttu máli
Til að samþykkja gervigreind þarfnast þriggja laga sannprófunar: réttmæti (samsetning, prófun, sjónræn skoðun), öryggi (SAST og öryggismiðuð endurskoðun) og uppruna/leyfi (athugun á ósjálfstæði). Staðfestu að hver pakki og API sem notaður er sé til í raun og veru, framfylgdu öruggum mynstrum frá upphafi og sendu mikilvægan öryggiskóða til samþykkis hæfs verkfræðings. „Virkar“ þýðir ekki öruggt og „AI framleitt“ fjarlægir ekki ábyrgð. Sannprófunarhliðið er verð fagmennsku, ekki hraða.
Umsóknarverkefni
Gefðu gervigreindum vísvitandi öryggisviðkvæmt verkefni (t.d. „aðgerð sem leitar í gagnagrunninum með innslátt notenda“), í þetta sinn án þess að setja upp öruggt mynstur. Sendu innkominn kóða í gegnum „sjálfsendurskoðun fyrir inngöngu“ og „öryggismiðaða endurskoðun“ sniðmát: er einhver innspýting, grafið leyndarmál, ofskynjaður pakki eða óstaðfest inntak? Spyrðu síðan sama verkefni aftur með „öruggri mynsturálagningu“ sniðmátinu og berðu saman úttakið tvö. Ef mögulegt er skaltu keyra linter/SAST tól og bera saman niðurstöðurnar við sjálfsstjórnun gervigreindar.
gátlisti
- [ ] Ég sannreyna AI framleiðsla í þremur lögum: nákvæmni, öryggi og leyfi.
- [ ] Ég staðfesti að sérhver aðgerð, API og pakki sem notaður er sé raunverulega til.
- [ ] Ég keyri compile, test, linter og, ef mögulegt er, SAST verkfæri.
- [ ] Ég legg upp örugg mynstur (stilla fyrirspurn, staðfestingu inntaks, leynistjórnun) frá upphafi.
- [ ] Ég athuga leyfisveitingar og kröfur um nýja ósjálfstæði.
- [ ] Ég er að leggja fram mikilvægan öryggiskóða til samþykkis hæfs verkfræðings og ég skil að ég ber ábyrgð.