파이썬으로 만드는 보안 자동화 목차
스캐닝·디스커버리·퍼징에서 로그 파싱·이상 탐지·실시간 모니터링·CI 게이트까지, 정답표를 아는 대상에 파이썬 도구를 돌려 탐지율과 오탐을 숫자로 확인한 기록입니다. 뒤로 갈수록 앞 편의 산출물을 조립합니다.
1편. connect_ex가 0이 아니라고 그 포트가 닫힌 것은 아니다
직접 띄운 localhost 서비스에 socket 스캐너를 돌려 open·closed 응답, errno, 배너 수집, 타임아웃과 병렬도를 측정했다. filtered는 재현하지 못했으며 Windows 관찰을 일반 규칙으로 넓히지 않도록 정정한 기록.
2편. 인증 없이 스캔한 200은 대부분 로그인 페이지였다
requests·BeautifulSoup 로 만든 콘텐츠·폼 디스커버리를 localhost 의 DVWA 에 돌려, 디렉터리 스캔의 상태 코드가 인증 상태에 따라 무엇을 말하고 무엇을 감추는지 측정한 기록.
3편. 페이로드 하나가 통과했다고 대상이 안전한 것은 아니다
requests 로 만든 SQLi·XSS 퍼저를 localhost 의 DVWA 에 돌려, 취약점 판정이 어떤 신호로 재고 어떤 페이로드로 묻는가에 따라 어떻게 뒤집히는지 다섯 실험으로 측정한 기록.
4편. 탐지율을 바꾼 것은 규칙이 아니라 입력이었다
정답을 아는 합성 웹 로그 1692줄에 정규식 파서와 시그니처·빈도 탐지를 돌려, 탐지 규칙을 그대로 둔 채 입력 처리만 바꿨을 때 탐지율과 오탐이 어떻게 움직이는지 측정한 기록.
5편. 요청 한 줄에서 평범하던 열거가 세션 특징표에서는 2등이 됐다
규칙에 걸리지 않는 느린 열거 공격을 섞은 합성 웹 로그에 통계 급증 탐지와 Isolation Forest를 적용하고, 요청 특징표와 IP 세션 특징표에서 결과가 어떻게 달라지는지 측정한 기록.
6편. 로그 파일이 한 번 갈리자 실시간 탐지가 거기서 멈췄다
시그니처·슬라이딩 창 빈도·규칙 기반 세션 탐지를 tail 루프에 구성해 로그 19155줄을 흘려보낸 기록. 배치 실습과 탐지 방식이 달라진 범위를 구분하고, 탐지 지연·반복 경보·로그 회전 유실을 살폈다.
7편. 첫 게이트는 통과했지만 스캐너는 당시 저장소의 8%만 봤다
Git 이력상 2026년 8월 3일에 남은 첫 시크릿 스캔 기록의 검사 범위·오탐·미탐·종료 코드를 다시 측정했다. 이후 드러난 UTF-8 판별 누락과 경로 예외를 고치고, 수동 Python 도구의 값 해시 예외와 릴리스 게이트의 별도 더미 필터를 구분해 확인했다.
8편. 탐지 출력 넷을 잇는 데 든 것은 새 알고리즘이 아니라 어댑터 네 개였다
규칙·세션 ML·시크릿 탐지기의 실행 결과와 저장해 둔 웹 퍼저 출력에 어댑터를 붙여, 공통 스키마·등급 게이트·HTML 이스케이프·실패 종료 코드를 점검한 기록.