ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื™ืจื•ืช ืคืฉื•ื˜ ื›ื“ื™ ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ื”ืชื•ื›ื ื™ืช

Graudit ืชื•ืžืš ื‘ืžืกืคืจ ืฉืคื•ืช ืชื›ื ื•ืช ื•ืžืืคืฉืจ ืœืš ืœืฉืœื‘ ื‘ื“ื™ืงื•ืช ืื‘ื˜ื—ื” ืฉืœ ื‘ืกื™ืก ืงื•ื“ ื™ืฉื™ืจื•ืช ื‘ืชื”ืœื™ืš ื”ืคื™ืชื•ื—.

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื™ืจื•ืช ืคืฉื•ื˜ ื›ื“ื™ ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ื”ืชื•ื›ื ื™ืช
ืžืงื•ืจ: Unsplash (ืžืจืงื•ืก ืกืคื™ืกืงื”)

ื‘ื“ื™ืงื•ืช ื”ืŸ ื—ืœืง ื—ืฉื•ื‘ ืžืžื—ื–ื•ืจ ื”ื—ื™ื™ื ืฉืœ ืคื™ืชื•ื— ื”ืชื•ื›ื ื”. ื™ืฉื ื ืกื•ื’ื™ื ืจื‘ื™ื ืฉืœ ื‘ื“ื™ืงื•ืช, ื›ืœ ืื—ื“ ืžื”ื ืคื•ืชืจ ืืช ื”ื‘ืขื™ื” ืฉืœื•. ื”ื™ื•ื ืื ื™ ืจื•ืฆื” ืœื“ื‘ืจ ืขืœ ืžืฆื™ืืช ื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ื‘ืงื•ื“.

ื‘ืจื•ืจ ืฉื‘ืžืฆื™ืื•ืช ื”ืžื•ื“ืจื ื™ืช ืฉืœ ืคื™ืชื•ื— ืชื•ื›ื ื”, ื—ืฉื•ื‘ ืœื”ื‘ื˜ื™ื— ืื‘ื˜ื—ืช ืชื”ืœื™ื›ื™ื. ืคืขื, ื”ืžื•ื ื— ื”ืžื™ื•ื—ื“ DevSecOps ืืคื™ืœื• ื”ื•ืฆื’. ืžื•ื ื— ื–ื” ืžืชื™ื™ื—ืก ืœืกื“ืจื” ืฉืœ ื ื”ืœื™ื ืฉืžื˜ืจืชื ืœื–ื”ื•ืช ื•ืœื—ืกืœ ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืืคืœื™ืงืฆื™ื”. ื™ืฉื ื ืคืชืจื•ื ื•ืช ืงื•ื“ ืคืชื•ื— ืžื™ื•ื—ื“ื™ื ืœื‘ื“ื™ืงืช ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ื”ืชืื ืœืชืงื ื™ื OWASP, ื”ืžืชืืจื™ื ืืช ื”ืกื•ื’ื™ื ื•ื”ื”ืชื ื”ื’ื•ืช ื”ืฉื•ื ื™ื ืฉืœ ืคื’ื™ืขื•ื™ื•ืช ื‘ืงื•ื“ ื”ืžืงื•ืจ.

ื™ืฉื ืŸ ื’ื™ืฉื•ืช ืฉื•ื ื•ืช ืœืคืชืจื•ืŸ ื‘ืขื™ื•ืช ืื‘ื˜ื—ื”, ื›ื’ื•ืŸ ื‘ื“ื™ืงืช ืื‘ื˜ื—ืช ื™ื™ืฉื•ืžื™ื ืกื˜ื˜ื™ืช (SAST), ื‘ื“ื™ืงืช ืื‘ื˜ื—ืช ื™ื™ืฉื•ืžื™ื ื“ื™ื ืžื™ืช (DAST), ื‘ื“ื™ืงืช ืื‘ื˜ื—ืช ื™ื™ืฉื•ืžื™ื ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช (IAST), ื ื™ืชื•ื— ื”ืจื›ื‘ ืชื•ื›ื ื” ื•ื›ื•'.

