AI Triage နှင့် AutoFix

AI Triage နှင့် AutoFix: သင့်လုံခြုံရေး Backlog ကို မည်သို့လျှော့ချရမည်နည်း

မာတိကာ

မဖြစ်မနေဖတ်သင့်သောပို့စ်များ

စိတ်ဝင်စားဖွယ်ကောင်းသော နောက်ဆုံးပို့စ်များ

ပျမ်းမျှ AppSec အဖွဲ့သည် မည်သည့်အချိန်တွင်မဆို ပွင့်လင်းသောတွေ့ရှိချက်ထောင်ပေါင်းများစွာကို စီမံခန့်ခွဲသည်။ ၎င်းတို့အများစုသည် ယနေ့ခေတ်တွင် ပြုပြင်ရန်မထိုက်တန်ပါ။ အချို့မှာမူ ဘယ်တော့မှ ပြုပြင်ရန်မထိုက်တန်ပါ။ ပြဿနာမှာ လုံခြုံရေးအဖွဲ့များ၏ ကြိုးစားအားထုတ်မှု ချို့တဲ့ခြင်းမဟုတ်ပါ။ လက်ဖြင့်ခွဲခြားခြင်းသည် တိုးချဲ့မှုမရှိခြင်းနှင့် ဦးစားပေးမှုမရှိဘဲ ပြုပြင်ခြင်းသည် ကျုံ့သွားသည်ထက် ပိုမိုမြန်ဆန်စွာ ကြီးထွားလာသော နောက်ကျန်နေသော အချက်အလက်များကို ဖြစ်ပေါ်စေပါသည်။ AI triage နှင့် AI AutoFix တို့သည် စီးပွားရေးကို ပြောင်းလဲစေသည် အားနည်းချက်ပြုပြင်ခြင်းAI triage သည် ဆူညံသံများကို စစ်ထုတ်ပြီး တွေ့ရှိချက်ထောင်ပေါင်းများစွာကို အမှန်တကယ် အသုံးချနိုင်သော၊ ရောက်ရှိနိုင်သော နှင့် စီးပွားရေးအရ အရေးကြီးသော လက်တစ်ဆုပ်စာအထိ လျှော့ချပေးသည်။ AI AutoFix သည် ထိုတွေ့ရှိချက်များကို အလိုအလျောက်ပိတ်ပြီး manual patching မလိုအပ်ဘဲ developer workflow ထဲသို့ ဘေးကင်းပြီး context-aware ပြင်ဆင်မှုများကို တိုက်ရိုက်ပေးပို့သည်။ ၎င်းတို့အားလုံးပေါင်းလိုက်လျှင် static analysis tools များသည် မည်သူမဆို လုပ်ဆောင်နိုင်သည်ထက် ပိုမိုသော တွေ့ရှိချက်များကို စတင်ထုတ်ပေးပြီးကတည်းက AppSec အဖွဲ့များကို ဒုက္ခပေးနေသော security backlog ပြဿနာအတွက် လက်တွေ့ကျသော အဖြေဖြစ်သည်။

ဤလမ်းညွှန်ချက်သည် AI triage မည်သို့အလုပ်လုပ်သည်၊ AI AutoFix သည် လက်တွေ့တွင် မည်သို့လုပ်ဆောင်သည်ကို ရှင်းပြသည်။ ဆူညံသံလျှော့ချခြင်းနှင့် အလိုအလျောက် အားနည်းချက်ပြုပြင်ခြင်း မည်သို့ဆက်စပ်နေသနည်း။နှင့် ကိရိယာများကို အကဲဖြတ်သည့်အခါ မည်သည့်အရာကို ရှာဖွေရမည်နည်း။

နောက်ကျကျန်နေသောပြဿနာ- လက်ဖြင့်ပြုပြင်ခြင်းသည် အဘယ်ကြောင့် အတိုင်းအတာတစ်ခုအထိ ပျက်ပြယ်ရသနည်း။

လုံခြုံရေး နောက်ကျန်နေတာတွေက စည်းကမ်းထိန်းသိမ်းရေးပြဿနာ မဟုတ်ပါဘူး။ သင်္ချာပြဿနာပါ။

ခေတ်မီ အပလီကေးရှင်း လုံခြုံရေး ပရိုဂရမ်တစ်ခု လည်ပတ်နေသည် SAST, SCAလျှို့ဝှက်ချက်များ ဖော်ထုတ်ခြင်း၊ IaC အလတ်စား အင်ဂျင်နီယာအဖွဲ့အစည်းတစ်ခုတွင် scan ဖတ်ခြင်းနှင့် DAST တို့သည် တစ်လလျှင် တွေ့ရှိချက်ပေါင်း သောင်းနှင့်ချီ၍ ထုတ်ပေးပါသည်။ တွေ့ရှိချက်တစ်ခုစီကို လူသားတစ်ဦးမှ ဖတ်ရှုရန်၊ ၎င်း၏ပြင်းထန်မှုကို အခြေအနေအရ အကဲဖြတ်ရန်၊ သတ်မှတ်ထားသော application နှင့် environment တွင် အသုံးချနိုင်ခြင်းရှိမရှိ ဆုံးဖြတ်ရန်၊ ယခုပြင်ဆင်သင့်သည် သို့မဟုတ် နောက်ပိုင်းပြင်ဆင်သင့်သည်ဆိုသည်ကို ဆုံးဖြတ်ရန်၊ developer ထံ တာဝန်ပေးအပ်ရန်၊ ပြင်ဆင်မှုကို စောင့်ဆိုင်းရန်နှင့် ရလဒ်ကို အတည်ပြုရန် လိုအပ်ပါသည်။ ထိုလုပ်ငန်းစဉ်သည် လုံခြုံရေးအဖွဲ့အများစုတွင် မရှိသော အချိန်ယူရပါသည်။

