웹취약점 분석 요청 API
POSThttps://ondemand.sparrowcloud.ai/api/v1/analysis/tool/dast
설명
웹에 게시된 사이트의 취약점를 분석하기 위해 사용자가 API 요청을 전송하고 해당 요청의 상태에 대한 응답을 수신할 수 있습니다.
요청
a. 분석할 URL의 정보 및 분석의 범위와 정도를 설정할 분석 옵션 정보 및 b. 분석 결과를 전달 받을 콜백 URL 정보가 필요합니다. 요청을 참고하여 API를 입력하세요.
응답
분석 요청을 전송한 직후에 성공 또는 실패 응답을 받게 됩니다. 자세한 내용은 웹취약점 분석 요청 API의 응답을 참고하세요.
콜백
요청에 입력한 콜백 정보에 따라 진행 상황 혹은 분석 완료 콜백을 받게 됩니다. 자세한 내용은 콜백을 참고하세요.
정보
분석 요청 과정에 대한 정보는 분석 요청과 콜백을 참고하세요.
요청
{
"resultVersion": `2`,
"memo": "test memo",
"dastOptions": {
"crawlerTargetSeedUrls": ["http://52.78.58.6:38380/dcta-for-java/hostHeader"],
"crawlerCrawlMaxUrl": 999,
"commonRecordsLogin": ["eyJ2ZXJzaW9uIjoiMS4xIiwic2VlZFVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS8iLCJkYXN0RXZlbnRMaXN0IjpbeyJkYXRhIjp7InRhYklkIjoxODEzODAzNDY0LCJ2YWx1ZSI6IiIsIndpbmRvd0lkIjoxODEzODAzNDYzLCJ4cGF0aCI6Ii9IVE1MWzFdL0JPRFlbMV0vRElWWzFdL0RJVlsxXS9IRUFERVJbMV0vRElWWzFdL0RJVlsxXS9ESVZbMl0vRElWWzJdL05BVlsxXS9VTFsxXS9MSVsxXS9BWzFdL1NQQU5bMV0ifSwiZXZlbnRWYWxpZGF0aW9uIjpmYWxzZSwiZnJvbVVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS8iLCJpbnRlcnZhbCI6MCwidGltZXN0YW1wIjoyNzMxLCJ0eXBlIjoiZGFzdC5ldmVudC5wbGFpbi1ldmVudC5jbGljayJ9LHsiZGF0YSI6eyJ0YWJJZCI6MTgxMzgwMzQ2NCwidmFsdWUiOiIiLCJ3aW5kb3dJZCI6MTgxMzgwMzQ2MywieHBhdGgiOiIvSFRNTFsxXS9CT0RZWzFdL0RJVlsxXS9ESVZbNV0vRElWWzFdL0RJVlsxXS9BU0lERVsxXS9ESVZbMV0vRElWWzFdL0xPQURJTkctQ09OVEVYVFsxXS9ESVZbMV0vRElWWzFdL0RJVlsxXS9VTFsxXS9MSVsyXS9ESVZbMV0vRElWWzFdL0FbMV0ifSwiZXZlbnRWYWxpZGF0aW9uIjpmYWxzZSwiZnJvbVVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS8iLCJpbnRlcnZhbCI6MCwidGltZXN0YW1wIjozMjcyLCJ0eXBlIjoiZGFzdC5ldmVudC5wbGFpbi1ldmVudC5jbGljayJ9XX0="]
}
}
응답
✔️ 성공 응답
요청 성공
분석 요청을 정상적으로 처리하면 200 OK와 함께 다음과 같은 응답을 받습니다.
{
"requestId": "REQUEST_ID",
"result": "SUCCESS",
"analysisList": [
{
"analysisId": "ANALYSIS_ID",
"reqestId": "REQUEST_ID",
"status": "INIT",
"toolType": "DAST",
"memo": "MEMO"
}
]
}
❌ 실패 응답
인증 실패
인증 정보가 올바르지 않은 경우 401 Unauthorized 응답을 받습니다.
잘못된 요청
잘못된 요청인 경우 400 Bad Request 응답과 함께 다음 정보를 수신하게 됩니다.
resultCode: 요청에 대한 결과를 코드로 표시합니다. 자세한 내용은 결과 코드 모음을 참고하세요.message: 오류 메시지를 표시합니다.콜백
✅ 분석 상태 콜백
{
"analysisId": "ANALYSIS_ID"
"requestId": "REQUEST_ID"
"type": "ANALYSIS_PROGRESS"
"status": "ANALYSIS"
"progress": null
"step": "STEP"
"totalStep": 5
"updateTime": "YYYY-MM-DDTHH:mm:ss.SSS±HH:mm"
}
☑️ 분석 종료 콜백
{
"analysisId": "ANALYSIS_ID"
"requestId": "REQUEST_ID"
"type": "ANALYSIS_COMPLETE"
"errorCode": null
"analysis": {
"analysisId": 2992
"requestId": 3837
"status": "COMPLETE"
"result": "SUCCESS"
"progress": null
"toolType": "DAST"
"memo": "MEMO"
"startTime": "YYYY-MM-DDTHH:mm:ss.SSS±HH:mm"
"endTime": "YYYY-MM-DDTHH:mm:ss.SSS±HH:mm"
"issueCount": "TOTAL_ISSUES"
}
}