ื‘ื“ื™ืงื•ืช ืื‘ื˜ื—ื” ืกื˜ื˜ื™ื•ืช ืฉืœ ื™ื™ืฉื•ืžื™ื ืžื–ื”ื•ืช ืฉื’ื™ืื•ืช ื‘ืงื•ื“ ืฉื›ื‘ืจ ื ื›ืชื‘. ื’ื™ืฉื” ื–ื• ืื™ื ื” ืžื—ื™ื™ื‘ืช ืืช ื”ื™ื™ืฉื•ื ืœืคืขื•ืœ, ื•ื–ื• ื”ืกื™ื‘ื” ืฉื”ื™ื ื ืงืจืืช ื ื™ืชื•ื— ืกื˜ื˜ื™.

ืื ื™ ืืชืžืงื“ ื‘ื ื™ืชื•ื— ืงื•ื“ ืกื˜ื˜ื™ ื•ืืฉืชืžืฉ ื‘ื›ืœื™ ืงื•ื“ ืคืชื•ื— ืคืฉื•ื˜ ื›ื“ื™ ืœื”ื“ื’ื™ื ื”ื›ืœ ื‘ืคื•ืขืœ.

ืžื“ื•ืข ื‘ื—ืจืชื™ ื‘ื›ืœื™ ืงื•ื“ ืคืชื•ื— ืœื ื™ืชื•ื— ืื‘ื˜ื—ืช ืงื•ื“ ืกื˜ื˜ื™

ื™ืฉ ืœื›ืš ืžืกืคืจ ืกื™ื‘ื•ืช: ืจืืฉื™ืช, ื–ื” ื‘ื—ื™ื ื ื›ื™ ืืชื” ืžืฉืชืžืฉ ื‘ื›ืœื™ ืฉืคื•ืชื— ืขืœ ื™ื“ื™ ืงื”ื™ืœื” ืฉืœ ืื ืฉื™ื ื‘ืขืœื™ ื“ืขื•ืช ื“ื•ืžื•ืช ืฉืจื•ืฆื™ื ืœืขื–ื•ืจ ืœืžืคืชื—ื™ื ืื—ืจื™ื. ืื ื™ืฉ ืœืš ืฆื•ื•ืช ืงื˜ืŸ ืื• ืกื˜ืืจื˜ืืค, ื™ืฉ ืœืš ื”ื–ื“ืžื ื•ืช ืžืฆื•ื™ื ืช ืœื—ืกื•ืš ื›ืกืฃ ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืชื•ื›ื ืช ืงื•ื“ ืคืชื•ื— ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ื”ืื‘ื˜ื—ื” ืฉืœ ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœืš. ืฉื ื™ืช, ื–ื” ืžื‘ื˜ืœ ืืช ื”ืฆื•ืจืš ืฉืœืš ืœืฉื›ื•ืจ ืฆื•ื•ืช DevSecOps ื ืคืจื“, ื•ืžืคื—ื™ืช ืขื•ื“ ื™ื•ืชืจ ืืช ื”ืขืœื•ื™ื•ืช ืฉืœืš.

ื›ืœื™ ืงื•ื“ ืคืชื•ื— ื˜ื•ื‘ื™ื ื ื•ืฆืจื™ื ืชืžื™ื“ ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ื“ืจื™ืฉื•ืช ืžื•ื’ื‘ืจื•ืช ืœื’ืžื™ืฉื•ืช. ืœื›ืŸ, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ื ื›ืžืขื˜ ื‘ื›ืœ ืกื‘ื™ื‘ื”, ื”ืžื›ืกื” ืžื’ื•ื•ืŸ ืจื—ื‘ ืฉืœ ืžืฉื™ืžื•ืช. ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœืžืคืชื—ื™ื ืœื—ื‘ืจ ื›ืœื™ื ื›ืืœื” ืขื ื”ืžืขืจื›ืช ืฉื”ื ื›ื‘ืจ ื‘ื ื• ืชื•ืš ื›ื“ื™ ืขื‘ื•ื“ื” ืขืœ ื”ืคืจื•ื™ืงื˜ื™ื ืฉืœื”ื.

ืื‘ืœ ืขืฉื•ื™ื™ื ืœื”ื™ื•ืช ืžืงืจื™ื ืฉื‘ื”ื ืืชื” ืฆืจื™ืš ืชื›ื•ื ื” ืฉืื™ื ื” ื–ืžื™ื ื” ื‘ื›ืœื™ ืฉืชื‘ื—ืจ. ื‘ืžืงืจื” ื–ื”, ื™ืฉ ืœืš ื”ื–ื“ืžื ื•ืช ืœื—ืœืง ืืช ื”ืงื•ื“ ืฉืœื• ื•ืœืคืชื— ื›ืœื™ ืžืฉืœืš ื”ืžื‘ื•ืกืก ืขืœื™ื• ืขื ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ื“ืจื•ืฉื” ืœืš.

