위키득계정 ↗
기술

RESTler

RESTler기술
개발 기반
Microsoft Research
입력
OpenAPI 명세
핵심 방식
의존성을 고려한 요청 시퀀스
출력 예
오류 분류와 재현 로그
RESTler는 OpenAPI 명세를 바탕으로 요청 순서를 생성하는 상태 기반 REST API 퍼징 도구다. 요청 사이의 의존성을 추론하고 응답을 활용해 더 깊은 서비스 상태를 탐색한다.

요청 순서가 중요한 이유

어떤 API는 자원을 먼저 만들어야 조회하거나 변경할 수 있다. RESTler는 값을 생산하는 요청과 그 값을 소비하는 요청 사이의 관계를 추론한다. 각 엔드포인트를 독립적으로 한 번씩 호출하는 검사와 달리 여러 요청이 연결된 상태를 분석한다.

명세에서 테스트로

명세를 컴파일해 테스트 문법을 만든 뒤 기본 실행으로 설정과 도달 범위를 점검한다. 이후 선택한 퍼징 모드로 입력과 호출 순서를 확장한다. 인증과 필요한 사전 데이터가 맞지 않으면 명세가 있어도 관심 있는 상태에 도달하지 못할 수 있다.

발견한 오류 다루기

서버 오류 응답 외에도 추가 검사기로 자원 관리나 계층 관계 문제를 찾는다. 오류는 분류된 묶음과 재현 로그로 확인할 수 있다. 실제 요청이 서비스 상태를 바꾸므로 격리된 검사 환경에서 실행하고 생성한 자원의 정리까지 고려한다.

관련 문서

Schemathesis / FuzzTest