Robin: AI-Powered Dark Web OSINT
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Security checks for AI-built apps (Lovable, Supabase, Bolt): RLS, headers, monitoring, fixes.
使っているAIアプリを選んで、設定をコピーしてください。
チェック 4/5 合格 · 質問内容は提供元のサーバー(api.patchlabs.dev)を通ります
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげます · 約 2 分
キー不要、インストール不要 · claude.ai かデスクトップアプリで一度設定すれば、チャットで使えます · 無料アカウントは 1 つまで · Team/Enterprise はオーナー(Owner)が追加
CustomizeConnectors
ここからコピーして Claude の同じ名前の欄に貼り付け、Continue を押します
PatchLabshttps://api.patchlabs.dev/mcpAuthentication は Claude が検出したままにして Add を押します
+ConnectorsPatchLabs
PatchLabs を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が PatchLabs を使っていると言うか、回答に PatchLabs のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT は法人向けプランのみ接続できます
Web 版 ChatGPT Business・Enterprise・Edu で、ワークスペースの管理者かオーナーが追加します · Free・Plus・Pro の場合:あなたの ChatGPT プランではまだ MCP を自分でつなげません
Plugins+Add custom MCP server
名前を入れ、Connection にアドレスを貼り付け、注意事項にチェックして Create as a plugin を押します
PatchLabshttps://api.patchlabs.dev/mcp新しいチャットを開き、入力前にプラグインの一覧から PatchLabs を選びます
PatchLabs を使って、私に何ができるか教えて、1 つやってみせて✓ ChatGPT が PatchLabs を使っていると言うか、回答に PatchLabs のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に OpenAI のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Claude Code につなげます · 約 2 分
キー不要、インストール不要
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
claude mcp add --transport http --scope user patchlabs https://api.patchlabs.dev/mcpPatchLabs が一覧にあり、接続済みと表示されれば OK です
PatchLabs を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が PatchLabs を使っていると言うか、回答に PatchLabs のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげます · 約 2 分
キー不要、インストール不要
PatchLabs を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が PatchLabs を使っていると言うか、回答に PatchLabs のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげます · 約 2 分
キー不要、インストール不要
PatchLabs を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が PatchLabs を使っていると言うか、回答に PatchLabs のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください
Web 経由でつなぐアプリ用のアドレス
https://api.patchlabs.dev/mcpJSON 設定は下の「開発者向け」にあります
Claude Code
claude mcp add --transport http --scope user patchlabs https://api.patchlabs.dev/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"patchlabs": {
"url": "https://api.patchlabs.dev/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"patchlabs": {
"type": "http",
"url": "https://api.patchlabs.dev/mcp"
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
インターネット経由でつなげるアプリ
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
ツールの名前と説明は、サーバーが2026年11月11日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。
rls_checkScan a public repo's supabase/migrations for row-level-security mistakes (static analysis, no sign-up).
headers_checkGrade a public site's HTTPS, TLS certificate, security headers and cookie flags from one load of its home page (no sign-up). Returns findings PL-027..PL-036 with fixes.
start_checkRequest the full lab check. Returns a check id and a link; the repo owner proves ownership with a one-line file.
get_checkStatus, summary, report and fix for a check id.
list_appsApps monitored in the API key's workspace, with their last check. Needs X-API-Key.
run_checkQueue a check for a monitored app now. Needs X-API-Key.
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
レジストリ名はドメイン patchlabs.dev で確認済みです(レジストリがドメインの所有を確認しています)
コードの最終更新:昨日
リポジトリにライセンスファイルが見つかりません
250ミリ秒で応答(HTTP 200)
サインイン不要
6件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
まだレビューはありません
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック5項目のうち4項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は昨日、最新バージョン(3.1.0)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URL で接続するので、リモート MCP に対応したアプリでも使えます(例:ChatGPT Business 以上)。
同じカテゴリには:Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Local-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.
Analyze code quality and security with SonarQube Server or Cloud directly in AI assistants.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Leak checks and tested fixes for AI-built apps: https://patchlabs.dev
| Part | Where | Runs on |
|---|---|---|
docs/ | Website: landing page, check status and report page, privacy | GitHub Pages (patchlabs.dev) |
api/ | FastAPI: checks, accounts, workspaces, monitored apps, receipts, free RLS tool, MCP (see API below) | Azure Container Apps (api.patchlabs.dev) |
db/schema.sql | Postgres schema, idempotent and additive; applied by the API on start | Azure Database for PostgreSQL, database patchlabs |
worker/ | Takes verified checks, runs the lab pipeline (Docker + Claude Code), posts reports; deletes run folders older than 30 days | Manraj's Mac, kept alive by launchd |
POST /checks.patchlabs-verify.txt with a one-time code → POST /checks/{id}/verify.POST /worker/claim), rebuilds the database from the repo's migrations in a lab, finds personal data the wrong people can read, has the fix agent write a fix (Haiku first, escalating to Sonnet then Opus only if the lab proof fails), and posts the report (POST /worker/checks/{id}/result).Contract: SPEC.md. JSON everywhere; errors are {"detail": "..."}. Signed-in calls send Authorization: Bearer , CI calls send X-API-Key: pl_live_..., worker and admin calls send their bearer tokens.
| Module | Endpoints | |||||||
|---|---|---|---|---|---|---|---|---|
app.py | GET /health, POST /checks, GET /checks/{id}, POST /checks/{id}/verify, `POST /worker/heartbeat\ | claim (claim also runs the scheduler), POST /worker/checks/{id}/result, GET /admin/checks` | ||||||
accounts.py | POST /workspaces/{wid}/webhook/rotate-secret, `POST /auth/start\ | finish\ | logout, POST /invites/accept, GET\ | PATCH\ | DELETE /me, GET /me/export, GET /me/checks, GET\ | PATCH /workspaces/{wid}, POST /workspaces/{wid}/webhook/test, POST /workspaces/{wid}/invites, DELETE /workspaces/{wid}/invites/{id}, PATCH\ | DELETE /workspaces/{wid}/members/{uid}, GET\ | POST /workspaces/{wid}/api-keys, DELETE /workspaces/{wid}/api-keys/{kid}, POST /workspaces/{wid}/upgrade-request, GET /admin/workspaces, PATCH /admin/workspaces/{wid}, GET /admin/upgrade-requests` |
monitor.py | `GET\ | POST /workspaces/{wid}/apps, GET\ | PATCH\ | DELETE /apps/{aid}, POST /apps/{aid}/verify, POST /apps/{aid}/checks, GET /badge/{aid}.svg, GET /public/apps/{aid}, GET /stats, POST /v1/apps/{aid}/checks, GET /v1/checks/{cid}` | ||||
receipts.py | POST /checks/{id}/decision, POST /checks/{id}/answers, GET /checks/{id}/decisions (members), GET /receipts/{id}, GET /.well-known/patchlabs-receipt-key | |||||||
rls.py | POST /tools/rls-check | |||||||
mcp_server.py | POST /mcp (tools: rls_check, start_check, get_check, list_apps, run_check) |
Env: DATABASE_URL, WORKER_TOKEN, ADMIN_TOKEN, SITE_URL, CORS_ORIGINS, SMTP_*, RECEIPT_PRIVATE_KEY (required: base64 of a 32-byte Ed25519 seed, python3 -c "import os,base64;print(base64.b64encode(os.urandom(32)).decode())"; the API refuses to start without it unless PATCHLABS_DEV=1), optional GITHUB_TOKEN, FOUNDER_EMAIL. Test hooks: EMAIL_OUTBOX, GITHUB_API, RAW_GITHUB. Security rules (rate limits, verification, masking): see "Security rules" in SPEC.md.
Webhooks are signed: X-PatchLabs-Signature: v1= . "> with the workspace's whsec_ secret and X-PatchLabs-Timestamp; verification snippet at https://patchlabs.dev/docs/webhooks#security.
Verify a receipt (signed bytes are the receipt as JSON with sorted keys and (",", ":") separators):
import base64, json, urllib.request
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey API, CHECK = "https://api.patchlabs.dev", " " r = json.load(urllib.request.urlopen(f"{API}/receipts/{CHECK}")) k = json.load(urllib.request.urlopen(f"{API}/.well-known/patchlabs-receipt-key")) assert r["key_id"] == k["key_id"], "signed with a different key" msg = json.dumps(r["receipt"], sort_keys=True, separators=(",", ":")).encode() pub = Ed25519PublicKey.from_public_bytes(base64.b64decode(k["public_key"])) pub.verify(base64.b64decode(r["signature"]), msg) # raises InvalidSignature if anything was changed print("receipt is genuine:", r"receipt", r"receipt")
Tests: tools/test-api.sh runs the whole suite in Docker (throwaway postgres:17 + python:3.13-slim) and cleans up after itself; extra arguments go to pytest, e.g. tools/test-api.sh -k webhook -x.
TAG=$(date +%Y%m%d%H%M)
az acr build -r sponsorjobsregistry -t patchlabs-api:$TAG -f api/Dockerfile . az containerapp update -g ics-rg -n patchlabs-api --image sponsorjobsregistry.azurecr.io/patchlabs-api:$TAG
Before the first v2 deploy, set `RECEIPT_PRIVATE_KEY` as a secret on the container app: without it the new image won't start.