Kod analize sigurnosnih propusta u kodu primjenom alata za automatsku analizu koda programeri se često susreći sa stotinama prijavljenih propusta. Logičan način njihovog popravljanja bio bi od onih koji predstavljaju najveću sigurnosnu prijetnju prema onima koji predstavljaju manju prijetnju. Međutim, odrediti takav poredak nije niti jednostavan niti kratak zadatak. Osim toga, određen sigurnosni propust može predstavljati u nekom programu i okruženju kojem se on koristi veliku sigurnosnu prijetnju, a u drugom okruženju biti posve beznačajan.

Projekt CWE (eng. Common Weakness Enumeration) bavi se kategorizacijom i opisivanjem najčešćih propusta u programima. Dio tog projekta su i susutav CWSS (eng. Common Weakness Scoring System) i okruženje CWRAF (eng. Common Weakness Risk Analysis Framework). Sustav CWSS se bavi ocjenjivanjem sigurnosnih propusta i određivanjem njihovog prioriteta, dok okurženje CWRAF omogućuje korisniku da "personalizira" CWSS rezultat i prilagodi ga okruženju u kojem koristi program.

  

Projekt CWE započet je s ciljem kategorizacije tipičnih sigurnosnih propusta u programima te opisom njihove moguće zloupotrebe. Prošle je godine projekt prvo proširen sustavom CWSS, a zatim i okruženjem CWRAF. Ideja je bila omogućiti programerima (i ostalima uključenima u razvoj programa), ali i korisnicima da primjene alat za automatsku analizu koda i otkriju koji propusti predstavljaju najveću sigurnosnu prijetnju. CWSS se bavi upravo određivanjem prioriteta propusta. Međutim, neki propusti predstavljaju veliku sigurnosnu prijetnju u određenim situacijama, ali su u drugima bezopasni. Zbog toga je u rangiranje propusta potrebno uvesti i informaije o svrsi programa i okruženju u kojem se koristi.

Okruženje CWRAF omogućuje korisniku da prilagodi izračun rezultata sustava CWSS svojim potrebama, odnosno da propusti budu rangirani prema opasnosti koju predstavljaju u konkretnoj primjeni i okruženju u kojem se program koristi. Tako, primjerice, propusti koji omogućuju napadaču da neovlašteno dođe do nekih informacija u sustavu neće predstavljati jednaku opasnost u financijskom sektoru (banke, štedionice i sl.) kao u medicini (npr. neovlašten pristup informacijama o pacijentu).

CWRAF korisniku trenutno nudi na izbor 17 poslovnih domena (npr. energetika, banke i financije, e-trgovina) kojima može opisati područje djelatnosti u kojem se koristi program. Drugi dio kojim CWRAF opisuje okruženje u kojem se program koristi su tehnološke skupine i pripadajući arhetipovi, koji opisuju tehnologije koje korisnik koristi. Potpun opis okruženja koji uključuje poslovnu domenu, tehnološku skupinu i arhetipove definira se vinjetama. Vinjete sadrže i ocjene potencijalne štete u slučaju napada i predstavljaju vezu između okruženja CWRAF i sustava CWSS. Drugim riječima, vinjeta opisuje specifično okruženje u kojem korisnik koristi program i sukladno tome modificira rezultat sustava CWSS. Dosad je definiran samo dio vinjeta za postojeće poslovne domene i tehnološke skupine, a porastom njihovog broja omogućit će se i detaljniji, specifičniji opis okruženja.