ืžื›ื™ื•ื•ืŸ ืฉื‘ืจื•ื‘ ื”ืžืงืจื™ื ืคื™ืชื•ื— ืชื•ื›ื ืช ืงื•ื“ ืคืชื•ื— ืžื•ืฉืคืข ื‘ืื•ืคืŸ ืคืขื™ืœ ืžื”ืงื”ื™ืœื”, ื”ื”ื—ืœื˜ื” ืขืœ ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื ืžืชืงื‘ืœืช ื“ื™ ืžื”ืจ ื•ืœืขื ื™ื™ืŸ: ืžืคืชื—ื™ ืคืจื•ื™ืงื˜ ื”ืงื•ื“ ื”ืคืชื•ื— ืžืกืชืžื›ื™ื ืขืœ ืžืฉื•ื‘ ื•ื”ืฆืขื•ืช ืžื”ืžืฉืชืžืฉื™ื, ืขืœ ื“ื™ื•ื•ื—ื™ื”ื ืฉืœ ื ืžืฆืื• ืฉื’ื™ืื•ืช ื•ื‘ืขื™ื•ืช ืื—ืจื•ืช.

ืฉื™ืžื•ืฉ ื‘-Graudit ืขื‘ื•ืจ ื ื™ืชื•ื— ืื‘ื˜ื—ืช ืงื•ื“

ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืงื•ื“ ืคืชื•ื— ืฉื•ื ื™ื ืœื ื™ืชื•ื— ืงื•ื“ ืกื˜ื˜ื™; ืื™ืŸ ื›ืœื™ ืื•ื ื™ื‘ืจืกืœื™ ืœื›ืœ ืฉืคื•ืช ื”ืชื›ื ื•ืช. ื”ืžืคืชื—ื™ื ืฉืœ ื—ืœืงื ืคื•ืขืœื™ื ืœืคื™ ื”ืžืœืฆื•ืช OWASP ื•ืžื ืกื™ื ืœื›ืกื•ืช ื›ืžื” ืฉื™ื•ืชืจ ืฉืคื•ืช.

ื›ืืŸ ื ืฉืชืžืฉ ื’ืจืื•ื“ื™ื˜, ื›ืœื™ ืฉื•ืจืช ืคืงื•ื“ื” ืคืฉื•ื˜ ืฉื™ืืคืฉืจ ืœื ื• ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœื ื•. ื–ื” ืชื•ืžืš ื‘ืฉืคื•ืช ืฉื•ื ื•ืช, ืื‘ืœ ืขื“ื™ื™ืŸ ื”ืกื˜ ืฉืœื”ื ืžื•ื’ื‘ืœ. ื’ืจืื•ื“ื™ื˜ ืคื•ืชื— ืขืœ ื‘ืกื™ืก ื›ืœื™ ื”ืฉื™ืจื•ืช grep, ืืฉืจ ืฉื•ื—ืจืจ ืคืขื ืชื—ืช ืจื™ืฉื™ื•ืŸ GNU.