ရလဒ်အနေနဲ့ နောက်ဆက်တွဲပြဿနာတွေ ပိုများလာပါတယ်။ ခြောက်လက ပြင်းထန်မှုမြင့်မားတဲ့ တွေ့ရှိချက်တွေဟာ ပြီးခဲ့တဲ့အပတ်က အလယ်အလတ်တွေ့ရှိချက်တွေနဲ့ ယှဉ်ရင် ရှိနေပါတယ်။ ဆော့ဖ်ဝဲရေးသားသူတွေဟာ ရှင်းလင်းတဲ့ ပြင်ဆင်မှုလမ်းညွှန်ချက်မရှိဘဲ လက်မှတ်တွေ ရရှိကြပါတယ်။ လုံခြုံရေးအဖွဲ့တွေဟာ ပြန်လည်ပြုပြင်ရေးမှာထက် ခွဲခြားသတ်မှတ်ရာမှာ အချိန်ကုန်ကြပါတယ်။ ပြီးတော့ အသုံးချနိုင်တဲ့ အန္တရာယ်ကို ကိုယ်စားပြုတဲ့၊ တကယ့်တိုက်ခိုက်မှုမှာ အရေးပါမယ့် တွေ့ရှိချက်တွေဟာ ဘယ်သူမှ ဂရုတစိုက်ဖတ်ရှုဖို့ အချိန်မရှိတဲ့ low-signal alerts စာရင်းထဲမှာ မြှုပ်နှံထားပါတယ်။

အချိန်ကြာလာသည်နှင့်အမျှ နောက်ကျကျန်နေသော အခြေအနေကို ပိုမိုဆိုးရွားစေသည့် ဒိုင်းနမစ်သုံးခုရှိသည်။ ပထမအချက်မှာ AI မှထုတ်လုပ်သော ကုဒ်သည် ထုတ်လုပ်မှုထဲသို့ ဝင်ရောက်လာသော ကုဒ်ပမာဏကို အရှိန်မြှင့်ပေးခဲ့ပြီး ၎င်းနှင့်အတူ တွေ့ရှိချက်ပမာဏကိုလည်း အရှိန်မြှင့်ပေးခဲ့သည်။ Veracode ၏ ၂၀၂၅ ခွဲခြမ်းစိတ်ဖြာမှုအရ စမ်းသပ်ထားသော မော်ဒယ် ၁၀၀+ တွင် AI မှထုတ်လုပ်သော ကုဒ် ၅၅% သည် လုံခြုံပါသည်။ ဒုတိယအချက်အနေနဲ့ AppSec tools တွေ ပေါများလာတာကြောင့် တွေ့ရှိချက်တွေဟာ စုစည်းထားတဲ့ မြင်ကွင်းနဲ့ မျှဝေထားတဲ့ ဦးစားပေးမှုယုတ္တိဗေဒမရှိတဲ့ စကင်နာအများအပြားကနေ ရောက်ရှိလာတာကို ဆိုလိုပါတယ်။ တတိယအချက်အနေနဲ့ static analysis tools အများစုကို ကြိုတင်ပြင်ဆင်မှုထက် ပြည့်စုံမှုအတွက် ချိန်ညှိထားပါတယ်။cisအန္တရာယ်ရှိတဲ့တစ်ခုခုကို လက်လွတ်သွားမယ့်အစား ဘေးကင်းတဲ့အရာတစ်ခုခုကို သူတို့က အလံပြချင်ကြတယ်၊ မှားယွင်းသော အပြုသဘောဆောင်သော လက္ခဏာများကို ဖြစ်ပေါ်စေသည် ၎င်းသည် ဆော့ဖ်ဝဲရေးသားသူ ယုံကြည်မှုကို ယိုယွင်းစေပြီး ပြန်လည်ပြုပြင်မှုကို ပိုမိုနှေးကွေးစေသည်။

AI triage နှင့် automated vulnerability remediation တို့သည် ဒိုင်းနမစ်သုံးခုလုံးကို တိုက်ရိုက်ကိုင်တွယ်ဖြေရှင်းပေးသည်။

AI Triage က တကယ်ဘာတွေလုပ်သလဲ။

AI triage ဆိုသည်မှာ ဦးစားပေးရှာဖွေခြင်းပြဿနာတွင် စက်သင်ယူမှုနှင့် ဆက်စပ်သော ခွဲခြမ်းစိတ်ဖြာမှုကို အသုံးချခြင်းဖြစ်သည်။ ၎င်း၏ရည်မှန်းချက်မှာ အားနည်းချက်များ ထပ်မံရှာဖွေရန်မဟုတ်ဘဲ ရှာဖွေတွေ့ရှိပြီးသော အားနည်းချက်များထဲမှ မည်သည့်အားနည်းချက်များကို လုပ်ဆောင်သင့်သည်၊ မည်သည့်အစီအစဉ်ဖြင့် လုပ်ဆောင်သင့်သည်၊ အဘယ်ကြောင့်ဆိုသည်ကို ဖော်ထုတ်ရန်ဖြစ်သည်။

ရိုးရာပြင်းထန်မှုအမှတ်ပေးခြင်း (CVSSဥပမာ) သည် အားနည်းချက်၏ အထွေထွေဝိသေသလက္ခဏာများအပေါ် အခြေခံ၍ ရမှတ်တစ်ခု သတ်မှတ်ပေးသည်- တိုက်ခိုက်မှု vector၊ ရှုပ်ထွေးမှု၊ လိုအပ်သော အထူးအခွင့်အရေးများ၊ သက်ရောက်မှု။ ၎င်းသည် အားနည်းချက်ရှိသော function ကို သင့် application တွင် အမှန်တကယ်ခေါ်ဆောင်ခြင်း ရှိ၊ မရှိ၊ အင်တာနက်မှ ဆက်သွယ်နိုင်ခြင်း ရှိ၊ မရှိ၊ ၎င်းသည် authentication နောက်ကွယ်တွင် ရှိနေခြင်း ရှိ၊ မရှိ သို့မဟုတ် ၎င်းသည် အရေးကြီးသော data များကို ကိုင်တွယ်သည့် system ကို သက်ရောက်မှု ရှိ၊ မရှိကို မသိပါ။ အရေးကြီးသော CVSS ရမှတ် production မှာ ဘယ်တော့မှ မခေါ်ဝေါ်တဲ့ function တစ်ခုပေါ်မှာ ဒါဟာ အရေးကြီးတဲ့ အန္တရာယ် မဟုတ်ပါဘူး၊ အဲဒါကတော့ noise ပါပဲ။

