Dokumentasi
Gunakan AppSafe dari AI coding tool-mu
Hubungkan AppSafe ke Claude Code, Cursor, atau klien MCP lainnya, atau panggil REST API dari skrip-mu sendiri. Agenmu bisa memindai situs terverifikasi, membaca prompt perbaikan tiap temuan, menerapkan perbaikannya, lalu memeriksanya ulang, semuanya dalam satu siklus.
API, server MCP, dan ekspor laporan sudah termasuk dalam paket Pro, Agency, dan Team.
1. Buat kunci API
Buka Dashboard → Akun → Kunci API, beri nama kunci lalu salin. Kunci hanya ditampilkan sekali, dan AppSafe hanya menyimpan hash-nya. Kunci diawali dengan appsafe_ dan hanya bekerja pada situs milikmu sendiri.
2. Hubungkan server MCP
Server ini memakai Streamable HTTP di URL di bawah dan melakukan autentikasi dengan kunci API-mu sebagai bearer token. Ganti YOUR_KEY dengan kuncimu.
https://appsafe.dev/api/mcpClaude Code
Jalankan ini sekali, atau tambahkan JSON-nya ke .mcp.json di proyekmu:
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
Tambahkan ini ke ~/.cursor/mcp.json, atau ke .cursor/mcp.json di proyekmu:
{
"mcpServers": {
"appsafe": {
"url": "https://appsafe.dev/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}Klien MCP lain: gunakan URL dan header Authorization yang sama.
Tools
list_sites: Situs-situsmu, apakah sudah terverifikasi, dan pemindaian terakhirnya.start_scan: Memulai pemindaian penuh pada situs terverifikasi, berdasarkan URL. Situs yang belum terverifikasi ditolak, disertai petunjuk cara memverifikasinya.get_scan_status: Sedang berjalan, selesai, atau gagal, beserta skor, nilai, dan jumlah per tingkat keparahan.get_report: Laporan dalam format Markdown (ditulis untuk agen), JSON, atau SARIF.recheck_finding: Setelah kamu men-deploy perbaikan, menjalankan ulang hanya pemeriksaan di balik satu temuan: sudah diperbaiki, masih ada, atau tidak dapat dipastikan.
Siklusnya
- Minta agenmu memindai situsmu dengan AppSafe.
- Agen membaca laporan Markdown dan menerapkan tiap prompt perbaikan, dimulai dari yang paling parah.
- Kamu men-deploy perubahannya, karena AppSafe memindai situs live.
- Agen memeriksa ulang tiap temuan sampai diperbaiki.
Contoh prompt: “Pindai myapp.com dengan AppSafe, perbaiki temuan critical dan high, lalu periksa ulang setelah aku deploy.”
REST API
URL dasar: https://appsafe.dev/api/v1. Kirim kuncimu di header Authorization sebagai Bearer YOUR_KEY. Spesifikasi OpenAPI menjelaskan setiap endpoint.
| Endpoint | Fungsinya |
|---|---|
| GET /sites | Daftar situsmu |
| POST /scans | Mulai pemindaian penuh pada situs terverifikasi (siteId atau url) |
| POST /sites/{id}/scans | Pindai ulang satu situs |
| GET /scans/{id} | Status pemindaian, skor, nilai, dan jumlah per tingkat keparahan |
| GET /scans/{id}/findings | Temuan beserta bukti, prompt perbaikan, dan ref untuk pemeriksaan ulang |
| GET /scans/{id}/report?format=markdown | Laporan dalam format markdown, json, atau sarif |
| POST /findings/recheck | Periksa ulang satu temuan berdasarkan ref-nya |
Contoh
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"Ekspor laporan
Setiap pemindaian yang selesai bisa diekspor sebagai Markdown yang ditulis untuk agen AI (bukti, URL terdampak, prompt perbaikan, dan cara memverifikasi tiap temuan) atau sebagai SARIF 2.1.0 untuk tool code scanning. Unduh dari pemindaian di dashboard-mu, atau gunakan endpoint laporan.
Batas dan keamanan
- 120 permintaan API per 15 menit per akun (30 pemeriksaan ulang), ditambah batas pemindaian harian dan bersamaan sesuai paketmu.
- Pemindaian penuh dan pemeriksaan ulang hanya berjalan pada situs yang sudah kamu verifikasi sebagai milikmu.
- Secret disamarkan di setiap respons, dan temuan database hanya mencantumkan nama tabel dan kolom, tidak pernah datamu.
- Kamu bisa mencabut kunci kapan saja di akunmu. Kunci langsung berhenti berfungsi.