Giunsa paggamit ang usa ka yano nga utility aron makit-an ang mga kahuyangan sa code sa programa

Gisuportahan sa Graudit ang daghang mga lengguwahe sa programming ug gitugotan ka nga i-integrate ang pagsulay sa seguridad sa codebase direkta sa proseso sa pag-uswag.

Giunsa paggamit ang usa ka yano nga utility aron makit-an ang mga kahuyangan sa code sa programa
Source: Unsplash (Markus Spiske)

Ang pagsulay usa ka hinungdanon nga bahin sa siklo sa kinabuhi sa pagpalambo sa software. Adunay daghang mga matang sa pagsulay, ang matag usa kanila nagsulbad sa kaugalingon nga problema. Karon gusto nakong hisgutan ang pagpangita sa mga problema sa seguridad sa code.

Dayag nga, sa modernong mga katinuud sa pag-uswag sa software, hinungdanon nga masiguro ang seguridad sa proseso. Sa usa ka higayon, ang espesyal nga termino nga DevSecOps gipaila pa. Kini nga termino nagtumong sa usa ka serye sa mga pamaagi nga gitumong sa pag-ila ug pagwagtang sa mga kahuyangan sa usa ka aplikasyon. Adunay mga espesyal nga solusyon sa open source alang sa pagsusi sa mga kahuyangan subay sa mga sumbanan OWASP, nga naghulagway sa lain-laing matang ug kinaiya sa mga kahuyangan sa source code.

Adunay lainlaing mga pamaagi sa pagsulbad sa mga problema sa seguridad, sama sa Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), Interactive Application Security Testing (IAST), Software Composition Analysis, ug uban pa.

Ang static nga pagsulay sa seguridad sa aplikasyon nagpaila sa mga sayup sa nasulat na nga code. Kini nga pamaagi wala magkinahanglan sa aplikasyon nga modagan, mao nga kini gitawag nga static analysis.

Magpokus ko sa static code analysis ug mogamit ug simple nga open source tool para ipakita ang tanan sa praktis.

Ngano nga gipili nako ang usa ka bukas nga gigikanan nga himan alang sa pagtuki sa seguridad sa static code

Adunay ubay-ubay nga mga hinungdan niini: una, libre kini tungod kay naggamit ka usa ka himan nga gihimo sa usa ka komunidad nga parehas og hunahuna nga mga tawo nga gusto motabang sa ubang mga developer. Kung ikaw adunay usa ka gamay nga team o startup, ikaw adunay usa ka dako nga oportunidad sa pagtipig salapi pinaagi sa paggamit sa open source software aron masulayan ang seguridad sa imong codebase. Ikaduha, kini nagwagtang sa panginahanglan alang kanimo sa pag-hire og usa ka bulag nga DevSecOps team, dugang nga pagkunhod sa imong mga gasto.

Ang maayo nga bukas nga gigikanan nga mga himan kanunay gihimo nga gikonsiderar ang dugang nga mga kinahanglanon alang sa pagka-flexible. Busa, kini magamit sa halos bisan unsang palibot, nga naglangkob sa usa ka halapad nga mga buluhaton. Mas sayon ​​alang sa mga developers ang pagkonektar sa maong mga himan sa sistema nga ilang natukod na samtang nagtrabaho sa ilang mga proyekto.

Apan adunay mga higayon nga kinahanglan nimo ang usa ka bahin nga wala magamit sa himan nga imong gipili. Sa kini nga kaso, adunay ka higayon sa pag-fork sa code niini ug paghimo sa imong kaugalingon nga himan nga gibase niini sa gamit nga imong gikinahanglan.

Tungod kay sa kadaghanan nga mga kaso ang pag-uswag sa open source software aktibo nga naimpluwensyahan sa komunidad, ang desisyon sa paghimo og mga pagbag-o gihimo nga dali ug hangtod sa punto: ang mga nag-develop sa open source nga proyekto nagsalig sa feedback ug mga sugyot gikan sa mga tiggamit, sa ilang mga taho sa nakit-an nga mga sayup ug uban pang mga problema.

Paggamit sa Graudit alang sa Code Security Analysis

Mahimo nimong gamiton ang lainlaing mga himan nga bukas nga gigikanan alang sa pagtuki sa static nga code; wala’y unibersal nga himan alang sa tanan nga mga sinultian sa programming. Ang mga nag-develop sa pipila kanila nagsunod sa mga rekomendasyon sa OWASP ug naningkamot sa pagtabon sa daghang mga pinulongan kutob sa mahimo.