AI triage သည် CVSS မရနိုင်သော အခြေအနေကို အသုံးချသည်။ ၎င်းသည် အောက်ပါတို့ကို ပေါင်းစပ်ထားသည်-

  • လက်လှမ်းမီနိုင်မှု ခွဲခြမ်းစိတ်ဖြာခြင်းအားနည်းချက်ရှိသော code path သည် codebase တွင်သာမက လည်ပတ်နေသော application တွင် အမှန်တကယ် execute လုပ်ခြင်း ရှိ၊ မရှိ ဆုံးဖြတ်ခြင်း။ ပျက်နေသော code ရှိ အားနည်းချက်ကို exploit လုပ်၍မရပါ။ AI triage သည် ကွာခြားချက်ကို သိသည်။
  • အသုံးချနိုင်မှု အမှတ်ပေးမှုEPSS (Exploit Prediction Scoring System) နှင့် လက်တွေ့ကမ္ဘာ တိုက်ခိုက်မှု telemetry မှ အချက်အလက်များကို အသုံးပြု၍ ပေးထားသော အားနည်းချက်တစ်ခုကို wild တွင် အသုံးချနိုင်ခြေကို အကဲဖြတ်ခြင်း။ public exploit ပါရှိသော CVE အားလုံးကို တက်ကြွစွာ အသုံးပြုနေခြင်း မဟုတ်ပါ။ public exploit မပါရှိသော အားနည်းချက်တိုင်းသည် လုံခြုံမှုမရှိပါ။
  • စီးပွားရေးသက်ရောက်မှုအခြေအနေ: မည်သည့်အပလီကေးရှင်းများ၊ ဝန်ဆောင်မှုများနှင့် အချက်အလက်ပိုင်ဆိုင်မှုများသည် တွေ့ရှိချက်တစ်ခု၏ သက်ရောက်မှုကို နားလည်ခြင်းနှင့် ပြင်းထန်မှုကို လိုက်လျောညီထွေဖြစ်အောင် ချိန်ဆခြင်း။ ငွေပေးချေမှုဒေတာကို ကိုင်တွယ်သည့် အများသုံး API ရှိ SQL injection သည် ပြင်ပဝင်ရောက်ခွင့်မရှိသော အတွင်းပိုင်းအစီရင်ခံကိရိယာရှိ တွေ့ရှိချက်နှင့် လုံးဝကွာခြားပါသည်။
  • မှားယွင်းသော အပြုသဘောဆောင်သော စစ်ထုတ်ခြင်း: သိရှိထားသော အားနည်းချက်ရှိသော ပုံစံနှင့် ကိုက်ညီသော်လည်း အမှန်တကယ် အသုံးချ၍မရသော တွေ့ရှိချက်များကို ဖော်ထုတ်ခြင်းနှင့် developer မမြင်မီ active queue မှ ဖယ်ရှားခြင်း။

AI triage ရဲ့ output ဟာ တူညီတဲ့ တွေ့ရှိချက်တွေရဲ့ တိုတောင်းတဲ့စာရင်း မဟုတ်ပါဘူး။ ဒါဟာ အရည်အသွေးအရ ကွဲပြားတဲ့ စာရင်းတစ်ခုဖြစ်ပြီး အချက်အလက်တိုင်းဟာ သီအိုရီဆိုင်ရာဖြစ်နိုင်ခြေထက် စစ်မှန်တဲ့၊ ဦးစားပေးလုပ်ဆောင်နိုင်တဲ့၊ လုပ်ဆောင်နိုင်တဲ့ အန္တရာယ်ကို ကိုယ်စားပြုပါတယ်။ AI triage ကို လုပ်ဆောင်တဲ့ အဖွဲ့တွေဟာ ပုံမှန်အားဖြင့် raw scanner output ကနေ လုပ်ဆောင်နိုင်တဲ့ တွေ့ရှိချက်တွေအထိ ဆူညံသံ ၈၀-၉၀% လျော့ကျသွားတာကို တွေ့ရပါတယ်။

AI AutoFix တကယ်လုပ်ဆောင်တဲ့အရာ

AI AutoFix သည် ပြုပြင်မှုဘက်ခြမ်းဖြစ်သည်။ AI triage သည် ပြုပြင်ရမည့်အရာကို ဖော်ထုတ်ရာတွင် AI AutoFix သည် ပြင်ဆင်မှုကို ၎င်းကိုယ်တိုင် ထုတ်လုပ်ပေးပြီး၊ ၎င်းသည် ပြဿနာအသစ်များ မပေါ်ပေါက်စေဘဲ အားနည်းချက်ကို ဖြေရှင်းပေးသည့် ဘေးကင်းပြီး context-aware code ပြောင်းလဲမှုတစ်ခုဖြစ်သည်။

ယေဘုယျ AI ကုဒ်ထုတ်လုပ်ခြင်းနှင့် ကွာခြားချက်သည် ဤနေရာတွင် အရေးကြီးပါသည်။ SQL injection အားနည်းချက်ကို ပြင်ဆင်ရန် တောင်းဆိုခံရသော အထွေထွေရည်ရွယ်ချက် AI လက်ထောက်တစ်ဦးသည် ကျိုးကြောင်းဆီလျော်သော ကုဒ်ကို ထုတ်လုပ်ပေးပါလိမ့်မည်။ လုံခြုံရေးပလက်ဖောင်းရှိ AI AutoFix သည် သတ်မှတ်ထားသော အားနည်းချက်ပုံစံ၊ အသုံးပြုနေသော သီးခြားဘာသာစကားနှင့် framework၊ repository ၏ သီးခြား coding convention များနှင့် triage layer မှ ဖော်ထုတ်ထားသော သီးခြားအန္တရာယ်အခြေအနေတို့နှင့် ကိုက်ညီစွာ အတည်ပြုထားသော ကုဒ်ကို ထုတ်လုပ်ပေးပါသည်။ ပြင်ဆင်မှုသည် အကြံပြုချက်မဟုတ်ဘဲ၊ ၎င်းသည် pull requestဆော့ဖ်ဝဲရေးသားသူ ပြန်လည်သုံးသပ်ရန် အသင့်ဖြစ်နေပါပြီ၊ အားနည်းချက်ကို ဖြေရှင်းပြီးဖြစ်ပြီး ပြင်ဆင်ချက်ရှင်းလင်းချက်လည်း ပါဝင်သည်။

