파이썬으로 만드는 보안 자동화 목차

스캐닝·디스커버리·퍼징에서 로그 파싱·이상 탐지·실시간 모니터링·CI 게이트까지, 정답표를 아는 대상에 파이썬 도구를 돌려 탐지율과 오탐을 숫자로 확인한 기록입니다. 뒤로 갈수록 앞 편의 산출물을 조립합니다.

  1. 1편. connect_ex가 0이 아니라고 그 포트가 닫힌 것은 아니다

    직접 띄운 localhost 서비스에 socket 스캐너를 돌려 open·closed 응답, errno, 배너 수집, 타임아웃과 병렬도를 측정했다. filtered는 재현하지 못했으며 Windows 관찰을 일반 규칙으로 넓히지 않도록 정정한 기록.

    · 실습 기록

  2. 2편. 인증 없이 스캔한 200은 대부분 로그인 페이지였다

    requests·BeautifulSoup 로 만든 콘텐츠·폼 디스커버리를 localhost 의 DVWA 에 돌려, 디렉터리 스캔의 상태 코드가 인증 상태에 따라 무엇을 말하고 무엇을 감추는지 측정한 기록.

    · 실습 기록

  3. 3편. 페이로드 하나가 통과했다고 대상이 안전한 것은 아니다

    requests 로 만든 SQLi·XSS 퍼저를 localhost 의 DVWA 에 돌려, 취약점 판정이 어떤 신호로 재고 어떤 페이로드로 묻는가에 따라 어떻게 뒤집히는지 다섯 실험으로 측정한 기록.

    · 실습 기록

  4. 4편. 탐지율을 바꾼 것은 규칙이 아니라 입력이었다

    정답을 아는 합성 웹 로그 1692줄에 정규식 파서와 시그니처·빈도 탐지를 돌려, 탐지 규칙을 그대로 둔 채 입력 처리만 바꿨을 때 탐지율과 오탐이 어떻게 움직이는지 측정한 기록.

    · 실습 기록

  5. 5편. 요청 한 줄에서 평범하던 열거가 세션 특징표에서는 2등이 됐다

    규칙에 걸리지 않는 느린 열거 공격을 섞은 합성 웹 로그에 통계 급증 탐지와 Isolation Forest를 적용하고, 요청 특징표와 IP 세션 특징표에서 결과가 어떻게 달라지는지 측정한 기록.

    · 실습 기록

  6. 6편. 로그 파일이 한 번 갈리자 실시간 탐지가 거기서 멈췄다

    시그니처·슬라이딩 창 빈도·규칙 기반 세션 탐지를 tail 루프에 구성해 로그 19155줄을 흘려보낸 기록. 배치 실습과 탐지 방식이 달라진 범위를 구분하고, 탐지 지연·반복 경보·로그 회전 유실을 살폈다.

    · 실습 기록

  7. 7편. 첫 게이트는 통과했지만 스캐너는 당시 저장소의 8%만 봤다

    Git 이력상 2026년 8월 3일에 남은 첫 시크릿 스캔 기록의 검사 범위·오탐·미탐·종료 코드를 다시 측정했다. 이후 드러난 UTF-8 판별 누락과 경로 예외를 고치고, 수동 Python 도구의 값 해시 예외와 릴리스 게이트의 별도 더미 필터를 구분해 확인했다.

    · 실습 기록

  8. 8편. 탐지 출력 넷을 잇는 데 든 것은 새 알고리즘이 아니라 어댑터 네 개였다

    규칙·세션 ML·시크릿 탐지기의 실행 결과와 저장해 둔 웹 퍼저 출력에 어댑터를 붙여, 공통 스키마·등급 게이트·HTML 이스케이프·실패 종료 코드를 점검한 기록.

    · 실습 기록