Dinhi atong gamiton Graudit, usa ka yano nga command line utility nga magtugot kanamo sa pagpangita sa mga kahuyangan sa among codebase. Gisuportahan niini ang lainlaing mga pinulongan, apan limitado gihapon ang ilang set. Ang Graudit gimugna base sa grep utility utility, nga kaniadto gipagawas ubos sa lisensya sa GNU.

Adunay susama nga mga himan alang sa static code analysis - Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), flawfinder ug uban pa. Apan ang Graudit dali kaayo ug adunay gamay nga kinahanglanon sa teknikal. Bisan pa, mahimo kang adunay mga problema nga dili masulbad ni Graudit. Unya mahimo nimong pangitaon ang ubang mga kapilian dinhi niini nga listahan.

Mahimo natong i-integrate kini nga himan ngadto sa usa ka piho nga proyekto, o himoon kini nga magamit sa usa ka pinili nga tiggamit, o gamiton kini nga dungan sa tanan natong mga proyekto. Dinhi usab ang pagka-flexible ni Graudit moabut. Busa atong i-clone ang repo una:

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

Karon maghimo kita ug simbolikong sumpay para sa Graudit nga gamiton kini sa command format

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

Magdugang ta og alias sa .bashrc (o bisan unsa nga configuration file nga imong gigamit):

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

Pag-reboot:

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

Atong susihon kung malampuson ang pag-install:

$ graudit -h

Kung makakita ka og susama, nan maayo ang tanan.

Giunsa paggamit ang usa ka yano nga utility aron makit-an ang mga kahuyangan sa code sa programa

Susihon nako ang usa sa akong kasamtangan nga mga proyekto. Sa dili pa modagan ang himan, kinahanglan nga ipasa ang usa ka database nga katumbas sa pinulongan diin gisulat ang akong proyekto. Ang mga database nahimutang sa ~/gradit/signatures folder:

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

Mao nga, gisulayan nako ang duha nga mga file sa js gikan sa akong proyekto, ug gipakita ni Graudit ang kasayuran bahin sa mga kahuyangan sa akong code sa console:

Giunsa paggamit ang usa ka yano nga utility aron makit-an ang mga kahuyangan sa code sa programa

Giunsa paggamit ang usa ka yano nga utility aron makit-an ang mga kahuyangan sa code sa programa

Mahimo nimong sulayan ang pagsulay sa imong mga proyekto sa parehas nga paagi. Makita nimo ang usa ka lista sa mga database alang sa lainlaing mga programming language dinhi.

Mga bentaha ug disbentaha sa Graudit

Ang Graudit nagsuporta sa daghang mga programming language. Busa, kini mao ang angay alang sa usa ka halapad nga-laing mga tiggamit. Mahimo kini nga igo nga makigkompetensya sa bisan unsang libre o bayad nga mga analogue. Ug hinungdanon kaayo nga ang mga pag-uswag gihimo gihapon sa proyekto, ug ang komunidad dili lamang nagtabang sa mga nag-develop, apan usab sa ubang mga tiggamit nga naningkamot nga mahibal-an ang himan.

Kini usa ka magamit nga himan, apan hangtod karon dili kini kanunay nga mahibal-an kung unsa gyud ang problema sa usa ka kadudahang piraso sa code. Ang mga developers nagpadayon sa pagpalambo sa Graudit.

Apan sa bisan unsang kaso, mapuslanon ang pagtagad sa mga potensyal nga problema sa seguridad sa code kung mogamit mga himan nga sama niini.

Nagsugod…

Niini nga artikulo, akong gitan-aw ang usa lang sa daghang mga paagi aron makit-an ang mga kahuyangan - static application security testing. Ang pagpahigayon sa static code analysis sayon, apan kini mao pa lang ang sinugdanan. Aron makakat-on og dugang mahitungod sa seguridad sa imong codebase, kinahanglan nimo nga i-integrate ang ubang mga matang sa pagsulay ngadto sa imong software development lifecycle.

Diha sa Mga Katungod sa Pagdukiduki

Masaligan nga VPS ug ang husto nga pagpili sa plano sa taripa magtugot kanimo nga dili kaayo mabalda gikan sa pag-uswag pinaagi sa dili maayo nga mga problema - ang tanan molihok nga wala’y mga kapakyasan ug adunay taas nga oras sa pagtrabaho!

Giunsa paggamit ang usa ka yano nga utility aron makit-an ang mga kahuyangan sa code sa programa

Source: www.habr.com

Idugang sa usa ka comment