소개
ZAP: 보안 취약점 스캔(동적 분석)
Sonarqube: 보안 이슈, 안정성, 유지보수성(정적 분석)
CodeRabbit: AI 기반 코드 리뷰
진행 방법
일단, 열심히 보안 요구사항을 구현하느라 고생(?)한 뒤,
1차 점검을 위해 ZAP으로 보안 취약점을 스캔했습니다.
자동 스캔 페이지의 스크린 샷
Standard 모드(실 사용 시)와 Attack 모드(공격자의 공격 시)를 시험해봤습니다.
딱히 큰 취약점은 나오지 않았습니다.
그러나 보안전문가들은 ZAP은 해킹이라고 보지 않는다고 합니다. 취약점 스캔 정도라서,
가능하면 다음 주에 자신이 만든 시스템을 모의 해킹해보려고 합니다.
다음은 Sonarqube cloud community version 입니다.
https://www.sonarsource.com/products/sonarcloud/
깃허브 연동되어서, 원하는 리포지토리를 선택한 후 분석~!
인지 기능을 보여주는 화면의 스크린 샷
리팩토링 이슈가 크게 나왔습니다. 파일 내용을 보니, 정리해야 할 파일 정리가 안 된 것이었습니다.
lovable mockup 중 사용하지 않는 페이지, 사용하지 않는 lovable의 supabase 연동 등이 삭제되지 않은 것이었습니다.
그래서 sonnet 4로, 사용하지 않는 페이지, 링크되어 있지 않은 페이지(랜딩 페이지 제외)는 삭제했습니다.
그 이후 CodeRabbit을 시도해봤어요. CodeRabbit은 아래와 같이 동작합니다.
코드 수정
add-utils branch에 push
깃허브에서 pull 요청
(잠시 후 자동으로 분석됩니다.)
@coderabbitai로 내 커밋의 품질 체크 요청
긍정적이고 부정적인 측면이라는 단어가있는 페이지
결과와 배운 점
ZAP, Sonarqube, CodeRabbit 등이 보안 점검과 소스 코드 품질 검사에 물론 좋지만, 충분하지는 않게 느껴졌습니다. 그래서 다음 주에는 LLM이 전형적으로 생성하는 취약점 분석과 가능하면, 모의 해킹을 조금 시도할 예정입니다.(이번에는 해킹이니 반드시 프로그램과 DB의 복사본을 만들어오세요~! 절대 production 환경은 안되고 local 환경으로 진행합니다~!)