AI AutoFix က လက်တွေ့မှာ ဘာတွေလုပ်ဆောင်ပေးလဲ။

  • အန္တရာယ်ရှိသော ပုံစံများကို ဘေးကင်းသော အခြားနည်းလမ်းများဖြင့် အစားထိုးခြင်း။ string concatenation အစား parameterized query တစ်ခု။ အားနည်းချက်ရှိသော library တစ်ခုအစား ဘေးကင်းသော deserialization library တစ်ခု။ system call တွင် user မှ တိုက်ရိုက်ထည့်သွင်းမှုအစား input validation function တစ်ခု။ ပြင်ဆင်ချက်သည် ရောဂါလက္ခဏာကိုသာမက အကြောင်းရင်းကို ဖြေရှင်းပေးသည်။
  • ပြောင်းလဲမှုကို ချိုးဖောက်သော အသိအမြင်ကို ကိုင်တွယ်ဖြေရှင်းသည်။ အားနည်းချက်ရှိသော dependency တစ်ခုကို အပ်ဒိတ်လုပ်ခြင်းသည် drop-in အစားထိုးဗားရှင်းအသစ်ဖြစ်သည့်အခါတွင် ရိုးရှင်းပါသည်။ API ပြောင်းလဲသွားသောအခါ၊ transitive dependency များ ပဋိပက္ခဖြစ်သောအခါ သို့မဟုတ် fix သည် လက်ရှိစမ်းသပ်မှုများကို ပျက်ပြယ်သွားသောအခါတွင် ၎င်းသည် ရှုပ်ထွေးလာပါသည်။ AI AutoFix သည် dependency graph ကို နားလည်ပြီး ပြောင်းလဲမှုမတိုင်မီ ပျက်ပြယ်သွားသော ပြောင်းလဲမှုများကို flag လုပ်သည် သို့မဟုတ် ကိုင်တွယ်သည်။ pull request ဖွင့်လှစ်ထားသည်။
  • developer များအလုပ်လုပ်သည့်နေရာတွင် ပြင်ဆင်မှုများကို ပေးပို့သည်။ အထိရောက်ဆုံး AutoFix အကောင်အထည်ဖော်မှုများသည် ကုဒ်ရေးသားသည်နှင့်အမျှ IDE တွင် ပြင်ဆင်မှုများကို ပေါ်လွင်စေသည်- CI/CD pipeline ကုဒ်အတိုင်းပါပဲ commitတက်ဒ်နှင့် ၎င်းတွင် pull requests သီးခြားလုံခြုံရေးတွင်မဟုတ်ဘဲ ကုဒ်ကို ပြန်လည်သုံးသပ်သည့်အတိုင်း dashboard ဆော့ဖ်ဝဲရေးသားသူများသည် ဘယ်တော့မှ မဖွင့်ကြပါ။ ပွတ်တိုက်မှုသည် ပြန်လည်ပြုပြင်မှုအလျင်၏ ရန်သူဖြစ်သည်။
  • လူဦးရေမရေတွက်ဘဲ စကေးများ။ လုံခြုံရေးအဖွဲ့ငါးဖွဲ့သည် တွေ့ရှိချက်ငါးထောင်ကို ကိုယ်တိုင်ပြန်လည်သုံးသပ်ပြီး ပြင်ဆင်၍မရပါ။ AI AutoFix သည် ငါးထောင်လုံးအတွက် ပြင်ဆင်မှုများကို ထုတ်ပေးပြီး တင်သွင်းနိုင်သောကြောင့် လုံခြုံရေးအဖွဲ့သည် ပြောင်းလဲမှုတိုင်းကို ရေးသားမည့်အစား ပြန်လည်သုံးသပ်ပြီး အတည်ပြုရန် ထားရှိသည်။

လက်တွေ့တွင် ဆူညံသံလျှော့ချခြင်း- ထောင်ပေါင်းများစွာသော တွေ့ရှိချက်များမှသည် အရေးပါသော တွေ့ရှိချက်များအထိ

ဆူညံသံလျှော့ချခြင်းသည် ဘဝအရည်အသွေးတိုးတက်မှုတစ်ခုတည်းမဟုတ်ပါ။ ၎င်းသည် လုံခြုံရေးရလဒ်တစ်ခုဖြစ်သည်။ ဆော့ဖ်ဝဲရေးသားသူများ သတိပေးချက်ထောင်ပေါင်းများစွာကို ရရှိသောအခါ၊ ၎င်းတို့သည် အချက်ပြမှုနိမ့်သော အကြောင်းကြားချက်များ များပြားလွန်းခြင်းကြောင့် လူသားများသည် ၎င်းတို့ကို ဂရုတစိုက်ဖတ်ရှုခြင်းကို ရပ်တန့်စေသည့် ကောင်းစွာမှတ်တမ်းတင်ထားသော ဖြစ်စဉ်ဖြစ်သည့် အချက်ပြမှုပင်ပန်းနွမ်းနယ်မှုသည် ပြုပြင်မှုကို နှေးကွေးစေရုံသာမကပါ။ ၎င်းသည် အားနည်းချက်များကို လွတ်သွားစေသည်။

ဆူညံသံများ လျော့ပါးလာသည်။ pipeline AI triage က လက်တွေ့မှာ ဒီလိုပုံစံမျိုး ဖြစ်ပေါ်စေပါတယ်-

A SAST scanner သည် repository တစ်လျှောက်တွင် လည်ပတ်ပြီး တွေ့ရှိချက် ၂၄၀၀ ကို ထုတ်လုပ်ပေးသည်။ triage မရှိပါက ၂၄၀၀ စလုံးသည် backlog တွင် ရှိနေသည်။ AI triage ဖြင့် တွေ့ရှိချက်များကို reachability (reachable မဖြစ်နိုင်သော code path များရှိ တွေ့ရှိချက်များကို ဖယ်ရှားခြင်း)၊ exploitability (လက်ရှိအခြေအနေတွင် လက်တွေ့ကျသော attack vector မရှိဘဲ တွေ့ရှိချက်များကို ဖယ်ရှားခြင်း)၊ false positive probability (pattern နှင့် ကိုက်ညီသော်လည်း အခြေအနေတွင် လုံခြုံကြောင်း သက်သေပြနိုင်သော တွေ့ရှိချက်များကို ဖယ်ရှားခြင်း) နှင့် business impact (ကျန်ရှိနေသော တွေ့ရှိချက်များကို ၎င်းတို့ သက်ရောက်မှုရှိသော data နှင့် system များ၏ ပြင်းထန်မှုအလိုက် အဆင့်သတ်မှတ်ခြင်း) တို့ဖြင့် filter လုပ်သည်။ output မှာ ဦးစားပေး တွေ့ရှိချက် ၆၀ ဖြစ်ပြီး၊ သီးခြား application နှင့် environment တွင် အမှန်တကယ် လုပ်ဆောင်နိုင်သော အန္တရာယ်ကို ကိုယ်စားပြုသည်။

ထိုတွေ့ရှိချက် ၆၀ သည် ပြင်ဆင်မှုလမ်းညွှန်ချက်ဖြင့် ဆော့ဖ်ဝဲရေးသားသူများထံ ရောက်ရှိသွားသည်။ AI AutoFix သည် ဖန်တီးပေးသည် pull requests ရှင်းလင်းပြီး ဘေးကင်းသော အလိုအလျောက်ပြင်ဆင်မှုများရှိသူများအတွက်။ လုံခြုံရေးအဖွဲ့သည် ပြန်လည်သုံးသပ်ပြီး အတည်ပြုသည်။ တကယ့်အန္တရာယ် ၆၀ ကို ဖြေရှင်းပြီးဖြစ်သည်။ ပြဿနာမဟုတ်သော ၂,၃၄၀ သည် ဆော့ဖ်ဝဲရေးသားသူ၏ တန်းစီစာရင်းသို့ ဘယ်သောအခါမှ မရောက်ရှိခဲ့ပါ။

အဲဒါက အနည်းငယ်သာ ထိရောက်မှု တိုးတက်မှု မဟုတ်ပါဘူး။ တိုးချဲ့နိုင်တဲ့ လုံခြုံရေး ပရိုဂရမ်နဲ့ မတိုးချဲ့နိုင်တဲ့ လုံခြုံရေး ပရိုဂရမ်ရဲ့ ကွာခြားချက်ပါ။

ကိရိယာပေါင်းစည်းခြင်း- စီစဉ်သင့်သော ဘေးထွက်ဆိုးကျိုးတစ်ခု

AI triage နှင့် AI AutoFix တို့၏ ဆွေးနွေးမှုနည်းသော အကျိုးကျေးဇူးများထဲမှ တစ်ခုမှာ ကိရိယာဖြန့်ကျက်မှုကို ၎င်းတို့ လုပ်ဆောင်သည့်အရာဖြစ်သည်။

AppSec အဖွဲ့အများစုသည် စကင်နာများစွာကို အသုံးပြုကြသည်- တစ်ခုမှာ SAST၊ တစ်ခု SCAတစ်ခုက လျှို့ဝှက်ချက်တွေအတွက်၊ တစ်ခုက IaCတစ်ခုက ကွန်တိန်နာအတွက်၊ တစ်ခုက DAST အတွက်။ စကင်နာတစ်ခုစီသည် ၎င်း၏ကိုယ်ပိုင်တွေ့ရှိချက်ပုံစံ၊ ၎င်း၏ကိုယ်ပိုင်ပြင်းထန်မှုစကေး၊ ၎င်း၏ကိုယ်ပိုင်မှားယွင်းသောအပြုသဘောဆောင်မှုနှုန်းနှင့် ၎င်း၏ကိုယ်ပိုင်ပြန်လည်ပြုပြင်မှုလမ်းညွှန်ချက် သို့မဟုတ် လုံးဝမပြုပြင်မှုလမ်းညွှန်ချက်ကို ထုတ်လုပ်သည်။ လုံခြုံရေးအဖွဲ့များသည် ကိရိယာများတစ်လျှောက်တွင် တွေ့ရှိချက်များကို ပြန်လည်ညှိနှိုင်းရန်၊ တူညီသောအရင်းခံပြဿနာကိုကိုယ်စားပြုသည့် သတိပေးချက်များကို ထပ်တူကျအောင်ဖယ်ရှားရန်နှင့် စကင်နာအထွက်ကို ဆော့ဖ်ဝဲရေးသားသူဖတ်နိုင်သောလက်မှတ်များအဖြစ် ဘာသာပြန်ဆိုရန် အချိန်များစွာပေးကြသည်။

ပေါင်းစည်းထားသော AutoFix ပေးပို့မှုနှင့် ရှာဖွေတွေ့ရှိမှုရင်းမြစ်အားလုံးတွင် AI triage ပေါင်းစပ်ထားသော ပလက်ဖောင်းတစ်ခုသည် ထို overhead အများစုကို ဖယ်ရှားပေးပါသည်။ မှ တွေ့ရှိချက်များ SAST, SCA, လျှို့ဝှက်ချက်များ နှင့် IaC တစ်ခုတည်းသော ဦးစားပေးအင်ဂျင်ထဲသို့ စီးဆင်းသွားသည်။ triage layer သည် အရင်းအမြစ်အားလုံးတွင် တသမတ်တည်း ရမှတ်ပေးယုတ္တိဗေဒကို အသုံးချသည်။ မည်သည့်စကင်နာက ပြဿနာကို ဖော်ထုတ်ခဲ့သည်ဖြစ်စေ AutoFix သည် ပြင်ဆင်မှုများကို ထုတ်ပေးပါသည်။ developer သည် queue တစ်ခု၊ severity scale တစ်ခု၊ fix format တစ်ခုကို မြင်သည်။

လုံခြုံရေးအဖွဲ့သည် ပလက်ဖောင်းငါးခုအစား တစ်ခုကို စီမံခန့်ခွဲသည်။ ရောင်းချသူစာချုပ်များကို ပေါင်းစည်းသည်။ ပေါင်းစပ်ထိန်းသိမ်းမှုကို လျှော့ချပေးသည်။ ပေါင်းစည်းထားသောဒေတာမော်ဒယ်သည် triage layer တွင် အကြောင်းအရာပိုမိုပါဝင်သည်ဟု ဆိုလိုပြီး နှစ်ခုစလုံးတွင် ပေါ်လာသော တွေ့ရှိချက်သည် SAST နှင့် SCA output ကို အများပြည်သူသိရှိနိုင်သော endpoint မှလည်း ရောက်ရှိနိုင်ပြီး scanner တစ်ခုခုက တစ်ခုတည်းရမှတ်ထက် ပိုမိုမြင့်မားသော အမှတ်ပေးမှုကို ရရှိသည်။