ื™ืฉื ื ื›ืœื™ื ื“ื•ืžื™ื ืœื ื™ืชื•ื— ืงื•ื“ ืกื˜ื˜ื™ โ€“ Rough Auditing Tool for Security (RATS), Securitycompass Web Application Analysis Tool (SWAAT), Flawfinder ื•ื›ืŸ ื”ืœืื”. ืื‘ืœ ื’ืจืื•ื“ื™ื˜ ืžืื•ื“ ื’ืžื™ืฉ ื•ื™ืฉ ืœื• ื“ืจื™ืฉื•ืช ื˜ื›ื ื™ื•ืช ืžื™ื ื™ืžืœื™ื•ืช. ืขื ื–ืืช, ื™ื™ืชื›ืŸ ืฉื™ืฉ ืœืš ื‘ืขื™ื•ืช ืฉ-Graudit ืœื ื™ื›ื•ืœ ืœืคืชื•ืจ. ืื– ืืชื” ื™ื›ื•ืœ ืœื—ืคืฉ ืืคืฉืจื•ื™ื•ืช ืื—ืจื•ืช ื›ืืŸ ื‘ืจืฉื™ืžื” ื–ื•.

ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืฉืœื‘ ืืช ื”ื›ืœื™ ื”ื–ื” ื‘ืคืจื•ื™ืงื˜ ืกืคืฆื™ืคื™, ืื• ืœื”ืคื•ืš ืื•ืชื• ืœื–ืžื™ืŸ ืœืžืฉืชืžืฉ ื ื‘ื—ืจ, ืื• ืœื”ืฉืชืžืฉ ื‘ื• ื‘ื•-ื–ืžื ื™ืช ื‘ื›ืœ ื”ืคืจื•ื™ืงื˜ื™ื ืฉืœื ื•. ื›ืืŸ ื’ื ื ื›ื ืกืช ืœืชืžื•ื ื” ื”ื’ืžื™ืฉื•ืช ืฉืœ ื’ืจืื•ื“ื™ื˜. ืื– ื‘ื•ื ื ืฉื›ืคืœ ืืช ื”ืžืื’ืจ ืชื—ื™ืœื”:

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

ื›ืขืช ื‘ื•ืื• ื ื™ืฆื•ืจ ืงื™ืฉื•ืจ ืกืžืœื™ ืขื‘ื•ืจ Graudit ืœื”ืฉืชืžืฉ ื‘ื• ื‘ืคื•ืจืžื˜ ืคืงื•ื“ื”

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

ื‘ื•ื ื ื•ืกื™ืฃ ื›ื™ื ื•ื™ ืœ-bashrc (ืื• ื›ืœ ืงื•ื‘ืฅ ืชืฆื•ืจื” ืฉืืชื” ืžืฉืชืžืฉ ื‘ื•):

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

ืœึฐืึทืชื—ึตืœ:

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

ื‘ื•ื ื ื‘ื“ื•ืง ืื ื”ื”ืชืงื ื” ื”ืฆืœื™ื—ื”:

$ graudit -h

ืื ืืชื” ืจื•ืื” ืžืฉื”ื• ื“ื•ืžื”, ืื– ื”ื›ืœ ื‘ืกื“ืจ.

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื™ืจื•ืช ืคืฉื•ื˜ ื›ื“ื™ ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ื”ืชื•ื›ื ื™ืช

ืื ื™ ืื‘ื“ื•ืง ืืช ืื—ื“ ืžื”ืคืจื•ื™ืงื˜ื™ื ื”ืงื™ื™ืžื™ื ืฉืœื™. ืœืคื ื™ ื”ืคืขืœืช ื”ื›ืœื™, ื™ืฉ ืœื”ืขื‘ื™ืจ ืœื• ืžืกื“ ื ืชื•ื ื™ื ื”ืžืชืื™ื ืœืฉืคื” ื‘ื” ื ื›ืชื‘ ื”ืคืจื•ื™ื™ืงื˜ ืฉืœื™. ืžืกื“ื™ ื”ื ืชื•ื ื™ื ืžืžื•ืงืžื™ื ื‘ืชื™ืงื™ื™ื” ~/gradit/signatures:

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

ืื– ื‘ื“ืงืชื™ ืฉื ื™ ืงื‘ืฆื™ js ืžื”ืคืจื•ื™ืงื˜ ืฉืœื™, ื•-Graudit ื”ืฆื™ื’ ืžื™ื“ืข ืขืœ ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ืฉืœื™ ืœืงื•ื ืกื•ืœื”:

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื™ืจื•ืช ืคืฉื•ื˜ ื›ื“ื™ ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ื”ืชื•ื›ื ื™ืช

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื™ืจื•ืช ืคืฉื•ื˜ ื›ื“ื™ ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ื”ืชื•ื›ื ื™ืช

ืืชื” ื™ื›ื•ืœ ืœื ืกื•ืช ืœื‘ื“ื•ืง ืืช ื”ืคืจื•ื™ืงื˜ื™ื ืฉืœืš ื‘ืื•ืชื• ืื•ืคืŸ. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืจืฉื™ืžื” ืฉืœ ืžืกื“ื™ ื ืชื•ื ื™ื ืขื‘ื•ืจ ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช ื›ืืŸ.

ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช ืฉืœ ื’ืจืื•ื“ื™ื˜

