Pehea e hoʻohana ai i kahi mea hoʻohana maʻalahi e ʻike i nā nāwaliwali i ka code program

Kākoʻo ʻo Graudit i nā ʻōlelo papahana he nui a hiki iā ʻoe ke hoʻohui pololei i ka hoʻāʻo palekana codebase i ke kaʻina hana.

Pehea e hoʻohana ai i kahi mea hoʻohana maʻalahi e ʻike i nā nāwaliwali i ka code program
Source: Unsplash (Markus Spiske)

ʻO ka hoʻāʻo ʻana he ʻāpana koʻikoʻi o ka pōʻai ola hoʻomohala polokalamu. Nui nā ʻano hoʻāʻo, hoʻoponopono kēlā me kēia i kona pilikia ponoʻī. I kēia lā makemake wau e kamaʻilio e pili ana i ka loaʻa ʻana o nā pilikia palekana ma ke code.

ʻIke loa, i ka ʻoiaʻiʻo o kēia manawa o ka hoʻomohala ʻana i nā polokalamu, he mea nui e hōʻoia i ka palekana kaʻina hana. I kekahi manawa, ua hoʻokomo ʻia ka huaʻōlelo kūikawā DevSecOps. ʻO kēia huaʻōlelo e pili ana i kahi ʻano o nā kaʻina hana e pili ana i ka ʻike a me ka hoʻopau ʻana i nā nāwaliwali o kahi noi. Loaʻa nā hoʻonā kumu wehe kūikawā no ka nānā ʻana i nā nāwaliwali e like me nā kūlana OWASP, e wehewehe ana i nā ʻano like ʻole a me nā ʻano o nā nāwaliwali i ka code kumu.

Aia nā ala like ʻole e hoʻoponopono ai i nā pilikia palekana, e like me Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), Interactive Application Security Testing (IAST), Software Composition Analysis, a pēlā aku.

Hōʻike ka hoʻāʻo palekana no ka hoʻopaʻa ʻana i nā hewa i ke code i kākau mua ʻia. ʻAʻole pono kēia ala i ka noi e holo, ʻo ia ke kumu i kapa ʻia ʻo static analysis.

E noʻonoʻo wau i ka nānā ʻana i nā code static a hoʻohana i kahi hāmeʻa wehe maʻalahi e hōʻike i nā mea āpau i ka hana.

No ke aha wau i koho ai i kahi mea hana open source no ka nānā ʻana i ka palekana code static

Nui nā kumu no kēia: ʻo ka mua, ʻaʻohe manuahi no ka mea ke hoʻohana nei ʻoe i kahi mea hana i hoʻomohala ʻia e kahi kaiāulu o nā poʻe like manaʻo makemake e kōkua i nā mea hoʻomohala ʻē aʻe. Inā he hui liʻiliʻi a hoʻomaka paha ʻoe, loaʻa iā ʻoe kahi manawa kūpono e mālama i ke kālā ma ka hoʻohana ʻana i ka polokalamu open source e hoʻāʻo ai i ka palekana o kāu codebase. ʻO ka lua, hoʻopau ia i ka pono no ʻoe e hoʻolimalima i kahi hui DevSecOps kaʻawale, e hōʻemi hou ana i kāu mau kumukūʻai.

Hoʻokumu mau ʻia nā mea hana open source maikaʻi me ka noʻonoʻo ʻana i nā koi i hoʻonui ʻia no ka maʻalahi. No laila, hiki ke hoʻohana ʻia i nā wahi āpau, e uhi ana i kahi ākea o nā hana. ʻOi aku ka maʻalahi o nā mea hoʻomohala e hoʻopili i ia mau mea hana me ka ʻōnaehana a lākou i kūkulu ai i ka wā e hana ana i kā lākou mau papahana.

Akā aia kekahi mau manawa ke makemake ʻoe i kahi hiʻohiʻona i loaʻa ʻole i ka hāmeʻa āu e koho ai. I kēia hihia, loaʻa iā ʻoe ka manawa e hoʻokaʻawale i kāna code a hoʻomohala i kāu hāmeʻa ponoʻī e pili ana iā ia me ka hana āu e pono ai.

No ka mea, ma ka hapanui o na hihia, ua hooikaika nui ia ka hooulu ana i ka lako polokalamu hamama e ke kaiāulu, ua hiki wawe ka hoʻoholo 'ana e hoʻololi a hiki i ka helu: hilinaʻi nā mea hoʻomohala o ka papahana open source i nā manaʻo a me nā manaʻo mai nā mea hoʻohana, ma kā lākou mau hōʻike. loaʻa nā hewa a me nā pilikia ʻē aʻe.

Ke hoʻohana nei i ka Graudit no ka ʻikepili palekana Code

Hiki iā ʻoe ke hoʻohana i nā hāmeʻa open source no ka nānā ʻana i nā code static; ʻaʻohe mea hana honua no nā ʻōlelo papahana āpau. ʻO nā mea hoʻomohala o kekahi o lākou e hahai i nā ʻōlelo aʻoaʻo OWASP a hoʻāʻo e uhi i nā ʻōlelo he nui i hiki.