ကိရိယာပေါင်းစည်းခြင်းသည် AI triage နှင့် AutoFix ၏ အဓိကရည်မှန်းချက်မဟုတ်ပါ။ backlog လျှော့ချခြင်းသည် အဓိကရည်မှန်းချက်ဖြစ်သည်။ သို့သော် ၎င်းသည် အချိန်ကြာလာသည်နှင့်အမျှ ပေါင်းစပ်ဖြစ်ပေါ်လာသော အကျိုးဆက်တစ်ခုဖြစ်ပြီး လုပ်ငန်းလည်ပတ်မှု overhead လျော့ကျစေပြီး ဦးစားပေးအချက်ပြမှု၏ အရည်အသွေးကို မြှင့်တင်ပေးပါသည်။

AI Triage နှင့် AutoFix Tooling များကို မည်သို့ အကဲဖြတ်မည်နည်း။

AI triage နှင့် AutoFix ၏ အကောင်အထည်ဖော်မှုအားလုံးသည် တူညီသောရလဒ်ကို မပေးဆောင်ပါ။ ၎င်းတို့သည် စစ်မှန်သောဆူညံသံလျှော့ချခြင်းနှင့် အလိုအလျောက်အားနည်းချက်ပြုပြင်ခြင်းကို စျေးကွက်ရှာဖွေရေးပြောဆိုချက်နှင့် ခွဲခြားပေးသော စွမ်းရည်များဖြစ်သည်-

  • ပြင်းထန်မှုအမှတ်ပေးမှုကိုသာမက လက်လှမ်းမီနိုင်မှုအပေါ် အခြေခံသည့် ဦးစားပေးမှု။ အကယ်၍ tool သည် vulnerable code path ကို အမှန်တကယ် execute လုပ်ခြင်းရှိမရှိကို နားမလည်ဘဲ CVSS ပေါ်တွင်သာ find များကို scored လုပ်ပါက AI triage ကို လုပ်ဆောင်ခြင်းမဟုတ်ဘဲ sorting ကို လုပ်ဆောင်နေခြင်းဖြစ်ပါသည်။ reachability ကို မည်သို့ဆုံးဖြတ်သည်နှင့် exploitability scoring ကို မည်သည့် data sources များက အသိပေးသည်ကို vendor များကို အတိအကျမေးမြန်းပါ။
  • Cross-scanner ဆက်စပ်မှု။ စကင်နာတစ်ခုတည်းမှ တွေ့ရှိချက်များကိုသာ မြင်သည့် triage layer တွင် မပြည့်စုံသော ရုပ်ပုံတစ်ခု ရှိသည်။ အတိကျဆုံး ဦးစားပေးမှုမှာ တွေ့ရှိချက်များကို ဆက်စပ်ခြင်းမှ လာပါသည်။ SAST, SCA, လျှို့ဝှက်ချက်များ IaCနှင့် DAST၊ ကိရိယာများစွာက တူညီသော အခြေခံအန္တရာယ်ကို အလံပြသည့်အခါ နားလည်ခြင်းနှင့် ထိုအချက်ပြမှုကို သင့်လျော်စွာ အလေးချိန်ခြင်း။
  • AutoFix အရည်အသွေးနှင့် အတည်ပြုချက်။ အားနည်းချက်အသစ်တစ်ခုကို မိတ်ဆက်ပေးခြင်း သို့မဟုတ် ရှိပြီးသားလုပ်ဆောင်ချက်ကို ပျက်ယွင်းစေသော ပြင်ဆင်မှုတစ်ခုသည် ပြင်ဆင်မှုမရှိခြင်းထက် ပိုဆိုးပါသည်။ AutoFix သည် လူသိများသော ဘေးကင်းသောပုံစံများနှင့် ကိုက်ညီမှုရှိမရှိ၊ ၎င်းသည် ပျက်စီးနေသောပြောင်းလဲမှုများကို ကိုင်တွယ်ခြင်းရှိမရှိနှင့် ပြုပြင်ထားသော ကုဒ်လမ်းကြောင်းအတွက် စမ်းသပ်မှုလွှမ်းခြုံမှုပါဝင်ခြင်းရှိမရှိ မေးမြန်းခြင်းဖြင့် ပြင်ဆင်မှုအရည်အသွေးကို အကဲဖြတ်ပါ။
  • အိုင်ဒီ နှင့် pipeline ပေါင်းစည်းမှု။ သီးခြားတစ်ခုတွင် ပေါ်လာသော AutoFix dashboard developer များသည် ၎င်းတို့၏ workflow မှ ထွက်ခွာပြီး လုပ်ဆောင်ရန် လိုအပ်သည်။ အမြင့်ဆုံးအမြန်နှုန်း ပြုပြင်မှုသည် IDE၊ PR နှင့် တွင် ပြင်ဆင်မှုများ ရရှိနိုင်သည့်အခါ ဖြစ်ပေါ်သည်။ CI/CD pipelineဆော့ဖ်ဝဲရေးသားသူ အလုပ်လုပ်နေပြီးသားနေရာတိုင်း။
  • မှားယွင်းသော အပြုသဘောဆောင်သည့်နှုန်း၊ တကယ့်အပြုသဘောဆောင်သည့်နှုန်းသက်သက်မဟုတ်ပါ။ တကယ့် positive rate က ကိရိယာက ဘယ်လောက်ဖမ်းမိလဲဆိုတာကို ပြောပြပါတယ်။ false positive rate က ဆူညံသံတွေ ဘယ်လောက်ထုတ်ပေးလဲဆိုတာကို ပြောပြပါတယ်။ နှစ်ခုစလုံးက အရေးပါပြီး သူတို့ကြားက အချိုးက တကယ့် signal ပါ။ စျေးကွက်ရှာဖွေရေး ပြောဆိုချက်တွေကိုသာမက benchmark data တွေကိုပါ မေးမြန်းပါ။
  • စာရင်းစစ်ဆေးခြင်း လမ်းကြောင်းနှင့် ပယ်ဖျက်ခြင်း စွမ်းရည်။ ထုတ်လုပ်မှုတွင် AutoFix pipeline အုပ်ချုပ်မှု လိုအပ်ပါသည်။ ဆော့ဖ်ဝဲရေးသားသူများနှင့် လုံခြုံရေးအဖွဲ့များသည် အလိုအလျောက်ပြင်ဆင်မှုများကို ပြန်လည်သုံးသပ်ခြင်း၊ အတည်ပြုခြင်း၊ ပြုပြင်ခြင်းနှင့် ငြင်းပယ်ခြင်းတို့ကို လုပ်ဆောင်နိုင်ရမည်ဖြစ်ပြီး၊ မည်သည့်အရာများ ပြောင်းလဲခဲ့သည်၊ အဘယ်ကြောင့်နှင့် မည်သူက ပြောင်းလဲခဲ့သည်ဆိုသည့် အပြည့်အစုံစာရင်းစစ်မှတ်တမ်းတစ်ခု ထားရှိရန် လိုအပ်ပါသည်။

