배포 후 모의해킹 자동화 해보기

agnusdei·2026년 10월 2일

들어가며

서비스를 배포하고 나면 밖에서 봤을 때 뭐가 노출되는지 한 번씩 확인하게 됩니다. 블랙박스로 공격 표면을 훑는 작업인데, 손으로 하나하나 하다 보면 품이 꽤 듭니다. 배포할 때마다 처음부터 다 돌리기도 번거롭고요.

그래서 이 과정을 자동화하려고 pentesting이라는 자율 보안 에이전트를 직접 만들었습니다. 사내 업무에 붙여서 쓰고 있는데 쓸만해서 간단히 정리해 둡니다.

어떤 도구인지

목표를 하나 던져주면 알아서 정찰, 탐색, 검증까지 돌리는 공격형 보안 에이전트입니다.

  • Rust로 작성했고, Docker 이미지 하나로 바로 띄울 수 있습니다.
  • CTF, 학습용, 실제 침투 테스트 워크플로우를 염두에 두고 만들었습니다.
  • OpenAI 호환 API면 모델은 원하는 걸로 붙일 수 있습니다. (OpenRouter 등도 가능)

어떻게 쓰고 있나

가장 자주 쓰는 건 배포 직후 블랙박스 점검입니다. 스테이징이나 운영에 새 버전을 올린 뒤 목표만 하나 넘겨주면 됩니다.

docker run --rm -it --init \
  --cap-add=NET_RAW --cap-add=NET_ADMIN \
  --env OPENAI_API_KEY="..." \
  --env OPENAI_MODEL="..." \
  -v ${PWD}/workspace:/workspace \
  -v ${PWD}/runs:/state \
  agnusdei1207/pentesting:latest \
  run --goal "대상을 조사하고 노출된 공격 표면을 찾아줘" --workspace /workspace --run /state/current

그러면 평소에 체크리스트 들고 찍어보던 지점들을 알아서 꽤 많이 긁어옵니다. 열려 있는 엔드포인트, 노출된 경로, 설정 실수로 밖에서 보이는 것들처럼 배포 과정에서 놓치기 쉬운 공격 표면을 초반에 잘 잡아줍니다. 사람이 정밀하게 보기 전에 1차로 넓게 훑어주는 용도로 쓰면 시간이 많이 줄어듭니다.

코파일럿으로도 쓸만합니다

전부 자동으로 맡겨야 하는 건 아닙니다. 직접 점검하다 막힐 때 코파일럿처럼 옆에 두고 쓰기도 좋습니다. 어디를 파고들지 아이디어를 던져주거나, 놓친 각도를 짚어주는 식으로요. 손은 직접 움직이더라도 다음 수를 고민하는 부담은 줄어듭니다.

써보면서 좋았던 점

  • 배포할 때마다 같은 목표로 반복할 수 있어서 점검 품질이 일정하게 유지됩니다.
  • 수동으로 돌 때보다 커버리지가 넓어서 놓치는 지점이 줄었습니다.
  • Docker로 돌려서 점검 환경을 깔끔하게 분리할 수 있습니다.

마치며

자동화가 사람 판단을 대체하진 않습니다. 다만 배포 후 넓게 한 번 훑는 반복 작업은 맡겨두기 좋습니다. 초반 정찰에서 자유로워지는 만큼 중요한 검증에 집중할 수 있습니다.

관심 있으면 레포 한번 봐주세요. 이슈나 PR은 언제든 환영합니다.

👉 github.com/agnusdei1207/pentesting

⚠️ 모의해킹 도구는 본인 소유이거나 명시적으로 승인받은 대상에만 사용하세요.

0개의 댓글