Burp Suite · 2026-01-31

Burp API로 REST 스캔 자동화하기

Burp REST API를 이용해 스캔을 자동화하는 설정·인증·정책 적용 과정과 curl·Python 예제를 중심으로 한 실무 예제

작성일 : 2026-01-31 ㆍ 작성자 : 관리자
post
목차

개요

이 글은 Burp REST API 사용법을 처음 접하는 개발자와 보안 담당자를 위한 실무형 설명서다. Burp API 스캔 자동화를 위한 전체 흐름을 이해하기 쉽게 풀어쓴다. 필요한 설정, 인증 방식, 스캔 요청과 상태 확인, 결과 다운로드까지 단계별로 정리한다.

준비사항

필수 요소

  • Burp Suite Professional 또는 Enterprise(REST API 지원 버전)
  • API 포트와 인증 토큰(또는 기본 인증 정보)
  • curl 또는 Python 환경

Burp Suite에서 API를 활성화하고 포트와 토큰을 확인한다. 보안상 API는 내부 네트워크에서만 접근하도록 제한하는 것을 권장한다.

Burp REST API 개념

Burp Suite에는 REST 엔드포인트가 있어 외부에서 스캔을 생성하고 관리할 수 있다. 일반적인 흐름은 다음과 같다.

  • 인증 토큰 확보
  • 스캔 정책 및 대상 정의
  • 스캔 시작 요청
  • 스캔 상태 폴링(polling)
  • 결과 수집 및 저장

이 과정은 CI/CD 파이프라인이나 자동화 스크립트에 포함되어 반복 검사가 가능하다.

설정: Burp에서 API 활성화

Burp의 설정 메뉴에서 "API" 항목을 찾아 REST API를 활성화한다. 포트와 허용 호스트를 지정하고, 필요 시 API 토큰을 생성한다. Enterprise 버전은 추가적인 스캔 정책 관리 기능을 제공한다.

예제: curl로 스캔 시작

가장 단순한 예로 curl을 사용해 스캔을 생성하는 방법을 소개한다. 아래 예제는 토큰 인증을 전제로 한다.

curl -X POST "http://localhost:1337/v0.1/scan" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"target":"https://example.com","profile":"default"}'

응답으로 스캔 ID가 반환된다. 이 ID로 상태 확인 및 결과 요청을 수행한다.

예제: Python으로 상태 체크와 결과 다운로드

Python requests 라이브러리를 사용하면 파이프라인에 통합하기 쉽다. 아래 예제는 스캔 생성 후 완료될 때까지 폴링하고 결과를 파일로 저장한다.

import time
import requests

BASE = "http://localhost:1337/v0.1"
HEADERS = {"Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json"}

# 스캔 생성
r = requests.post(f"{BASE}/scan", headers=HEADERS, json={"target":"https://example.com","profile":"default"})
scan_id = r.json().get("scan_id")

# 상태 폴링
while True:
    s = requests.get(f"{BASE}/scan/{scan_id}/status", headers=HEADERS)
    status = s.json().get("status")
    if status == "completed":
        break
    time.sleep(5)

# 결과 다운로드
res = requests.get(f"{BASE}/scan/{scan_id}/report", headers=HEADERS)
with open('report.html','wb') as f:
    f.write(res.content)

스캔 정책과 프로파일

Burp Suite는 다양한 스캔 정책(예: 느린 스캔, 적극적 검사)을 제공한다. REST API에서 정책 ID나 프로파일 이름을 지정하면 자동화된 스캔에 정책을 적용할 수 있다. 프로파일을 미리 구성해두면 일관된 결과를 얻을 수 있다.

검증 및 문제 해결

  • 인증 오류: 토큰 유효성 및 권한 확인
  • 네트워크 오류: 방화벽, 포트 접근성 검증
  • 응답 지연: 폴링 간격과 타임아웃 설정

로그를 통해 요청과 응답을 확인하면 원인 파악이 수월하다.

운영 시 고려사항

  • API 토큰은 안전하게 저장하고 주기적으로 회전
  • 스캔 빈도와 리소스 사용량을 조절해 인프라 영향 최소화
  • 테스트 환경에서 설정을 검증한 뒤 운영에 적용

결론

Burp REST API 사용법을 활용하면 반복적인 보안 검사를 자동화해 개발 사이클에 통합할 수 있다. 위 예제는 기본 흐름을 보여주는 출발점으로, 팀 환경에 맞춰 인증 방식, 정책, 보고서 포맷을 확장하면 실무에서 바로 활용 가능하다. Burp API 스캔 자동화는 보안 품질을 지속적으로 유지하는 데 유용한 도구다.

Burp REST API 사용법 Burp API 스캔 자동화 Burp Suite API 예제 Burp 스캔 자동화 Burp API 인증 Burp 스캔 파이프라인 보안 스캐닝 자동화 Burp REST 예제