BLA
BLA (Blind LLM Agents) is the open-source Blue Defense MCP and CLI built to protect software artifacts against automated AI reverse-engineering workflows.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
MITM proxy built for reverse engineering LLM-ready output · multi-language codegen · sign algorithm inference · native desktop GUI Existing tools (Burp Suite, mitmproxy, HTTP Toolkit) are built for web security testing — not for reverse engineering mobile apps. Cap fills the gap: [README 설치·사용 부분 발췌] Install Full build with GUI (Wails + Svelte)檢視完整 README ↗
Existing tools (Burp Suite, mitmproxy, HTTP Toolkit) are built for web security testing — not for reverse engineering mobile apps. Cap fills the gap:
| Capability | Burp Suite | mitmproxy | HTTP Toolkit | cap |
|---|---|---|---|---|
| CLI-first automation | ✗ GUI only | ✓ mitmdump | ✗ GUI only | ✓ |
| Native desktop GUI | ✗ Java/Swing | △ mitmweb (basic) | ✓ Electron | ✓ Wails (native) |
| LLM/Agent-ready output | ✗ XML/HAR | △ HAR (verbose) | △ HAR | ✓ compact JSONL |
| Multi-language codegen | ✗ | △ curl + Python | ✗ | ✓ 5 languages |
| Sign param auto-detect | ✗ | ✗ | ✗ | ✓ |
| Sign algorithm inference | ✗ | ✗ | ✗ | ✓ MD5/SHA/HMAC |
| Static analysis mapping | ✗ | ✗ | ✗ | ✓ jadx → URL |
| One-cmd Android setup | ✗ | ✗ | △ app-based | ✓ ADB direct |
| Cert inject (Android 10+) | ✗ manual | ✗ manual | ✓ | ✓ mount --bind + Magisk |
| WebSocket capture | ✓ | ✓ | ✓ | ✓ |
| SSE stream capture | ✗ | △ | ✗ | ✓ |
| Request replay + diff | ✓ Repeater | ✗ | ✗ | ✓ |
| Embedded terminal | ✗ | ✗ | ✗ | ✓ multi-tab PTY |
| API auto-grouping | ✗ | ✗ | ✗ | ✓ host + path prefix |
| Flow comparison | ✗ | ✗ | ✗ | ✓ side-by-side diff |
| Sequence replay | ✗ | ✗ | ✗ | ✓ token propagation |
| Protobuf decode | ✗ addon | △ addon | ✗ | ✓ schema-less |
| Traffic dashboard | ✗ | ✗ | ✗ | ✓ P95/timeline/errors |
| HAR/Charles import | ✓ | ✓ | ✓ | ✓ |
| Plugin system | ✓ BApp | ✓ addon | ✗ | ✓ live editor |
| Single binary | ✗ JVM | ✗ Python | ✗ Electron | ✓ Go |
| Open source | ✗ ($449/yr) | ✓ | △ core only | ✓ MIT |
flowchart TB
subgraph Client["Client Layer"]
CLI["cap CLI<br/>(cobra)"]
GUI["cap GUI<br/>(Wails native)"]
TTY["Embedded Terminal<br/>(PTY)"]
end
subgraph Core["Core Engine"]
PROXY["MITM Proxy<br/>(goproxy)"]
STORE["Flow Store<br/>(SQLite WAL)"]
REPLAY["Request Replay<br/>+ Diff Engine"]
end
subgraph Analysis["Analysis Layer"]
SIGN["Sign Inference<br/>(MD5/SHA/HMAC)"]
CONTEXT["Source Mapper<br/>(jadx scanner)"]
DETECT["Param Detector<br/>(sign/ts/nonce)"]
end
subgraph Export["Export Layer"]
CODEGEN["Code Generator<br/>(curl/py/go/java/js)"]
AGENT["Agent Exporter<br/>(compact JSONL)"]
end
subgraph Capture["Capture Layer"]
WS["WebSocket<br/>Frame Parser"]
SSE["SSE Stream<br/>Parser"]
end
subgraph Device["Device Layer"]
ADB["Android ADB<br/>(proxy + cert)"]
end
CLI --> PROXY
GUI --> PROXY
GUI --> TTY
PROXY --> STORE
PROXY --> WS
PROXY --> SSE
WS --> STORE
SSE --> STORE
STORE --> CODEGEN
STORE --> AGENT
STORE --> SIGN
STORE --> REPLAY
CONTEXT --> STORE
DETECT --> STORE
ADB --> PROXY
style Client fill:#2d5aa0,color:#fff
style Core fill:#1a6b3c,color:#fff
style Analysis fill:#8b5e3c,color:#fff
style Export fill:#6b3a8a,color:#fff
style Capture fill:#8a3a3a,color:#fff
style Device fill:#3a6b8a,color:#fff
sequenceDiagram
participant Phone as Android Device
participant Proxy as cap Proxy
participant Store as SQLite
participant Detect as Param Detector
participant Sign as Sign Inference
participant Export as Exporter
Phone->>Proxy: HTTP/HTTPS request
Proxy->>Proxy: MITM intercept
Proxy->>Store: Save Flow
Proxy->>Phone: Forward to server
Phone-->>Proxy: Response
Proxy-->>Store: Update Flow (response)
Proxy-->>Phone: Forward response
Store->>Detect: Analyze params
Detect-->>Store: Tag sign_params
Store->>Sign: Analyze sign values
Sign-->>Store: Algorithm guess
Store->>Export: cap export
Export-->>Export: cURL / Python / JSONL
flowchart LR
types["types<br/>Flow, WSFrame, SSEEvent"]
store["store<br/>Store interface"]
sqlite["store/sqlite<br/>SQLite impl"]
proxy["proxy<br/>MITM core"]
android["android<br/>ADB setup"]
context["context<br/>jadx mapper"]
codegen["export/codegen<br/>5 languages"]
agent["export/agent<br/>JSONL"]
sign["sign<br/>inference"]
replay["replay<br/>replay + diff"]
capture["capture<br/>WS + SSE"]
cli["cli<br/>cobra commands"]
gui["gui<br/>Wails desktop"]
sqlite --> store --> types
proxy --> types
android -.-> proxy
context --> types
codegen --> types
agent --> types
sign --> types
replay --> types
capture --> types
cli --> proxy & sqlite & codegen & agent & android & context
gui --> proxy & sqlite & codegen & agent & android & sign & replay
style types fill:#e8b4b8
style cli fill:#b4cce8
style gui fill:#b4cce8
Three-strategy CA cert installation for modern Android:
cap export --flow f1 --lang curl # cURL command
cap export --flow f1 --lang python # requests library
cap export --flow f1 --lang go # net/http
cap export --flow f1 --lang java # OkHttp3
cap export --flow f1 --lang js # fetch API
{"ts":1696200000,"method":"POST","url":"https://api.com/login","req_headers":{"Content-Type":"application/json"},"req_body":{"user":"test","sign":"a3b2c1"},"status":200,"resp_body":{"token":"eyJ..."},"sign_params":["sign","ts"],"latency_ms":120}
Analyzes sign parameters across multiple requests to guess the algorithm:
# Scan jadx decompiled output
cap context import --jadx ./jadx-output/
# Captured flows now show source references:
# POST /api/v1/login → com/example/api/LoginApi.java:42 (method: login)
Scans for:
@POST, @GET, etc.)Request.Builder patternsNative Wails-based desktop app (Go + Svelte, single binary, no Electron):
Automatically groups captured flows by host and path prefix — see your target app's full API structure at a glance.
Select two flows and see a structured side-by-side diff: URL, headers, JSON body keys, latency percentage change.
Record a sequence of flows (login → fetch → submit), save it, replay with automatic token/cookie propagation between steps.
Schema-less protobuf decoder — automatically detects and decodes binary protobuf responses without needing a .proto file.
Aggregated statistics: requests by host/status/method, P95 latency, error rate, top slowest endpoints, per-minute timeline.
Import existing captures from HAR files or Charles proxy XML exports — zero migration friction.
Built-in plugin editor with 3 example plugins. Write JavaScript-style analysis scripts, test against captured flows, save and toggle on/off.
git clone https://github.com/overkazaf/cap.git
cd cap
go build -o cap ./cmd/cap
./cap --help
# Prerequisites
# - Go 1.21+
# - Node.js 18+
# - Xcode Command Line Tools (macOS): xcode-select --install
# 1. Clone
git clone https://github.com/overkazaf/cap.git
cd cap
# 2. Build frontend
cd frontend
npm install
npx vite build
cd ..
# 3. Copy frontend assets for embedding
cp -r frontend/dist cmd/cap/frontend/dist
# 4. Build Go binary with Wails (macOS)
CGO_LDFLAGS="-framework UniformTypeIdentifiers" \
go build -tags desktop,production -o cap ./cmd/cap
# 5. Run
./cap gui # Desktop GUI
./cap start # CLI proxy only
# Same steps but without the CGO_LDFLAGS framework flag:
go build -tags desktop,production -o cap ./cmd/cap
Requirements:
libgtk-3-dev libwebkit2gtk-4.0-dev (for Wails WebView)# 1. Start proxy (listens on all interfaces)
cap start -a 0.0.0.0:8080
# 2. Connect Android device
cap android connect
# 3. Use the phone — traffic flows through cap
# 4. View captured requests
cap flows
# 5. Export for analysis
cap export --flow f1 --lang all # code in 5 languages
cap export --format agent | llm chat # feed to your LLM
# 6. Or use the GUI
cap gui
internal/
├── types/ Flow, WSFrame, SSEEvent structs
├── proxy/ goproxy MITM, CA cert gen, header filter
├── store/sqlite/ SQLite with WAL, filtering, JSON codec
├── export/
│ ├── codegen/ Go templates → curl/python/go/java/js
│ └── agent/ Compact JSONL + sign param detection
├── android/ ADB device setup, 3-strategy cert install
├── context/ jadx scanner, Retrofit/OkHttp parser, URL matcher
├── sign/ Length analysis, pattern matching, brute-force verify
├── replay/ HTTP replay, request modification, response diff
├── capture/ WebSocket frame parser, SSE stream parser
├── compare/ Side-by-side flow comparison with structured diff
├── grouping/ API auto-grouping by host + path prefix
├── importer/ HAR and Charles proxy XML import
├── proto/ Schema-less protobuf wire format decoder
├── sequence/ Request sequence record/replay with variable propagation
├── stats/ Traffic statistics (P95, error rate, timeline)
├── plugin/ Plugin engine with save/load/toggle
├── wailsgui/ Wails backend bindings for all modules
├── cli/ Cobra commands: start/flows/export/android/gui
└── gui/ Legacy Fyne GUI (deprecated, use Wails)
frontend/ Svelte SPA (Capture, Flows, Terminal, Plugins, Settings)
MIT
Issues and PRs welcome. See CONTRIBUTING.md for guidelines.