문서
AI 코딩 도구에서 AppSafe 사용하기
AppSafe를 Claude Code, Cursor 또는 다른 MCP 클라이언트에 연결하거나, 직접 만든 스크립트에서 REST API를 호출하세요. 에이전트가 인증된 사이트를 스캔하고, 각 발견 항목의 수정 프롬프트를 읽고, 수정을 적용한 뒤 다시 확인하는 과정을 하나의 루프로 처리할 수 있습니다.
API, MCP 서버, 리포트 내보내기는 Pro, Agency, Team 플랜에 포함되어 있습니다.
1. API 키 만들기
대시보드 → 계정 → API 키로 이동해 키 이름을 정하고 복사하세요. 키는 한 번만 표시되며, AppSafe는 해시만 저장합니다. 키는 appsafe_로 시작하며 본인의 사이트에서만 작동합니다.
2. MCP 서버 연결하기
서버는 아래 URL에서 Streamable HTTP를 사용하며, API 키를 Bearer 토큰으로 사용해 인증합니다. YOUR_KEY를 본인의 키로 바꾸세요.
https://appsafe.dev/api/mcpClaude Code
이 명령을 한 번 실행하거나, 프로젝트의 .mcp.json에 JSON을 추가하세요:
claude mcp add --transport http appsafe https://appsafe.dev/api/mcp \
--header "Authorization: Bearer YOUR_KEY"{
"mcpServers": {
"appsafe": {
"type": "http",
"url": "https://appsafe.dev/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}Cursor
이 내용을 ~/.cursor/mcp.json 또는 프로젝트의 .cursor/mcp.json에 추가하세요:
{
"mcpServers": {
"appsafe": {
"url": "https://appsafe.dev/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}기타 MCP 클라이언트: 같은 URL과 Authorization 헤더를 사용하세요.
도구
list_sites: 내 사이트 목록, 인증 여부, 최근 스캔.start_scan: 인증된 사이트의 전체 스캔을 URL로 시작합니다. 인증되지 않은 사이트는 인증 방법 안내와 함께 거부됩니다.get_scan_status: 실행 중, 완료 또는 실패 상태와 점수, 등급, 심각도별 개수.get_report: Markdown(에이전트용으로 작성), JSON 또는 SARIF 형식의 리포트.recheck_finding: 수정 사항을 배포한 후, 발견 항목 하나와 관련된 검사만 다시 실행합니다: 수정됨, 여전히 존재함 또는 판단 불가.
루프
- 에이전트에게 AppSafe로 사이트를 스캔하도록 요청하세요.
- 에이전트가 Markdown 리포트를 읽고 가장 심각한 항목부터 각 수정 프롬프트를 적용합니다.
- AppSafe는 실제 운영 중인 사이트를 스캔하므로, 변경 사항은 직접 배포하세요.
- 에이전트가 각 발견 항목이 수정될 때까지 다시 확인합니다.
프롬프트 예시: “AppSafe로 myapp.com을 스캔하고, 치명적 및 높음 발견 항목을 수정한 다음, 내가 배포하면 다시 확인해 줘.”
REST API
기본 URL: https://appsafe.dev/api/v1. 키는 Authorization 헤더에 Bearer YOUR_KEY 형식으로 보내세요. 모든 엔드포인트는 OpenAPI 명세에 설명되어 있습니다.
| 엔드포인트 | 기능 |
|---|---|
| GET /sites | 내 사이트 목록 조회 |
| POST /scans | 인증된 사이트의 전체 스캔 시작(siteId 또는 url) |
| POST /sites/{id}/scans | 사이트 하나 재스캔 |
| GET /scans/{id} | 스캔 상태, 점수, 등급, 심각도별 개수 |
| GET /scans/{id}/findings | 증거, 수정 프롬프트, 재확인용 ref가 포함된 발견 항목 |
| GET /scans/{id}/report?format=markdown | markdown, json 또는 sarif 형식의 리포트 |
| POST /findings/recheck | ref로 발견 항목 하나 다시 확인 |
예시
curl -X POST https://appsafe.dev/api/v1/scans \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://myapp.com"}'
curl "https://appsafe.dev/api/v1/scans/SCAN_ID/report?format=markdown" \
-H "Authorization: Bearer YOUR_KEY"리포트 내보내기
완료된 모든 스캔은 AI 에이전트용으로 작성된 Markdown(각 발견 항목의 증거, 영향을 받는 URL, 수정 프롬프트, 확인 방법) 또는 코드 스캐닝 도구용 SARIF 2.1.0으로 내보낼 수 있습니다. 대시보드의 스캔에서 다운로드하거나 리포트 엔드포인트를 사용하세요.
제한 및 안전
- 계정당 15분마다 API 요청 120건(재확인 30건)과 함께, 플랜의 일일 및 동시 스캔 한도가 적용됩니다.
- 전체 스캔과 재확인은 소유권이 인증된 사이트에서만 실행됩니다.
- 시크릿은 모든 응답에서 가려지며, 데이터베이스 발견 항목에는 테이블과 필드 이름만 표시되고 실제 데이터는 절대 포함되지 않습니다.
- 키는 계정에서 언제든지 해지할 수 있으며, 해지 즉시 작동이 중지됩니다.