
명령줄 정적 분석 스캐너로, 사용자 정의 semgrep 규칙을 사용하여 PHP 및 YAML 소스 코드에서 중대한 취약점을 탐지하며, CI/CD 파이프라인을 위한 Jira 및 Slack 통합 기능을 제공합니다.
SCodeScanner는 소스 코드 스캐너(Source Code Scanner)의 약자로, 사용자가 소스 코드를 스캔하여 중요한 취약점을 찾을 수 있습니다. 이 스캐너의 주요 목적은 코드가 프로덕션에 배포되기 전에 소스 코드 내의 취약점을 발견하는 것입니다.
새 릴리스 및 공지 사항 웹사이트 - https://scodescanner.info/
pip3 install -r requirements.txt를 실행합니다 python3 scscanner.py --help를 실행합니다 python3 scscanner.py php --help와 같이 실행합니다SCodeScanner는 완전한 오픈 소스, 명령줄 기반 Python 도구로, 코드의 취약점을 식별하기 위해 설계되었습니다. 사용하기 쉽게 설계되었으며 다른 도구와 차별화되는 여러 기능을 제공합니다:
더 적은 거짓 긍정: SCodeScanner는 거짓 긍정을 제거하고 존재하는 것으로 확인된 취약점만 보고하는 데 도움이 되는 플래그를 포함합니다.
사용자 정의 semgrep 규칙: SCodeScanner는 semgrep과 함께 작동하지만 자체 규칙을 생성하여 거짓 긍정과 시간 소모적인 스캔을 방지합니다.
명령줄 Python 기반 도구: SCodeScanner는 모든 기술 배경을 가진 사람들이 사용하기 쉬운 명령줄 기반 Python 도구입니다. 취약점 식별을 위한 많은 오픈 소스 도구가 GUI 기반인 반면, SCodeScanner의 명령줄 인터페이스는 터미널에서 간단히 실행할 수 있습니다.
빠른 스캔: SCodeScanner의 규칙은 한 번에 여러 취약점을 확인하도록 설계되어 규칙이 처리할 파일 수가 줄어들고 전체 스캔 속도가 빨라집니다.
가시성 - SCodeScanner는 JIRA, SLACK 통합을 지원하여 파일을 Slack 그룹에 보내거나 Jira 이슈를 생성하여 식별된 결과에 대한 가시성을 제공합니다.
사용자 입력 변수 추적 기능: SCodeScanner는 사용자 입력 변수가 한 파일에서 정의되었지만 다른 파일에서 안전하지 않게 사용되는 인스턴스를 식별할 수 있습니다.
읽기 쉬운 JSON 출력: SCodeScanner는 읽기 쉽고 추가 분석에 사용할 수 있는 JSON 형식으로 결과를 제공합니다.
SCodeScanner는 여러 CMS 플러그인에서 취약점을 발견하여 5개의 CVE를 받았습니다.
--folder: 이 플래그는 실제 코드가 있는 폴더를 지정합니다. 필수 플래그입니다.
--file: 파일을 스캔하려면 이 플래그가 필요합니다.
--check: 이 플래그는 취약점을 식별한 후 거짓 제거를 실행합니다. 기본적으로 사용자 입력이 실제인지 여부를 확인합니다. 또한 모든 거짓 긍정을 제거한 후 수정된 새 JSON 파일을 생성합니다. 그러나 주의할 점은 도구가 원본과 수정된 파일을 모두 유지한다는 것입니다.
--json: 출력으로 JSON 파일을 생성합니다.
-o: 이 플래그는 출력 결과를 텍스트 파일로 생성합니다. 이 플래그의 목적은 사람이 읽기 쉬운 파일을 만드는 것입니다. 선택적 플래그입니다.
--jira: 출력 파일을 JIRA 인스턴스로 보냅니다. (config.json 파일 내에 구성을 추가해야 합니다.) 선택적 플래그입니다.
--slack: 출력 파일을 SLACK 인스턴스로 보냅니다. (config.json 파일 내에 구성을 추가해야 합니다.) 선택적 플래그입니다.
곧 멋진 기능들이 추가됩니다.
이 도구에 대한 피드백을 듣고 싶습니다. 발견한 문제가 있으면 이슈를 열어주세요. 그리고 제안할 사항이 있으면 PR을 열어주세요.