Xygeni ဖြင့် AI Triage နှင့် AutoFix

ဆိုက်ဂျီနီရဲ့ အလိုအလျောက် အားနည်းချက်ပြုပြင်ခြင်းဆိုင်ရာ ချဉ်းကပ်မှုသည် အခြေခံမူတစ်ခုအပေါ် အခြေခံ၍ တည်ဆောက်ထားသည်- ပြုပြင်ခြင်းမရှိဘဲ ထောက်လှမ်းခြင်းသည် ဖြစ်ပျက်ရန် စောင့်ဆိုင်းနေသော backlog တစ်ခုဖြစ်သည်။

အဆိုပါ Xygeni ဦးစားပေးမှု ဖန်နယ် ရှာဖွေတွေ့ရှိမှုရင်းမြစ်အားလုံးတွင် AI triage ကို အသုံးပြုသည် (SAST, SCAလျှို့ဝှက်ချက်များ ဖော်ထုတ်ခြင်း၊ IaC, CI/CD လုံခြုံရေး၊ နှင့် DAST)၊ reachability analysis၊ exploitability scoring နှင့် business impact context တို့၏ အဆင့်ဆင့်အလွှာများမှတစ်ဆင့် raw scanner output ကို လျှော့ချခြင်း။ output သည် scanner ရှာဖွေတွေ့ရှိသမျှ၏ flat list မဟုတ်ဘဲ အမှန်တကယ် လုပ်ဆောင်နိုင်သော တွေ့ရှိချက်များ၏ ဦးစားပေး queue တစ်ခုဖြစ်သည်။

AI AutoFix သည် တိုက်ရိုက်ပေးပို့သော context-aware၊ ဘာသာစကားနှင့်သက်ဆိုင်သော ပြင်ဆင်မှုများကို ဖန်တီးပေးသည် pull requestsဖုံးအုပ်ထားသည် SAST လူရေးသားထားသောနှင့် AI မှထုတ်လုပ်သောကုဒ်များတွင် တွေ့ရှိချက်များ၊ အားနည်းချက်ရှိသော မှီခိုမှုများနှင့် လျှို့ဝှက်ချက်များဖော်ထုတ်ခြင်း။ ပြောင်းလဲမှုထောက်လှမ်းရေးကို ချိုးဖောက်ခြင်းသည် PR မဖွင့်မီ တည်ဆောက်မှုကို ချိုးဖောက်မည့် မှီခိုမှုအပ်ဒိတ်များကို အလံပြသည်။ ပြင်ဆင်ချက်ရှင်းလင်းချက်များသည် ဆော့ဖ်ဝဲရေးသားသူများအား မျက်ကန်းယုံကြည်မှုထက် ယုံကြည်မှုဖြင့် ပြောင်းလဲမှုများကို ပြန်လည်သုံးသပ်ပြီး အတည်ပြုရန် နောက်ခံအခြေအနေကို ပေးစွမ်းသည်။

Xygeni ရဲ့ IDE-embedded AI လုံခြုံရေး copilot ဖြစ်တဲ့ DevAI ဟာ ကုဒ်ရေးတဲ့အခါ developer ရဲ့ပတ်ဝန်းကျင်မှာ triage ရလဒ်တွေနဲ့ AutoFix အကြံပြုချက်တွေကို တိုက်ရိုက်ပြသပေးပါတယ်။ commit ပြုလုပ်ထားသည်။ MCP server ပေါင်းစပ်မှုကြောင့် AI coding assistant များသည် IDE မှ မထွက်ဘဲ လုံခြုံရေးစကင်န်များကို စတင်နိုင်ခြင်း၊ ဦးစားပေးတွေ့ရှိချက်များကို လက်ခံရရှိခြင်းနှင့် ဘေးကင်းသောပြင်ဆင်မှုများကို ပြုလုပ်နိုင်ခြင်းတို့ကို ပြုလုပ်နိုင်သည်။

ရလဒ်အနေဖြင့်- Xygeni ကို လုပ်ဆောင်နေသော အဖွဲ့များသည် ပွင့်လင်းသော တွေ့ရှိချက်ထောင်ပေါင်းများစွာမှ စီမံခန့်ခွဲနိုင်သော၊ ဦးစားပေးထားသော queue သို့ ရွှေ့ပြောင်းခြင်းနှင့် manual patching မှ လူဦးရေအရေအတွက်ထက် codebase နှင့်အတူ scale လုပ်သည့် automated remediation သို့ ရွှေ့ပြောင်းခြင်းအကြောင်း အစီရင်ခံကြသည်။ သင့်ရဲ့ လုံခြုံရေး နောက်ကြောင်းပြန် ပိတ်ဆို့မှုဟာ သင့်အဖွဲ့က ဖြေရှင်းနိုင်တာထက် ပိုမြန်နေရင် ပြဿနာက ကြိုးစားအားထုတ်မှု မဟုတ်ပါဘူး။ သင်အသုံးပြုနေတဲ့ tools တွေက ဒါကို ဖြေရှင်းဖို့ တည်ဆောက်ထားတာ မဟုတ်ပါဘူး။

အမြဲမေးလေ့ရှိသောမေးခွန်းများ