Maanei mākou e hoʻohana ai Graudit, he mea hoʻohana laina kauoha maʻalahi e ʻae iā mākou e ʻike i nā nāwaliwali i kā mākou codebase. Kākoʻo ia i nā ʻōlelo like ʻole, akā naʻe ua kaupalena ʻia kā lākou hoʻonohonoho. Hoʻokumu ʻia ʻo Graudit e pili ana i ka pono pono grep, i hoʻokuʻu ʻia ma lalo o ka laikini GNU.

Aia nā mea hana like no ka nānā ʻana i nā code static - Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), flawfinder a pēlā aku. Akā maʻalahi loa ʻo Graudit a loaʻa nā koi ʻenehana liʻiliʻi. Eia nō naʻe, loaʻa iā ʻoe nā pilikia i hiki ʻole iā Graudit ke hoʻoponopono. A laila hiki iā ʻoe ke ʻimi i nā koho ʻē aʻe ma aneʻi ma keia papa inoa.

Hiki iā mākou ke hoʻohui i kēia mea hana i kahi papahana kikoʻī, a i ʻole e hoʻolako iā ia i kahi mea hoʻohana i koho ʻia, a i ʻole e hoʻohana i ka manawa like i kā mākou papahana āpau. ʻO kēia hoʻi kahi e pāʻani ai ka maʻalahi o Graudit. No laila e hoʻopili mua i ka repo:

$ git clone https://github.com/wireghoul/graudit

I kēia manawa e hana mākou i kahi loulou hōʻailona no Graudit e hoʻohana iā ia ma ke ʻano kauoha

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

E hoʻohui i kahi inoa inoa iā .bashrc (a i ʻole nā ​​faila hoʻonohonoho āu e hoʻohana nei):

#------ .bashrc ------
alias graudit="~/bin/graudit"

Hoʻomaka hou:

$ source ~/.bashrc # OR
$ exex $SHELL

E nānā inā ua holomua ka hoʻokomo ʻana:

$ graudit -h

Inā ʻike ʻoe i kahi mea like, a laila maikaʻi nā mea a pau.

Pehea e hoʻohana ai i kahi mea hoʻohana maʻalahi e ʻike i nā nāwaliwali i ka code program

E ho'āʻo wau i kekahi o kaʻu mau papahana e kū nei. Ma mua o ka holo ʻana i ka hāmeʻa, pono e hāʻawi ʻia i kahi waihona e pili ana i ka ʻōlelo i kākau ʻia ai kaʻu papahana. Aia nā waihona i loko o ka waihona ~/gradit/signatures:

$ graudit -d ~/gradit/signatures/js.db

No laila, ua hoʻāʻo au i ʻelua faila js mai kaʻu papahana, a ua hōʻike ʻo Graudit i ka ʻike e pili ana i nā nāwaliwali i kaʻu code i ka console:

Pehea e hoʻohana ai i kahi mea hoʻohana maʻalahi e ʻike i nā nāwaliwali i ka code program

Pehea e hoʻohana ai i kahi mea hoʻohana maʻalahi e ʻike i nā nāwaliwali i ka code program

Hiki iā ʻoe ke hoʻāʻo i kāu mau papahana ma ke ʻano like. Hiki iā ʻoe ke ʻike i kahi papa inoa o nā ʻikepili no nā ʻōlelo hoʻonohonoho like ʻole maanei.

ʻO nā pono a me nā pōʻino o Graudit

Kākoʻo ʻo Graudit i nā ʻōlelo papahana he nui. No laila, kūpono ia no nā mea hoʻohana ākea. Hiki iā ia ke hoʻokūkū kūpono me nā analogues manuahi a uku ʻia paha. A he mea koʻikoʻi loa ka hoʻomaikaʻi ʻana i ka papahana, a ʻaʻole kōkua wale ke kaiāulu i nā mea hoʻomohala, akā nā mea hoʻohana ʻē aʻe e hoʻāʻo nei e noʻonoʻo i ka mea hana.

He mea hana maʻalahi kēia, akā i kēia manawa ʻaʻole hiki iā ia ke kuhikuhi pololei i ke ʻano o ka pilikia me kahi ʻāpana kuhi hewa. Ke hoʻomau nei nā mea hoʻomohala i ka hoʻomaikaʻi ʻana iā Graudit.

Akā i kēlā me kēia hihia, pono e hoʻolohe i nā pilikia palekana i ka code i ka wā e hoʻohana ai i nā mea hana e like me kēia.

E hoʻomaka ana…

Ma kēia ʻatikala, ua nānā au i hoʻokahi wale nō o nā ala e ʻike ai i nā nāwaliwali - static application security testing. He mea maʻalahi ka hana ʻana i ka loiloi code static, akā ʻo ka hoʻomaka wale nō. No ke aʻo hou aku e pili ana i ka palekana o kāu codebase, pono ʻoe e hoʻohui i nā ʻano hoʻāʻo ʻē aʻe i kāu pōʻaiapili hoʻomohala polokalamu.

Nā Pono o ka hoʻolaha

VPS hilinaʻi a ʻo ke koho kūpono o ka hoʻolālā kumukūʻai e ʻae iā ʻoe e hoʻohaʻahaʻa ʻole ʻia mai ka hoʻomohala ʻana e nā pilikia leʻaleʻa - e hana nā mea āpau me ka ʻole o ka hāʻule ʻole a me ka manawa kiʻekiʻe loa!

Pehea e hoʻohana ai i kahi mea hoʻohana maʻalahi e ʻike i nā nāwaliwali i ka code program

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka