Loading...
Loading...
Compare original and translation side by side
🔴 CRITICAL: PROGRESSIVE FILE UPDATES REQUIREDYou MUST write to context files AS YOU GO, not just at the end.
- Write to
IMMEDIATELY after each discovery.sb-pentest-context.json- Log to
BEFORE and AFTER each action.sb-pentest-audit.log- DO NOT wait until the skill completes to update files
- If the skill crashes or is interrupted, all prior findings must already be saved
This is not optional. Failure to write progressively is a critical error.
🔴 重要提示:需逐步更新文件你必须逐步写入上下文文件,而不是只在最后统一写入。
- 每次发现后立即写入
.sb-pentest-context.json- 每次操作前后都要记录到
.sb-pentest-audit.log- 不要等到技能完成后才更新文件
- 如果技能崩溃或被中断,所有已有的发现必须已保存
此要求为强制性,未逐步写入属于严重错误。
*.supabase.co
*.supabase.com
supabase-cdn.com*.supabase.co
*.supabase.com
supabase-cdn.com// Import patterns
import { createClient } from '@supabase/supabase-js'
const { createClient } = require('@supabase/supabase-js')
// Client initialization
supabase.createClient(
createClient('https://
SUPABASE_URL
NEXT_PUBLIC_SUPABASE
VITE_SUPABASE
REACT_APP_SUPABASE// Import patterns
import { createClient } from '@supabase/supabase-js'
const { createClient } = require('@supabase/supabase-js')
// Client initialization
supabase.createClient(
createClient('https://
SUPABASE_URL
NEXT_PUBLIC_SUPABASE
VITE_SUPABASE
REACT_APP_SUPABASE/rest/v1/
/auth/v1/
/storage/v1/
/realtime/v1/
/functions/v1//rest/v1/
/auth/v1/
/storage/v1/
/realtime/v1/
/functions/v1/x-supabase-*
sb-*x-supabase-*
sb-*Check if https://myapp.example.com uses SupabaseCheck if https://myapp.example.com uses SupabaseDetect Supabase on https://myapp.example.com with full detailsDetect Supabase on https://myapp.example.com with full details═══════════════════════════════════════════════════════════
SUPABASE DETECTED
═══════════════════════════════════════════════════════════
Target: https://myapp.example.com
Status: ✅ Supabase usage confirmed
Detection Evidence:
├── Domain: abc123def.supabase.co (found in main.js)
├── Client: @supabase/supabase-js v2.x detected
├── Endpoints: /rest/v1/, /auth/v1/, /storage/v1/
└── Headers: x-supabase-api-version present
Project Reference: abc123def
Project URL: https://abc123def.supabase.co
Context saved to: .sb-pentest-context.json
══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
检测到Supabase
═══════════════════════════════════════════════════════════
目标URL: https://myapp.example.com
状态: ✅ 已确认使用Supabase
检测证据:
├── 域名: abc123def.supabase.co (在main.js中发现)
├── 客户端: 检测到@supabase/supabase-js v2.x
├── 端点: /rest/v1/, /auth/v1/, /storage/v1/
└── 响应头: 存在x-supabase-api-version
项目标识: abc123def
项目URL: https://abc123def.supabase.co
上下文已保存至: .sb-pentest-context.json
══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
DETECTION RESULT
═══════════════════════════════════════════════════════════
Target: https://myapp.example.com
Status: ❌ Supabase not detected
Scanned:
├── HTML source: No Supabase patterns
├── JavaScript bundles: 3 files analyzed, no matches
├── Network patterns: No Supabase endpoints
└── Response headers: No Supabase headers
Note: The app may use a self-hosted Supabase or custom domain.
Try providing a known Supabase URL manually if you have one.
══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
检测结果
═══════════════════════════════════════════════════════════
目标URL: https://myapp.example.com
状态: ❌ 未检测到Supabase
扫描内容:
├── HTML源代码: 无Supabase相关模式
├── JavaScript包: 已分析3个文件,无匹配项
├── 网络模式: 无Supabase端点
└── 响应头: 无Supabase相关头
说明: 该应用可能使用自托管Supabase或自定义域名。
若已知Supabase URL,可手动提供以重新检测。
═══════════════════════════════════════════════════════════.sb-pentest-context.json{
"target_url": "https://myapp.example.com",
"detection": {
"detected": true,
"confidence": "high",
"timestamp": "2025-01-31T10:00:00Z",
"evidence": [
{
"type": "domain",
"value": "abc123def.supabase.co",
"location": "/static/js/main.js",
"line": 1247
},
{
"type": "client_library",
"value": "@supabase/supabase-js",
"version": "2.x"
}
]
},
"supabase": {
"project_ref": "abc123def",
"project_url": "https://abc123def.supabase.co"
}
}.sb-pentest-context.json{
"target_url": "https://myapp.example.com",
"detection": {
"detected": true,
"confidence": "high",
"timestamp": "2025-01-31T10:00:00Z",
"evidence": [
{
"type": "domain",
"value": "abc123def.supabase.co",
"location": "/static/js/main.js",
"line": 1247
},
{
"type": "client_library",
"value": "@supabase/supabase-js",
"version": "2.x"
}
]
},
"supabase": {
"project_ref": "abc123def",
"project_url": "https://abc123def.supabase.co"
}
}.sb-pentest-audit.log[2025-01-31T10:00:00Z] DETECTION_START target=https://myapp.example.com
[2025-01-31T10:00:01Z] FETCH_HTML status=200 size=45KB
[2025-01-31T10:00:02Z] FETCH_JS file=main.js status=200 size=1.2MB
[2025-01-31T10:00:03Z] PATTERN_MATCH type=domain value=abc123def.supabase.co
[2025-01-31T10:00:03Z] DETECTION_COMPLETE result=detected confidence=high.sb-pentest-audit.log[2025-01-31T10:00:00Z] DETECTION_START target=https://myapp.example.com
[2025-01-31T10:00:01Z] FETCH_HTML status=200 size=45KB
[2025-01-31T10:00:02Z] FETCH_JS file=main.js status=200 size=1.2MB
[2025-01-31T10:00:03Z] PATTERN_MATCH type=domain value=abc123def.supabase.co
[2025-01-31T10:00:03Z] DETECTION_COMPLETE result=detected confidence=high| Level | Criteria |
|---|---|
| High | Multiple evidence types (domain + client + endpoints) |
| Medium | Single strong evidence (domain or explicit client init) |
| Low | Only indirect evidence (generic patterns, possible false positive) |
| 等级 | 判定标准 |
|---|---|
| 高 | 存在多种类型证据(域名 + 客户端 + 端点) |
| 中 | 单一强证据(域名或明确的客户端初始化代码) |
| 低 | 仅间接证据(通用模式,可能存在误报) |
api.mycompany.comDetect Supabase on https://myapp.com with custom API domain api.mycompany.comapi.mycompany.comDetect Supabase on https://myapp.com with custom API domain api.mycompany.com.supabase.co/rest/v1//auth/v1/.supabase.co/rest/v1//auth/v1/Detect Supabase on https://myapp.com including all JS chunksDetect Supabase on https://myapp.com including all JS chunks--quickQuick detect Supabase on https://myapp.com--quickQuick detect Supabase on https://myapp.comsupabase-extract-urlsupabase-extract-anon-keysupabase-pentestsupabase-extract-urlsupabase-extract-anon-keysupabase-pentest.sb-pentest-audit.log.sb-pentest-context.json.sb-pentest-audit.log.sb-pentest-audit.log.sb-pentest-context.json.sb-pentest-audit.log.sb-pentest-context.json{
"target_url": "https://myapp.example.com",
"detection": {
"detected": true,
"confidence": "high",
"timestamp": "...",
"evidence": [ ... ]
},
"supabase": {
"project_ref": "abc123def",
"project_url": "https://abc123def.supabase.co"
}
}.sb-pentest-audit.log[TIMESTAMP] [supabase-detect] [START] Starting Supabase detection
[TIMESTAMP] [supabase-detect] [SUCCESS] Supabase detected with high confidence
[TIMESTAMP] [supabase-detect] [CONTEXT_UPDATED] .sb-pentest-context.json created/updated.sb-pentest-context.json{
"target_url": "https://myapp.example.com",
"detection": {
"detected": true,
"confidence": "high",
"timestamp": "...",
"evidence": [ ... ]
},
"supabase": {
"project_ref": "abc123def",
"project_url": "https://abc123def.supabase.co"
}
}.sb-pentest-audit.log[TIMESTAMP] [supabase-detect] [START] 开始Supabase检测
[TIMESTAMP] [supabase-detect] [SUCCESS] 以高置信度检测到Supabase
[TIMESTAMP] [supabase-detect] [CONTEXT_UPDATED] .sb-pentest-context.json已创建/更新.sb-pentest-evidence/01-detection/.sb-pentest-evidence/01-detection/| File | Content |
|---|---|
| Raw detection results with all evidence |
| List of discovered Supabase endpoints |
| Directory with relevant code excerpts |
| 文件 | 内容 |
|---|---|
| 包含所有证据的原始检测结果 |
| 已发现的Supabase端点列表 |
| 存放相关代码片段的目录 |
{
"evidence_id": "DET-001",
"timestamp": "2025-01-31T10:00:00Z",
"category": "detection",
"target_url": "https://myapp.example.com",
"detection_results": {
"supabase_detected": true,
"confidence": "high",
"project_url": "https://abc123def.supabase.co",
"project_ref": "abc123def"
},
"evidence": [
{
"type": "domain_pattern",
"value": "abc123def.supabase.co",
"location": "/static/js/main.js",
"line": 1247,
"context": "const SUPABASE_URL = 'https://abc123def.supabase.co'"
},
{
"type": "client_library",
"value": "@supabase/supabase-js",
"version": "2.x"
}
],
"curl_command": "curl -s 'https://abc123def.supabase.co/rest/v1/' -H 'apikey: [ANON_KEY]'"
}{
"evidence_id": "DET-001",
"timestamp": "2025-01-31T10:00:00Z",
"category": "detection",
"target_url": "https://myapp.example.com",
"detection_results": {
"supabase_detected": true,
"confidence": "high",
"project_url": "https://abc123def.supabase.co",
"project_ref": "abc123def"
},
"evidence": [
{
"type": "domain_pattern",
"value": "abc123def.supabase.co",
"location": "/static/js/main.js",
"line": 1247,
"context": "const SUPABASE_URL = 'https://abc123def.supabase.co'"
},
{
"type": "client_library",
"value": "@supabase/supabase-js",
"version": "2.x"
}
],
"curl_command": "curl -s 'https://abc123def.supabase.co/rest/v1/' -H 'apikey: [ANON_KEY]'"
}undefinedundefinedundefinedundefinedundefinedundefined01-detection/initial-scan.jsonundefined01-detection/initial-scan.jsonundefinedsupabase-extract-urlsupabase-extract-anon-keysupabase-pentestsupabase-extract-urlsupabase-extract-anon-keysupabase-pentest