Ихэнх инженерийн багууд нэг кодын баазын талаар хоёр тусдаа хэлэлцүүлэг явуулдаг. Нэг нь аюулгүй байдлын тухай: SQL тарилгын эрсдэл, хатуу кодлогдсон нууц, ашиглагдах боломжтой хамаарал байгаа эсэх. Нөгөө нь засвар үйлчилгээний тухай: энэ функц хэтэрхий төвөгтэй юу, энэ код гурван удаа давхардсан уу, хэн ч устгахыг зүрхлэхгүй үхсэн код байгаа эсэх.
Эдгээр харилцан яриа нь ихэвчлэн өөр өөр хэрэгслүүд дээр, өөр өөр багуудын ажиллуулдаг, өөр өөр хуваарийн дагуу явагддаг. Аюулгүй байдлын сканнер нь юуг ашиглаж болохыг тэмдэглэдэг. Ихэнхдээ бие даан худалдаж авч, удирддаг тусдаа чанартай хэрэгсэл нь засвар үйлчилгээ хийхэд үнэтэй зүйлийг тэмдэглэдэг. Хоёр лиценз, хоёр dashboards, хоёр өөр асуултанд хариулахын тулд нэг хийсвэр синтаксийн модоор алхаж буй хоёр задлан шинжлэгч.
Энэ хуваагдал нь зардалтай. Найдвартай байдлын согог (зөрчил биш, харин ажиллах үеийн алдаа үүсгэдэг төрөл) нь аюулгүй байдлын олдворуудтай адил ангиллын сахилга батыг авдаггүй, учир нь тэдгээр нь аюулгүй байдлын багийн гадна байрладаг. dashboardХэрэв баг нь аюулгүй байдлын зорилгоор файл бүрийг задлан шинжлэх статик шинжилгээний хөдөлгүүртэй бол кодын чанарыг шалгахын тулд хоёр дахь, холбоогүй хөдөлгүүрийг ажиллуулах нь хуваалцсан ашиг тусгүй илүүдэл ажил юм.
Кодын чанар яагаад чухал вэ (мөн энэ нь бусад кодуудаас юугаараа ялгаатай вэ) Code Security)
Кодын чанар болон code security хоёр өөр асуултанд хариулна уу. Code security асуудаг: энэ кодыг ашиглаж болох уу? Кодын чанар асуудаг: энэ кодыг хадгалж болох уу? Функц нь төгс аюулгүй байж болох ч хэн ч хүрэхийг хүсдэггүй таван зуун мөрийн орооцолдол хэвээр байж болох бөгөөд сайн зохион байгуулалттай, уншихад хялбар модуль нь тарилгын ноцтой алдаатай хэвээр байж болно. Аль ч сахилга бат нь нөгөөг нь орлохгүй.
Кодын чанарыг үл тоомсорлох зардал нь зөрчил гэж харагдахгүй. Энэ нь удаан илэрдэг: шинэ ажилтан аюулгүй өөрчлөлт хийхэд хоёр өдрийн оронд хоёр долоо хоног шаардагддаг, ердийн функц нь гурван удаа спринт хийдэг, учир нь давхардсан блок өөр газар юуг эвдэхийг хэн ч таамаглаж чадахгүй, жижүүрийн инженер жилийн өмнө устгах ёстой байсан үхсэн кодоор дамжуулан алдааг мөрдөхөд нэг цаг зарцуулдаг. Эдгээрийн аль нь ч аюулгүй байдлын сэрэмжлүүлгийг унагадаггүй. Энэ бүхэн хурдаараа илэрдэг бөгөөд спринт ретро хэлбэрээр харагдах үед засахад аль хэдийн үнэтэй байдаг.
Чанарыг аюулгүй байдалтай адил хатуу чанд авч үзэх нь ийм л байдаг: кодын үнэр аюул учруулдаг учраас биш, харин засвар үйлчилгээний өрийг хяналтгүйгээр хуримтлуулах нь кодын бааз нь функцууд үхдэг газар болдог учраас л тэр.
Илүү сайн арга: Нэг хөдөлгүүр, хоёр дүрэмтэй каталог
Xygeni-ийн Кодын Чанарын Сканнер нь эх кодыг засвар үйлчилгээ болон найдвартай байдлын согогуудад дүн шинжилгээ хийдэг: кодын үнэр, нарийн төвөгтэй байдлын зөрчил, үхсэн код, давхардал - зөрчил үүсгэдэггүй боловч тасалдал, регресс, удаан хөдөлдөг багуудыг үүсгэдэг хэв маягууд.
Онцлог дизайны сонголт нь гоо сайхны биш, харин архитектур юм. Code Quality нь статик шинжилгээний хөдөлгүүрээ дараахтай хуваалцдаг. Xygeni's SAST сканер: ижил задлан шинжилэгчид, ижил AST бүтэц, ижил файлын нээлт. Энэ нь дүрмийн каталогийг хуваалцдаггүй. Чанарын дүрмийг аюулгүй байдалд биш, чанарт хамруулдаг бөгөөд олдворуудыг Xygeni платформын тусгай Чанарын хэсэгт тусад нь байрлуулдаг. SAST болон аюулгүй байдлын эрсдэлийн хүснэгтүүдийн үлдсэн хэсэг.
Үр дүн: багууд хоёр өөр асуудлыг нэг чимээ шуугиантай зүйлд нэгтгэхгүйгээр ижил үндсэн шинжилгээний дамжуулалтаас засвар үйлчилгээний байдал болон аюулгүй байдлын харагдацыг авдаг dashboard.
Чанарын дохиог авах хоёр арга Pipeline
Бүх "кодын чанар" функцууд ижил аргаар ажилладаггүй. Олон CI/CD-Уугуул чанартай хэрэгслүүд нь нэгтгэх давхаргууд юм: тэд таны кодыг өөрсдөө шинжилдэггүй; тэд таны аль хэдийн ажиллуулж байсан шугамнаас (JavaScript шугам, Python шугам, давхардсан илрүүлэгч) үр дүнг импортлодог бөгөөд тус бүрийг нь хуваалцсан JSON схем болгон дахин форматлаж, тус бүрийг нь тусад нь холбодог. pipeline алхам. Энэ нь уян хатан боловч таны чанарын дохио нь хэл тус бүрт нэгийг нь нэгтгэсэн олон тусдаа хэрэгсэл, формат, засвар үйлчилгээ үзүүлэгчийн хэмжээнд л тогтвортой байна гэсэн үг юм.
Xygeni-ийн Кодын Чанарын сканнер өөр замаар явдаг: аюулгүй байдлын үүднээс аль хэдийн ажиллаж байгаа нэг уугуул хөдөлгүүр нь чанарын дүрмийн каталогоор өргөтгөгдсөн. Хэл тус бүрийн шугам суулгах, дахин форматлах тайлангийн формат байхгүй, хэрэгсэл тус бүрийг хадгалах тусдаа ажил байхгүй. Та нэг команд, нэг тогтвортой ноцтой байдлын загвар, нэгийг авах болно. dashboard хэсэг, учир нь шинжилгээг анхнаасаа хэрэгслүүдэд хувааж үзээгүй байсан.
Хэрхэн ажилладаг?
Кодын чанар нь өөрийн CLI командын дагуу ажилладаг:
хүчилтөрөгчийн чанар -d [сонголтууд] (хүчилтөрөгчийн кодын чанар нь хуурамч нэрээр ажилладаг.)
Энэ нь өөрийн сонголтын загвараа дараахтай хуваалцдаг хүчилтөрөгч sast, тиймээс Xygeni-ийн аюулгүй байдлын сканнерыг аль хэдийн ажиллуулж байгаа хэн ч гэсэн интерфэйсийг шууд таних болно:
| сонголт | Энэ юу хийдэг вэ |
|---|---|
-d, --dir | Шинжилгээ хийх лавлах |
--detectors | Тодорхой илрүүлэгчийн ID-г ажиллуулах, эсвэл ноцтой байдал болон түүнээс дээш бүх зүйлийг ажиллуулах |
--fail-on | Өгөгдсөн хүндийн зэрэгт тэгээс бусад гарц, CI/CD хаалга |
--baseline | Суурь шугамтай харьцуулж, зөвхөн шинэ үр дүнг буцаана |
--upload | Үр дүнг Xygeni платформ руу илгээх |
Кодын чанарын тайлан үүсгэх
Сканнердах нь та платформ руу илгээх, CI артефактуудыг JSON хэлбэрээр экспортлох эсвэл багийн ахлагчид өгөхгүйгээр өгөх боломжтой кодын чанарын тайланг гаргадаг. dashboard хандалт. Хоёулаа нэг мөрийн командууд юм:
# Сканнердаж, Xygeni платформ руу шууд байршуулна уу
xygeni чанар -n MyProject –upload
# Кодын чанарын тайланг JSON хэлбэрээр экспортлох, зөвхөн чухал үр дүнгүүд
хүчилтөрөгчийн чанар -d –детекторууд чухал –формат json –гаралтын чанар.json
Нэгэнт байршуулсан бол, тухайн кодын чанарын тайлан нь Чанарын хэсгийг дүүргэдэг. dashboard: шүүх боломжтой, олдвор, суурь үзүүлэлтүүд болон багуудын аль хэдийн ашигладаг ижил тайлагнах зан төлөвийн талаарх дэлгэрэнгүй мэдээллийг гулсуулж харуулах боломжтой SAST.
Аюулгүй байдлын сканнердахтай зэрэгцэн чанарыг ажиллуулж байна
Нэг дамжуулалтаас хоёр дохио авахыг хүсч буй багуудын хувьд, SAST сканнер хүлээн авдаг -чанарыг багтаах туг:
хүчилтөрөгч sast -d -чанарыг багтаах
учир нь SAST болон Кодын Чанар нь парсерын үе шатыг хуваалцдаг бөгөөд энэ нь хоёр сканнерыг ар араас нь ажиллуулахаас илүү үр дүнтэй байдаг. Энэ нь аюулгүй байдал болон чанар гэсэн хоёр тусдаа тайлан гаргадаг бөгөөд тус бүр өөрийн гэсэн тайлантай хэвээр байна. dashboard хэсэг. Туг нь скан хэрхэн хийгдэхийг өөрчилдөг болохоос үр дүнг хэрхэн зохион байгуулахыг биш.
Холболтгүйгээр скан хийж байна
Агааржуулалтын зайгүй орчин эсвэл Xygeni платформ руу гарах гарцгүй CI гүйгчдийн хувьд чанартай сканнерыг орон нутагт ажиллуулж, дараа нь байршуулж болно:
хүчилтөрөгчийн чанар -d -n МинийТөсөл
# …дараа нь холболттой хостоос:
xygeni тайлан байршуулах -n MyProject -r depsdoctor-quality.json
Шууд сканнердахтай адил үр дүнгүүд Чанарын хэсэгт байрлана: ижил ангилалт, ижил бодлого, ижил суурь зан төлөв.
Чанарыг аюулгүй байдлаас тусад нь байлгах нь яагаад чухал вэ
Кодын үнэрийг ашиглаж болох эмзэг байдалтай ижил ноцтой байдлын жагсаалтад оруулах нь амархан байх болно. Xygeni санаатайгаар тэгдэггүй. Давхардсан функц болон SQL тарилга нь ижил төрлийн эрсдэл биш бөгөөд тэдгээрийг ижил аргаар эмчлэх нь багуудыг засвар үйлчилгээний шуугианд хэт хариу үйлдэл үзүүлэх эсвэл бодит аюулгүй байдлын олдворуудад дутуу хариу үйлдэл үзүүлэхэд сургадаг. Дүрмийн каталог, тайлан болон dashboard Харагдацыг тусад нь, хөдөлгүүрийг доор нь хуваалцаж байгаа нь баг бүр өөрт чухал дохиог хоёр дахь статик шинжилгээний хэрэгсэлд мөнгө төлөхгүйгээр хүлээн авна гэсэн үг юм.
Туршаад үз: Кодын чанарыг өнөөдөр Xygeni CLI-ээр дамжуулан авах боломжтой. Багууд аль хэдийн ажиллаж байна хүчилтөрөгч sast нэмж болно -чанарыг багтаах тэдний байгаа байдал руу pipeline нэг мөрөнд, шинэ хэрэгсэл суулгах шаардлагагүй, хоёр дахь нь байхгүй dashboard шалгах.
тусламж
Xygeni кодын чанар гэж юу вэ?
Xygeni Code Quality нь кодын үнэр, нарийн төвөгтэй байдлын зөрчил, үхсэн код, давхардал зэрэг засвар үйлчилгээ болон найдвартай байдлын согогийг илрүүлдэг статик шинжилгээний сканнер юм. Энэ нь өөрийн гэсэн командын дагуу ажилладаг (хүчилтөрөгчийн чанар) бөгөөд аюулгүй байдлын олдворуудаас тусад нь Xygeni платформын тусгай Чанарын хэсэгт тайлагнадаг.
Кодын чанар нь адилхан уу? SAST?
Үгүй. Кодын чанар ба SAST ижил үндсэн задлан шинжлэх хөдөлгүүрийг ашиглах боловч бие даасан дүрмийн каталог ашиглаж, бие даасан тайлан гаргах. SAST аюулгүй байдлын эмзэг байдлыг хайдаг; Кодын чанар нь засвар үйлчилгээ болон найдвартай байдлын согогийг хайдаг.
Чанартай скан болон аюулгүй байдлын сканыг нэгэн зэрэг ажиллуулж болох уу?
Тийм ээ. Гүйж байна хүчилтөрөгч sast -d -чанарыг багтаах хоёр дүрмийн багцыг нэг дамжуулалтаар гүйцэтгэдэг бөгөөд энэ нь хоёр сканнерыг тусад нь ажиллуулахаас илүү үр дүнтэй байдаг, учир нь тэд задлан шинжлэх үе шатыг хуваалцдаг. Үр дүн нь хоёр тусдаа тайлан гаргаж, хоёр тусдаа хэлбэрээр гарч ирдэг хэвээр байна. dashboard хэсгүүд.
Кодын чанарын хувьд надад тусдаа лиценз хэрэгтэй юу?
Чанарын үр дүнг байршуулж, үзэхийн тулд сканнердахтай адил Кодын чанарын эрх шаардлагатай.
Кодын чанар интернет холболтгүйгээр ажиллаж чадах уу?
Тийм. Сканнерууд нь орон нутагт ажиллахгүйгээр ажиллах боломжтой – байршуулах туг, үр дүнгийн тайланг дараа нь холбогдсон хостоос ашиглан байршуулж болно xygeni тайлан байршуулах.