AI triage က လုံခြုံရေး backlog noise ကို ဘယ်လောက်ထိ လျှော့ချပေးနိုင်မလဲ။

reachability-based prioritization ဖြင့် AI triage ကိုအသုံးပြုသောအဖွဲ့များသည် raw scanner output မှ actionable findings အထိ 80–90% လျော့ကျသွားသည်ကို တွေ့ရလေ့ရှိသည်။ တိကျသောကိန်းဂဏန်းသည် codebase၊ အသုံးပြုနေသော scanners အရေအတွက်နှင့် triage model ၏ specificity ပေါ်တွင်မူတည်သော်လည်း ဦးတည်ချက်ဆိုင်ရာသက်ရောက်မှုမှာ တသမတ်တည်းဖြစ်သည်- static analysis tools များမှထုတ်လုပ်သော findings အများစုသည် context တွင် အသုံးချ၍မရဘဲ AI triage သည် developer queue မရောက်မီ ၎င်းတို့ကို ဖော်ထုတ်ပြီး ဖယ်ရှားသည်။

AI AutoFix ကို ထုတ်လုပ်မှုမှာ အသုံးပြုရန် ဘေးကင်းပါသလား။ pipelines?

ဟုတ်ကဲ့၊ သင့်လျော်သော အုပ်ချုပ်မှုဖြင့် အကောင်အထည်ဖော်သည့်အခါ။ AI AutoFix တွင် ပြောင်းလဲမှုများကို ထုတ်လုပ်မှုသို့ ပေါင်းစည်းခြင်းမပြုမီ လူသားပြန်လည်သုံးသပ်ခြင်းကို အမြဲထည့်သွင်းသင့်သည်။ တန်ဖိုးမှာ ပြန်လည်သုံးသပ်ခြင်းလုပ်ငန်းစဉ်ကို ကျော်လွှားခြင်းမဟုတ်ဘဲ ပြင်ဆင်မှုကို အလိုအလျောက်ထုတ်ပေးခြင်းဖြစ်သည်။ ပြင်ဆင်မှုရှင်းလင်းချက်များ၊ အပြောင်းအလဲရှာဖွေခြင်းနှင့် မည်သည့်အရာများ ပြောင်းလဲခဲ့သည်နှင့် အဘယ်ကြောင့်ပြောင်းလဲခဲ့သည်ကို အပြည့်အစုံစာရင်းစစ်မှတ်တမ်းတို့ပါဝင်သည့် အကောင်အထည်ဖော်မှုများကို ရှာဖွေပါ။

အလိုအလျောက် အားနည်းချက်ပြုပြင်ခြင်းနှင့် လက်ဖြင့်ပြင်ဆင်ခြင်းသည် မည်သို့ကွာခြားသနည်း။

ကိုယ်တိုင်ပြင်ဆင်ခြင်းအတွက် လုံခြုံရေးအင်ဂျင်နီယာ သို့မဟုတ် ဆော့ဖ်ဝဲရေးသားသူတစ်ဦးသည် တွေ့ရှိချက်ကိုဖတ်ရှုရန်၊ အားနည်းချက်ကိုနားလည်ရန်၊ ဘေးကင်းသောပြင်ဆင်မှုကို သုတေသနပြုရန်၊ အကောင်အထည်ဖော်ရန်၊ စမ်းသပ်ရန်နှင့် ပြန်လည်သုံးသပ်ရန် တင်ပြရန် လိုအပ်ပါသည်။ အလိုအလျောက်အားနည်းချက်ပြုပြင်ခြင်းသည် အားနည်းချက်အမျိုးအစား၊ ဘာသာစကား၊ framework နှင့် coding convention များအပေါ်အခြေခံ၍ ပြင်ဆင်မှုကို အလိုအလျောက်ထုတ်ပေးပြီး ရှာဖွေခြင်းမှ ပြင်ဆင်ခြင်းအထိ အချိန်ကို ရက် သို့မဟုတ် ရက်သတ္တပတ်များမှ နာရီ သို့မဟုတ် မိနစ်အထိ လျှော့ချပေးပြီး ပြဿနာတစ်ခုစီအစား ရှာဖွေမှု queue တစ်ခုလုံးတွင် အတိုင်းအတာတစ်ခုအထိ ချိန်ညှိပေးပါသည်။

ဆူညံသံလျှော့ချခြင်းနှင့် လုံခြုံရေးနောက်ကျကျန်နေခြင်း လျှော့ချခြင်းကြား ဆက်စပ်မှုကား အဘယ်နည်း။

၎င်းတို့သည် တူညီသောပြဿနာ၏ နှစ်ဖက်စလုံးဖြစ်သည်။ ဆူညံသံ (အချက်ပြမှုနည်းသော၊ အသုံးချ၍မရသော သို့မဟုတ် မှားယွင်းသောအပြုသဘောဆောင်သော တွေ့ရှိချက်များ) သည် developer ၏ queue သို့ မရောက်သင့်သော အရာများဖြင့် backlog ကို ဖြည့်ပေးသည်။ AI triage မှတစ်ဆင့် ဆူညံသံလျှော့ချခြင်းသည် upstream မှ ထိုအရာများကို ဖယ်ရှားပေးသောကြောင့် backlog တွင် စစ်မှန်သောအန္တရာယ်များသာ ပါဝင်သည်။ ထို့နောက် AutoFix သည် ထိုစစ်မှန်သောအန္တရာယ်များကို ပိုမိုမြန်ဆန်စွာ ပိတ်ပေးသည်။ ပေါင်းစပ်မှုသည် backlog ကို နှစ်ဖက်စလုံးမှ တစ်ပြိုင်နက်တည်း ကျုံ့စေသည်။

sca-tools-software-composition-analysis-tools
သင့်ဆော့ဖ်ဝဲလ်အန္တရာယ်များကို ဦးစားပေးသတ်မှတ်ခြင်း၊ ပြုပြင်ခြင်းနှင့် လုံခြုံစေခြင်း
သင့်ရဲ့ အခမဲ့အကောင့်ကို ရယူလိုက်ပါ။
အကြွေးဝယ်ကဒ်မရှိပါ။

သင့်ရဲ့ Software Development နဲ့ Delivery ကို လုံခြုံအောင်ထားပါ

Xygeni ထုတ်ကုန်အစုံနှင့်အတူ