Qligħ:
- Kapaċità li tuża l-intelliġenza artifiċjali bħala t-tieni għajn u tindika vulnerabbiltajiet tal-klassi OWASP (injezzjoni, sigriet iebes, kontroll tal-aċċess) fil-kodiċi billi tagħti kuntest
- Kapaċità li telimina pożittivi foloz prodotti minn intelliġenza artifiċjali bil-kuntest u tevita li kull sejba tiġi ttrattata bħala vulnerabbiltà reali mingħajr ma tiġi validata
- Kapaċità li tirrikonoxxi li t-tiswija ssuġġerita mill-intelliġenza artifiċjali tista’ tintroduċi vulnerabbiltajiet/bugs ġodda u tgħaddi kull garża mill-bieb tar-reviżjoni u l-ittestjar
Il-vulnerabbiltajiet fis-softwer huma fost l-aktar vulnerabbiltajiet għaljin minħabba li huma inkorporati fil-prodott mill-bidu u mqassma lil miljuni ta 'utenti. Ir-reviżjoni tal-kodiċi sigura hija l-proċess tal-qari tal-kodiċi tas-sors linja b'linja u l-qbid tal-vulnerabbiltajiet — injezzjoni SQL, vulnerabbiltà tal-awtentikazzjoni, password hard-coded, awtorizzazzjoni mhux korretta — qabel ma jidħlu fil-produzzjoni. Meta jsir bl-idejn, huwa bil-mod u għeja; Huwa faċli li titlef vulnerabbiltà f'bażi ta 'kodiċi kbira.
L-AI hija qawwija fir-reviżjoni tal-kodiċi għal żewġ raġunijiet: il-kodiċi huwa wkoll lingwa, u l-AI hija tajba fir-rikonoxximent tal-mudelli. L-AI tista 'malajr timmarka mudelli perikolużi f'biċċa kodiċi (tpoġġi l-input tal-utent direttament fil-mistoqsija, ħażna ta' data mhux kriptata, validazzjoni tal-input nieqsa), tispjega għaliex kull waħda hija riskjuża, u tissuġġerixxi soluzzjoni. Iżda l-AI ma tarax il-kuntest operattiv kollu tal-kodiċi (l-input jista 'jkun qed jitneħħa f'saff ieħor), jista' jivvinta vulnerabbiltà li ma teżistix (pożittiv falz) jew titlef vulnerabbiltà reali (negattiv falz), u l-aktar importanti, il-"jissewwi" li tipproponi tista 'tintroduċi vulnerabbiltà jew bug ġdid. AI hija t-tieni għajn u pointer fir-reviżjoni tal-kodiċi; L-iżviluppatur u l-espert tas-sigurtà jiddeċiedu jekk sejba hijiex vulnerabbiltà reali u jekk it-tiswija hijiex korretta u sigura.
Passi tar-reviżjoni tal-kodiċi
- Agħti ambitu u kuntest. Liema lingwa, liema qafas, fejn dan il-kodiċi jieħu input, fejn jagħti output, f'liema saff jaħdem? Ir-reviżjoni tal-kodiċi mingħajr kuntest tipproduċi pożittivi foloz.
- Skennja għal mudelli perikolużi. Fittex għal klassijiet magħrufa ta' vulnerabbiltà tal-AI (bħal OWASP Top 10): injezzjoni, awtentikazzjoni, żvelar ta' data sensittiva, kontroll tal-aċċess.
- Iġġustifika kull sejba. Għal kull bandiera: liema linja, liema klassi ta 'vulnerabbiltà, kif tista' tiġi sfruttata, x'inhi l-evidenza. Sejba mhux ġustifikata ma tittieħed bis-serjetà.
- Elimina pożittiv falz. L-input fil-fatt qed jiġi approvat, hija dik it-triq verament aċċessibbli — iċċekkja bil-kuntest.
- Ivverifika l-iffissar. Ikkonferma li l-garża rakkomandata mill-AI fil-fatt tagħlaq il-vulnerabbiltà, ma tintroduċix vulnerabbiltajiet/bugs ġodda, u għaddiet mill-ittestjar.
- Approvazzjoni umana. Żviluppatur + espert tas-sigurtà jirrevedi s-sejba u jiffissaw; Hekk jidħol fir-repożitorju tal-kodiċi.
Termini: SAST (Static Application Security Testing — ittestjar statiku tas-sigurtà li janalizza l-kodiċi tas-sors mingħajr ma jħaddem). DAST (Dinamika — ittestjar dinamiku li jittestja l-applikazzjoni li taħdem esternament). OWASP Top 10 hija l-lista standard tal-vulnerabbiltajiet tal-applikazzjoni tal-web l-aktar komuni. L-injezzjoni hija vulnerabbiltà kkawżata mill-interpretazzjoni tal-input tal-utent bħala kmand/mistoqsija (eż. injezzjoni SQL). Mistoqsija parametrizzata hija l-metodu korrett li jipprevjeni l-injezzjoni billi jissepara l-input mill-kodiċi.
Tabella ta' klassijiet ta' vulnerabbiltà komuni
Klassi ta' vulnerabbiltà
Sintomu (fil-kodiċi)
soluzzjoni t-tajba
In-nassa tal-AI
Injezzjoni SQL
Tgħaqqad input fil-mistoqsija
Mistoqsija parametrizzata
Jista 'jinjora sanitizzazzjoni
sigriet kodifikat iebes
Password/key fil-kodiċi
Sikur sigriet (kaxxa-forti), env
Pożittiv falz (kampjun/test)
Awtentikazzjoni dgħajfa
Kontroll nieqes/skorrett
Kontroll b'saħħtu u ċentralizzat
jitlef il-kuntest
Kontroll tal-aċċess difettuż
Ebda kontroll ta' awtorizzazzjoni
Awtorizzazzjoni min-naħa tas-server
Ma jifhimx fluss kumpless
Żvelar ta' data sensittiva
Ħażna/illoggjar mingħajr password
Encryption, masking
Ma tistax tkun taf il-kritika
Serialization mhux sigur
Deserialize data mhux affidabbli
Parsing sigur
Jmiss mudell rari
tliet każijiet żgħar
Każ 1 — Qbid tal-injezzjoni attwali. Żviluppatur għandu l-AI teżamina funzjoni ta 'aċċess għad-dejta. L-AI timmarka l-linja fejn il-valur userId mill-utent huwa magħqud direttament fit-test SQL u tgħid "din hija injezzjoni SQL klassika, dawwarha f'mistoqsija parametrizzata"; Jipprovdi korrezzjoni tal-kampjun. L-iżviluppatur jikkonferma li l-input ma ġiex sanitizzat x'imkien ieħor, jivverifika li huwa vulnerabbiltà reali, jimplimenta l-mistoqsija parametrizzata ssuġġerita, u jikteb test. AI enfasizzat il-vulnerabbiltà; il-verifika u l-ittestjar tal-korrezzjoni ġew mill-iżviluppatur.
Każ 2 — Sigriet iffissat pożittiv falz. L-AI tara l-linja password = "test1234" f'fajl u tgħid "kritika: password kodifikata". L-iżviluppatur jiċċekkja l-kuntest: dan huwa fajl tat-test tal-unità, data tat-test finta, mhux rilaxxata fil-produzzjoni u mhux portata għal sistema reali. Is-sejba hija pożittiva falza. L-iżviluppatur jiddokumenta dan iżda ma jieħux azzjoni għax mhuwiex sigriet reali. Lezzjoni: Is-sinjal "sigriet iebes" tal-AI għandu jiġi eliminat mill-kuntest; Mhux kull spag huwa sigriet.
Każ 3 — Soluzzjoni ġdida tal-vulnerabbiltà. AI tipproponi soluzzjoni għal vulnerabbiltà XSS (cross-site scripting); iżda l-kodiċi li jissuġġerixxi jikklerja l-input fil-post ħażin u jaqbeż il-kodifikazzjoni tal-output f'żona oħra; Bħala riżultat, id-distakk ma jagħlaqx kompletament. L-espert tas-sigurtà jirrevedi l-iffissar, jinnota l-kodifikazzjoni nieqsa, u jiffissa fis-saff korrett. Lezzjoni: Il-garża li AI tirrakkomanda mhix awtomatikament sigura; Kull soluzzjoni hija riveduta u ttestjata.
Pront dgħajjef / Pront qawwi
Pront dgħajjef:
Hemm xi lakuna f'dan il-kodiċi, waħħalha: [kodiċi]
Dan il-pront ma jagħti l-ebda kuntest (lingwa, qafas, sors ta 'input), ma jitlobx ġustifikazzjoni, ma jiddubitax il-pożittiv falz, u huwa miftuħ li jaċċetta bl-addoċċ il-korrezzjoni prodotta mill-AI. L-AI ħallat sinjali kemm ta' vulnerabbiltà reali kif ukoll ta' waħda ineżistenti.
Pront qawwi:
Ir-rwol tiegħek: assistent li huwa t-TIENI GĦAJN għall-iżviluppatur fir-reviżjoni tal-kodiċi sigur. Teħid ta' deċiżjonijiet; tikkunsidra l-iffissar applikat direttament. Kodiċi: [speċifika l-lingwa/qafas].Kuntest: din il-funzjoni [sors tad-dħul: eż. jirċievi [talba HTTP esterna], jikteb lil [destinazzjoni tal-ħruġ]. Il-kompitu tiegħek: (1) timmarka l-vulnerabbiltajiet possibbli bil-klassi OWASP, agħti n-numru tal-linja + għaliex riskjuża + kif tisfrutta + evidenza għal kull wieħed, (2) ikteb mill-inqas xenarju pożittiv falz għal kull sejba (eż. jekk l-input jiġi sanitizzat f'saff ieħor), (3) jissuġġerixxi soluzzjoni iżda bis-sinjal "[reviżjoni + kitba test]"; Evalwa wkoll jekk it-tiswija tintroduċix vulnerabbiltajiet/bugs ġodda. Żieda ta' vulnerabbiltà falza.[kodiċi]
Prompt qawwi jagħti kuntest, jitlob klassi OWASP u evidenza, mistoqsijiet pożittivi foloz u riskji ta 'rimedju, iġġiegħel reviżjoni umana.
Mudelli fil-pront kopjabbli
VULNERABILITY SCAN TEMPLATE Eżamina [lingwa/qafas] kodiċi għal OWASP Top 10. Għal kull sejba possibbli: numru tal-linja, klassi ta 'vulnerabbiltà, għaliex hija riskjuża, sfruttament tal-kampjun, saħħa tal-evidenza (ċerta/probabbli/dgħajfa). Kuntest: input [sors], output [mira]. Żieda ta' sejbiet iffabbrikati; Jekk m'intix ċert, ittajpja "[irid jiġi vverifikat]". Kodiċi: [paste]
MODELL TA' ELIMINAZZJONI POŻITTIVA FALŻ Għas-sejba tal-kodiċi li ġejja, elenka x-xenarji li fihom MHUX vulnerabbiltà reali: jista' l-input jiġi kklerjat f'saff ieħor, din il-mogħdija hija aċċessibbli, dan il-valur huwa test/kampjun, huwa l-qafas protett awtomatikament. Ikteb kif tikkonferma għal kull wieħed. Sejba: [pejst]
FISS TEMPLATEREVALWAZZJONIIrrakkomanda soluzzjoni għall-vulnerabbiltà li ġejja; imbagħad tikkritika t-tiswija tiegħek stess: (1) tagħlaq tassew il-vulnerabbiltà, (2) tintroduċi vulnerabbiltà/bug ġdid, (3) x'test għandi nikteb (każ pożittiv u negattiv), (4) impatt fuq il-prestazzjoni/funzjonalità. Se nirrevedi u nittestja l-iffissar. Vulnerabbiltà + kodiċi: [paste]
MUDELL TA’ TAGĦLIM TA’ MODELLI SIGUR għal klassi ta’ vulnerabbiltà [eż. Injezzjoni SQL] komparattivament juru mudell ta 'tajpjar sikur u mudelli żbaljati komuni f'din il-lingwa/qafas. Regola ġenerali + agħti eżempju tal-kodiċi; imma nixtieq li tistaqsi l-kuntest qabel ma timplimentah fil-kodiċi tiegħi. Lingwa/qafas: [ikteb]
Żbalji komuni
- Reviżjoni mingħajr kuntest. Mingħajr lingwaġġ, qafas, u kuntest ta 'input/output, l-AI tħawwad kemm is-sejbiet reali kif ukoll dawk falzi; Kun żgur li tagħti kuntest.
- Tiżbalja kull sinjal għal dgħjufija reali. AI tipproduċi pożittivi foloz (dejta tat-test, input imnaddaf f'saff ieħor); Għarbel kull sejba bil-kuntest.
- Blindly tapplika l-korrezzjoni tal-AI. Garża rakkomandata tista' tintroduċi vulnerabbiltajiet/bugs ġodda; tirrevedi u tikteb testijiet.
- Fidu fin-negattiv falz. Anke jekk l-AI tgħid "l-ebda vulnerabbiltajiet", eżamina l-mogħdijiet kritiċi lilek innifsek; L-iskannjar statiku ma jiskoprix kull vulnerabbiltà.
- Tagħti l-kodiċi/sigriet lill-għodda esterna. Kodiċi privat u sigrieti reali (ċavetta, password) huma proprjetà intellettwali u vulnerabbiltà; anonimizza jew tuża għodod korporattivi iżolati.
Tip: Meta jkollok il-kodiċi ta 'reviżjoni AI, l-aktar filtru effiċjenti huwa li titlob is-"saħħa tal-evidenza" (ċerta/probabbli/dgħajjef) għal kull sejba. Il-biċċa l-kbira tas-sejbiet immarkati bħala "dgħajfa" huma pożittivi foloz; inti talloka l-enerġija tiegħek għal dawk "żgur".
Attenzjoni: Il-fiss tas-sigurtà propost mill-AI m'għandux jidħol fil-maħżen mingħajr ma jiġi ttestjat. "Fissa" mhux korretta tista 'tħalli l-vulnerabbiltà miftuħa u twassal għal żball funzjonali fil-produzzjoni; Kull garża tgħaddi mill-bieb tar-reviżjoni u l-ittestjar.
Fil-qosor
Ir-reviżjoni tal-kodiċi sigura hija l-orħos mod biex taqbad il-vulnerabbiltajiet qabel ma jidħlu fil-produzzjoni, u peress li l-kodiċi huwa lingwa, l-AI ssir it-tieni għajn b'saħħitha hawnhekk: tindika mudelli perikolużi, tispjega r-riskju, tissuġġerixxi soluzzjonijiet. Iżda l-AI ma tarax il-kuntest operattiv kollu, tipproduċi pożittivi foloz u negattivi foloz, u l-garża li tirrakkomanda tista 'tintroduċi vulnerabbiltajiet ġodda. Allura r-reviżjoni għandha sitt passi (kuntest, screening, ġustifikazzjoni, eliminazzjoni pożittiva falza, verifika ffissata, approvazzjoni umana) u d-deċiżjoni tinsab f'idejn l-iżviluppatur u l-espert tas-sigurtà. Tliet prinċipji: l-ebda sejba ma tiġi interpretata mingħajr kuntest, kull sinjal jiġi eliminat bil-kuntest, l-ebda soluzzjoni ma tidħol fil-ħażna mhux ittestjata. U l-kodiċi/sigriet qatt ma jingħata lil għodda barra mingħajr anonimizzazzjoni.
Kompitu ta' applikazzjoni
Ħu kampjun ta' snippet tal-kodiċi (jew neħħi partijiet sensittivi mill-kodiċi tiegħek jew kampjun ta' kodiċi b'vulnerabbiltajiet). Ħalli l-AI teżaminaha bil-mudell "Vulnerability Scanning"; Applika l-mudell "Eliminazzjoni Pożittiva Falza" għal kull sejba u elimina dawk reali. Ħu l-korrezzjoni tas-sejba l-aktar serja bil-mudell "Evalwazzjoni ta' Rimedju", irrevediha lilek innifsek u ikteb każ wieħed ta' test pożittiv + wieħed negattiv. Innota kemm sejbiet kienu pożittivi foloz.
lista ta' kontroll
- [ ] Jien tajt il-lingwa, il-qafas u l-kuntest tal-input/output qabel ma rrevejt il-kodiċi.
- [ ] Tlabt għal numru tal-linja, klassi ta 'vulnerabbiltà, mogħdija ta' sfruttament u evidenza għal kull sejba.
- [ ] I screened kull sejba għal pożittivi foloz bil-kuntest.
- [ ] Ma applikajtx bl-addoċċ il-korrezzjoni tal-AI; Irrevejt u ktibt test.
- [ ] Minkejja l-output "Ebda vulnerabilitajiet", eżaminajt il-mogħdijiet kritiċi jien stess.
- [ ] Anonimizzajt il-kodiċi/sigrieti jew użajt għodda iżolata korporattiva.
- [ ] Għaddejt l-iskoperta u nirranġa permezz tal-approvazzjoni tal-iżviluppatur + tas-sigurtà.