2025. 4. 9. 13:53ㆍWeb Security/웹과 퍼징 기술
https://github.com/designsecurity/progpilot
GitHub - designsecurity/progpilot: A static analysis tool for security
A static analysis tool for security. Contribute to designsecurity/progpilot development by creating an account on GitHub.
github.com
해당 툴은 CPG 그래프를 통해서 taint을 분석해주는 툴이다.
다운로드는 3가지 방식이 있다. Option 1: use standalone phar 방식을 통해서 사용할 것을 추천한다. 가장 간편하다.
https://github.com/designsecurity/progpilot/tree/master/package/src/uptodate_data/php
progpilot/package/src/uptodate_data/php at master · designsecurity/progpilot
A static analysis tool for security. Contribute to designsecurity/progpilot development by creating an account on GitHub.
github.com
해당 부분을 보면 알 수 있다 싶이 해당 sink와 soucre, sanitize를 사용하며 커스터마이징할 수 있다.
일단 참고로 원리를 조금 설명하자면, sink는 취약한 함수이고, source는 사용자의 입력이다. AST를 분석해서 sink를 찾은 뒤, DDG를 통해서 source 까지 흐름을 분석한다. 그 과정에서 sanitize가 있다면, 취약하지 않다고 판단한다.
이러한 sink및 source, 기타 등등을 커스터마징할 수 있게 해준다. 커스터마이징 하지 않을 경우 default값을 사용하여 분석한다.
sink와 source를 변경하고 해당 아래 cofiguration.yml 등록해 줘야한다.
변경하는 방식의 예시는 다음과 같다. https://github.com/designsecurity/progpilot/blob/master/projects/tests/config3.yml
progpilot/projects/tests/config3.yml at master · designsecurity/progpilot
A static analysis tool for security. Contribute to designsecurity/progpilot development by creating an account on GitHub.
github.com
성능이 좋긴하나 php만 분석해주는게 아쉽다.