Semgrep 강력한 보안 기능
이전 포스팅에서 Semgrep을 다루면서 보안 기능(Security Function)이 중점을 두고 있다고 설명했었는데요. Semgrep의 레지스트리를 찾아보면 Security-audit(보안 감사)라는 보안만 중점으로 모아둔 규칙이 있습니다.
Security와 관련해서 총 253개의 규칙들을 모아둔 규칙 집합입니다. 여기에서는 중요도가 높은 Error 관련된 규칙만 필터링해보면 54개가 나열됩니다. 현재 진행 중인 저장소에 이 Error 관련 규칙들만이라도 보안 검사해서 실제 코드를 적용해봐도 보안 관련 취약점들은 꽤 많은 개선이 될 것으로 보이는데요.
한 예로 다음은 "system call" 함수가 사용된 경우로 Error(오류)로 필터링된 예제입니다.
semgrep --config="r/python.lang.security.audit.dangerous-system-call.dangerous-system-call"
이 system call 오류는 "위의 security-audit"의 규칙 집합에 포함된 규칙들 중 하나입니다. 설명에 나와 있듯 system call 사용 시 "악의적인 행위자가 명령을 실행할 수 있으므로 외부 데이터가 이 함수 호출에 도달할 수 있는 경우 위험" 할 수 있다는 내용이 담겨있습니다. 이 경우 system call 대신 'subprocess' 모듈을 대신 사용할 것을 제안하고 있습니다.
이해가 되시나요? 저는 잘 이해가 되지 않습니다. 그래서 조금 더 자세한 설명을 보기 위해 Rule에서 링크된 URL로 들어가보면 좀 더 자세한 설명을 보실 수 있는데요.
이중 CWE-78 문서가 제일 자세한 설명이 담겨 있었습니다. 그래서 확인해 보면 확장 설명으로 다음의 솔루션들이 있습니다.
'Integration & Python' 카테고리의 다른 글
Python 개발 마스터하기: 단계별 프로그램 작성을 위한 초보자 가이드 (0) | 2023.02.06 |
---|---|
파이썬, 폴더내 특정 확장자 제외 전체 파일 삭제 방법 (0) | 2023.01.27 |
Semgrep 강점 (0) | 2022.09.02 |
Visual Studio Code WSL 설치 연동 & 윈도우 탐색기 WSL 경로 찾기 (0) | 2022.08.04 |
Semgrep CLI 설치 및 실행 방법 (0) | 2022.08.04 |
댓글