
grep rough audit - 소스 코드 감사 도구
graudit은 GNU 유틸리티 grep을 사용하여 소스 코드에서 잠재적인 보안 결함을 찾을 수 있게 해주는 간단한 스크립트와 시그니처 집합입니다. RATS, SWAAT, flaw-finder와 같은 다른 정적 분석 애플리케이션과 비교할 수 있으면서도 기술적 요구 사항을 최소로 유지하고 매우 유연합니다.
설치는 사용자로 또는 root로 전역으로 수행할 수 있으며, make를 userinstall 또는 install 인수와 함께 실행하면 됩니다. 그러나 배포 파일에 포함되지 않은 추가 데이터베이스 규칙이 포함되어 있으므로 git 저장소를 복제하여 graudit을 직접 사용하는 것이 권장됩니다. 이렇게 하면 릴리스 사이에 업데이트를 받을 수도 있습니다. 이를 위해서는 다음 명령을 실행하세요:
git clone https://github.com/wireghoul/graudit
그런 다음 선호하는 셸에 맞는 적절한 값을 사용하여 graudit을 PATH에 추가할 수 있습니다:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
graudit이 홈 디렉터리에 없으면 .bashrc 파일에서 GRDIR 환경 변수를 시그니처 디렉터리로 설정하는 것이 좋습니다.
export GRDIR=/path/to/graudit/signatures
graudit은 여러 옵션을 지원하며 좋은 셸 관행을 따르려고 노력합니다. 옵션 목록을 보려면 graudit -h를 실행하거나 아래를 참조하세요. graudit을 사용하는 가장 간단한 방법은 다음과 같습니다;
graudit [opts] /path/to/scan
OPTIONS
-d <dbname> database to use or /path/to/file.db (uses default if not specified)
-A scan unwanted and difficult (ALL) files
-x exclude these files (comma separated list: -x *.js,*.sql)
-i case in-sensitive scan
-c <num> number of lines of context to display before and after a match, default is 1
-B suppress banner
-L vim friendly lines
-b colour blind friendly template
-z suppress colors
-Z high contrast colors
-l lists databases available
-v prints version number
-h prints this help screen
GRARGS 환경 변수를 통해 기본 명령줄 옵션을 설정할 수 있습니다. 이는 스크립트에서 graudit의 사용에 영향을 미칠 수 있으므로 이 목적에는 B, L, b, z, Z 옵션만 사용하는 것이 권장됩니다.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit은 확장 정규 표현식(POSIX)을 시그니처로 사용하며 여러 데이터베이스가 바로 사용할 수 있도록 준비되어 있습니다. 추가 시그니처가 필요하면 기존 데이터베이스를 확장하거나 직접 만들 수 있습니다.
데이터베이스는 여러 위치에서 로드할 수 있으며, 우선 순위는 다음과 같습니다:
우선 순위 순으로 데이터베이스 파일 목록은 -l 스위치로 표시됩니다:
graudit -l
다음 데이터베이스가 포함되어 있습니다:
튜토리얼/소개 영상은 https://youtu.be/b8Xbzer1n94 에서 확인할 수 있습니다.
graudit에 기여하고 싶다면 https://github.com/wireghoul/graudit 에서 저장소를 포크하여 사용해 주세요. 특히 언어 규칙, 추가 스크립트, 문서 기여를 매우 환영합니다. graudit이 마음에 든다면 감사 인사를 전하고 주변에 공유해 주세요.
저와 연락하고 싶다면 github @wireghoul로 연락해 주세요.