Graudit ืชื•ืžืš ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืจื‘ื•ืช. ืœื›ืŸ, ื”ื•ื ืžืชืื™ื ืœืžื’ื•ื•ืŸ ืจื—ื‘ ืฉืœ ืžืฉืชืžืฉื™ื. ื–ื” ื™ื›ื•ืœ ืœื”ืชื—ืจื•ืช ื‘ืฆื•ืจื” ืžืกืคืงืช ืขื ื›ืœ ืื ืœื•ื’ื™ื ื‘ื—ื™ื ื ืื• ื‘ืชืฉืœื•ื. ื•ื—ืฉื•ื‘ ืžืื•ื“ ืฉืขื“ื™ื™ืŸ ืžืชื‘ืฆืขื™ื ืฉื™ืคื•ืจื™ื ื‘ืคืจื•ื™ืงื˜, ื•ื”ืงื”ื™ืœื” ืœื ืจืง ืขื•ื–ืจืช ืœืžืคืชื—ื™ื, ืืœื ื’ื ืœืžืฉืชืžืฉื™ื ืื—ืจื™ื ืฉืžื ืกื™ื ืœื”ื‘ื™ืŸ ืืช ื”ื›ืœื™.

ื–ื”ื• ื›ืœื™ ืฉื™ืžื•ืฉื™, ืืš ืขื“ ื›ื” ื”ื•ื ืœื ืชืžื™ื“ ื™ื›ื•ืœ ืœืืชืจ ื‘ื“ื™ื•ืง ืžื” ื”ื‘ืขื™ื” ืขื ืคื™ืกืช ืงื•ื“ ื—ืฉื•ื“ื”. ื”ืžืคืชื—ื™ื ืžืžืฉื™ื›ื™ื ืœืฉืคืจ ืืช Graudit.

ืื‘ืœ ื‘ื›ืœ ืžืงืจื”, ื›ื“ืื™ ืœืฉื™ื ืœื‘ ืœื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ืืคืฉืจื™ื•ืช ื‘ืงื•ื“ ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื›ืœื™ื ื›ืžื• ื–ื”.

ืžืชื—ื™ืœโ€ฆ

ื‘ืžืืžืจ ื–ื”, ื‘ื“ืงืชื™ ืจืง ื“ืจืš ืื—ืช ืžื ื™ ืจื‘ื•ืช ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” - ื‘ื“ื™ืงื•ืช ืื‘ื˜ื—ื” ืกื˜ื˜ื™ื•ืช ืฉืœ ื™ื™ืฉื•ืžื™ื. ื‘ื™ืฆื•ืข ื ื™ืชื•ื— ืงื•ื“ ืกื˜ื˜ื™ ื”ื•ื ืงืœ, ืื‘ืœ ื–ื• ืจืง ื”ื”ืชื—ืœื”. ื›ื“ื™ ืœืœืžื•ื“ ืขื•ื“ ืขืœ ื”ืื‘ื˜ื—ื” ืฉืœ ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœืš, ืขืœื™ืš ืœืฉืœื‘ ืกื•ื’ื™ื ืื—ืจื™ื ืฉืœ ื‘ื“ื™ืงื•ืช ื‘ืžื—ื–ื•ืจ ื”ื—ื™ื™ื ืฉืœ ืคื™ืชื•ื— ื”ืชื•ื›ื ื” ืฉืœืš.

ืขืœ ื–ื›ื•ื™ื•ืช ื”ืคืจืกื•ื

VPS ืืžื™ืŸ ื•ื‘ื—ื™ืจื” ื ื›ื•ื ื” ืฉืœ ืชื•ื›ื ื™ืช ื”ืชืขืจื™ืฃ ืชืืคืฉืจ ืœืš ืœื”ื™ื•ืช ืคื—ื•ืช ืžื•ืกื—ืช ืžื”ืคื™ืชื•ื— ืขืœ ื™ื“ื™ ื‘ืขื™ื•ืช ืœื ื ืขื™ืžื•ืช - ื”ื›ืœ ื™ืขื‘ื•ื“ ืœืœื ืชืงืœื•ืช ื•ืขื ื–ืžืŸ ืคืขื•ืœื” ื’ื‘ื•ื” ืžืื•ื“!

ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ืฉื™ืจื•ืช ืคืฉื•ื˜ ื›ื“ื™ ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืงื•ื“ ื”ืชื•ื›ื ื™ืช

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”