소스 레벨 취약점 점검을 진행할 일이 있어 찾아보니
대표적으로 Yasca, PMD, SpotBugs 등이 무료로 사용할 수 있다는 것을 알았다.
SpotBugs와 PMD는 이클립스 플러그인 추가로
Yasca는 별도 다운로드 후 CMD(윈도)로 명령어를 실행하면 되었다.
Yasca가 리보트까지 html로 출력 가능하여 최종적으로 사용하게 되었고 SpotBugs는 사용하기 편리하였고
PMD는 공부를 해야 잘 이용 할 수 있을 정도로 옵션이 다양했다.
Yasca
아쉽게도 2011년 이후 업데이트가 되지 않고 있다.
사용할 수 잇는 언어는. NET (VB.NET, C#, ASP. NET) , ASP, C/C++, COBL, ColdFusion, CSS, HTML, JAVA, JavaScript, Perl, PHP, Python, Visual Basci
다운로드
https://sourceforge.net/projects/yasca/files/Yasca%202.x/Yasca%202.2/
기본 Yasca-core-2.1.zip을 받고 압축을 푼다. 원하는 플러그인을 받아서 core 폴더 안에 그대로 압축을 풀면 된다.
플러그인 종류
findbugs : class, jar 소스코드 검사
PMD : JSP 소스코드 검사
JLint : JAVA 소스코드 검사
Javascript Lint : Javascript 소스코드 검사
PHPLint : PHP4, PHP5 소스코드 검사
Cppcheck : C, C++ 소스코드 검사
Lint4j : JAVAS, CLASS 소스코드 검사
Grep : 소스코드의 간단한 패턴 검사
실행하기
cmd 에서 우선 yasca-core-2.21 위치로 가서 yasca -px [플러그인] 점검소스경로 를 입력해준다
Jlint 플러그인을 쓰고 C:\api 하부 소스를 검사하고 싶다면 아래와 같이 입력
C:\yasca-core-2.21>yasca -px Jlint C:\api
하면 쭉쭉 실행되고 윈도우바탕화면에 리포트 파일 (html) 을 생성해준다.
회색 : 취약점 예외처리(검토용), 붉은색 : 취약점에 대한 간략한 설명, 파란색 : 취약점이 발생한 코드 확인 가능
PMD
이클립스 설치 ( Help -> eclipse marketplace) PMD 검색 > install
실행
SpotBugs
이클립스 설치 ( Help -> eclipse marketplace) SpotBugs 검색 > install
실행
결과
Window -> Show View -> Other > SpotBugs - Bug Explorer
Show Bug Info
'Program > Java' 카테고리의 다른 글
유저 IP 를 가져왔을 때 IPv6 (0:0:0:0:0:0:0:1)문제, IPv4(127.0.0.1)로 (0) | 2023.11.10 |
---|---|
JDK 설치 (0) | 2020.09.10 |
JDK(Java Development Kit) , JRE(Java Runtime Environment), JVM(Java Virtual Machine) 란? (0) | 2020.04.28 |
DB Connection Pool (0) | 2019.08.08 |
connection pool leak (커넥션풀 누수) (0) | 2019.08.08 |