ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Leakferret

โดย leakferrethqรุ่น 0.1.13i★ –iรันบนเครื่อง
ชื่อใน registryio.github.leakferrethq/leakferret

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Context-aware secret scanner: lets an AI agent scan, verify, and rewrite secrets before committing.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ความปลอดภัยไซเบอร์

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "leakferret": {
      "command": "npx",
      "args": [
        "-y",
        "@leakferret/mcp"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add leakferret -- npx -y @leakferret/mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "leakferret": {
      "command": "npx",
      "args": [
        "-y",
        "@leakferret/mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "leakferret": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@leakferret/mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub leakferrethq ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ความปลอดภัยไซเบอร์i

  • ดาวมากกว่า 0% ของอีก 994 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 19% ของอีก 994 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 994 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Leakferret ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.13) เข้า registry 5 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี SML Risk Firewall, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

SML Risk Firewall

โดย scriptmasterlabs.com

Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

Look up location, network, company and threat data for IP addresses and ASNs in ipdata.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

MCP-native secret scanner — verified findings, agent-applied rewrites.

leakferret is one fast Rust binary that is engine, CLI, and MCP server. It finds hardcoded secrets in your code, calls the provider to confirm which ones are actually live, and rewrites the leak in place to read from an environment variable. It runs in your terminal, in CI, and as a tool your coding agent calls before it commits — and the raw secret never leaves your machine.


What it looks like

Say you accidentally commit a real key, plus the usual noise:

# .env  — every key below is fabricated for this example

STRIPE_SECRET_KEY=sk_live_FAKE_example_not_a_real_key # fabricated GITHUB_TOKEN=ghp_FAKE_example_not_a_real_token # fabricated SENDGRID_API_KEY=${SENDGRID_API_KEY} # a reference — not a leak ADMIN_PASSWORD=changeme # a placeholder — not a leak AWS_ACCESS_KEY_ID=[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก] # AWS's public docs example

leakferret verify calls each provider and tells you what is real and live — and stays quiet on the rest:

$ leakferret verify .

.env L2 UNKNOWN CRITICAL stripe_secret sk_l..._key L3 VERIFIED CRITICAL github_token ghp_...oken ← live, rotate it now

2 findings · 1 verified · 1 unknown

The keys above are fabricated, so the VERIFIED line illustrates what a genuinely live key reports — on these examples both would be UNKNOWN.

The ${SENDGRID_API_KEY} reference, the changeme placeholder, and the well-known [PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก] example are recognized and left out — that precision is the point. Then leakferret rewrite --apply rewrites the hardcoded key in your code (it leaves .env files alone — there's nothing sensible to rewrite a secret *to* there):

  # app/billing.rb  (fabricated example)
  • Stripe.api_key = "sk_live_FAKE_example_not_a_real_key" # fabricated
  • Stripe.api_key = ENV.fetch("STRIPE_API_KEY")

…and appends STRIPE_API_KEY= to .env.example with a seed command for your secret manager. Find → confirm live → fix, with almost no false alarms.

The full secret value never leaves your machine. Only a redacted

AKIA...4XYZ preview is ever written to a report, log, or network message.


Quick start

Install however you like — every package ships the same prebuilt binary.

# Ruby gem

gem install leakferret

npm (CLI)

npm i -g @leakferret/cli

Go

go install github.com/leakferrethq/leakferret-go/cmd/leakferret@latest

Native binary — download from GitHub Releases, unpack, and put it on $PATH:

https://github.com/leakferrethq/leakferret/releases

Rust, from source

cargo install leakferret-cli

Then scan the current directory:

leakferret scan .

scan respects .gitignore and also reads dotfiles such as .env. Add --git to walk commit history instead of the working tree.

Every wrapper honors a LEAKFERRET_BIN environment variable pointing at a

local binary, for offline or development use.


How it works

leakferret runs findings through a five-station pipeline. Each station only sees what it needs, and the raw secret never advances past disk.

  1. Scan — a fast regex pre-filter over your files, across 60+ secret types. Respects .gitignore, reads dotfiles like .env, and (with --git) walks history.
  2. Catalog — every candidate is checked against a signed database of *known-public* example credentials: Stripe test keys, [PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก], jwt.io samples, RFC examples. Matches are marked FIXTURE so documented examples never raise a false alarm. The catalog is bundled with the binary and can be refreshed and signature-verified.
  3. Classify — each remaining candidate gets a verdict: REAL, FIXTURE, or UNKNOWN. This runs offline by default (path rules plus dummy-marker heuristics), or asks the host editor or agent's own language model — no extra API key, no added cost.
  4. Verify — makes a single harmless API call to the provider to confirm a key is LIVE. Around 25 providers are covered natively (AWS SigV4, GitHub, GitLab, Stripe, OpenAI, Anthropic, Slack, Twilio, SendGrid, Mailgun, Datadog, Heroku, npm, PyPI, DigitalOcean, Hugging Face, Groq, Replicate, Notion, Postman, Figma, Linear, Square, Shopify, Databricks), with a trufflehog binary fallback for the rest. The call goes straight from your machine to the provider — leakferret has no servers.
  5. Rewrite — swaps a hardcoded literal for an environment-variable lookup (ENV.fetch / os.environ / process.env), appends a line to .env.example, and prints seed commands for your secret manager (env, Vault, Doppler, AWS Secrets Manager, or Infisical).

A baseline stores one-way HMAC fingerprints of known findings — never the raw secret — so CI can fail only on *new* leaks.


Use it with AI agents (MCP)

MCP (Model Context Protocol) is the open standard for giving coding agents tools. Agents hardcode secrets too, and nobody reviews their diffs line by line — leakferret lets the agent self-check before it commits.

Start the server over JSON-RPC on stdio:

npx @leakferret/mcp

Add it to your mcpServers config (Claude Desktop, Cursor, Continue, Claude Code):

{

"mcpServers": { "leakferret": { "command": "npx", "args": ["@leakferret/mcp"] } } }

For Claude Code, save that block as .mcp.json in your project root, or add it with one command:

claude mcp add leakferret -- npx -y @leakferret/mcp

If you installed the native binary, you can point at it directly instead:

{

"mcpServers": { "leakferret": { "command": "leakferret", "args": ["mcp"] } } }

leakferret is also listed in the MCP Registry as io.github.leakferrethq/leakferret, so registry-aware clients can discover it.

Tools exposed: scan_repository, classify_candidates, verify_finding, propose_rewrite, and baseline_diff. A classify prompt is also provided so an agent can classify candidates inline using the model it already has. Two read-only resources expose the engine's catalog as context: leakferret://secret-types (every detectable pattern) and leakferret://verifiers (the live-verification providers).


How it compares

gitleakstrufflehogdetect-secretsGitGuardianleakferret
Live provider verification—✓—✓✓
In-place env-var rewrite————✓
MCP server for AI agents————✓
Baseline (fail only on new)——✓✓✓
SARIF / Code Scanning✓✓—✓✓
Free, local, no account✓✓✓—✓

gitleaks is the fastest pre-commit regex blocker. trufflehog set the bar for live verification. detect-secrets owns the baseline-a-legacy-repo workflow. GitGuardian is the paid platform with the broadest detectors and a dashboard. leakferret does the regex pre-filter, verifies which keys are live, rewrites the leak to an env var, and runs as an MCP server so coding agents check their own diffs. Full writeup: leakferret.com/compare.


CLI reference

leakferret scan      Regex pre-filter only (no classifier, no verifier)

leakferret verify Scan + classify + provider verification leakferret rewrite Scan + classify + propose/apply ENV-fetch rewrites leakferret org Scan every public repo owned by a GitHub user/org leakferret baseline Manage the per-repo fingerprint baseline leakferret catalog Load and inspect the fixture catalog leakferret mcp Start the MCP server on stdio

Scan a whole GitHub account or org in one go (handy for finding leaks across all your public repos before someone else does):

leakferret org leakferrethq            # all public repos for that owner

leakferret org myco --token "$GITHUB_TOKEN" --format sarif > leaks.sarif

Common flags:

# scan

leakferret scan . # working tree leakferret scan . --git # scan HEAD's commit history leakferret scan . --git --all # scan every branch / tag leakferret scan . --git --since HEAD~50 # bounded history window

verify

leakferret verify . # best-effort verification leakferret verify . --verify-mode none --fail-on any # offline gate: exit 1 on any finding leakferret verify . --only-verified # emit only confirmed-live keys leakferret verify . --verify-mode ever-verified # fail on historical leaks leakferret verify . --verifier-timeout-secs 10

rewrite

leakferret rewrite . --apply # write ENV.fetch in place leakferret rewrite . --dry-run-diff # show the diff, touch nothing leakferret rewrite . --check # CI mode: exit 1 if rewrites pending leakferret rewrite . --apply --include-unknown # also fix UNKNOWN (unconfirmed) candidates leakferret rewrite . --backend doppler # seed cmds for your manager

baseline (scan/verify are read-only — they never write to your repo)

leakferret baseline init # create .leakferret-baseline.json (gitignores the salt) leakferret verify . --update-baseline # record current findings into the baseline leakferret baseline show leakferret baseline ignore --fingerprint # acknowledge a finding

catalog

leakferret catalog info leakferret catalog test "sk_test_4eC39..." # deterministic FIXTURE verdict leakferret catalog refresh # fetch + signature-verify update

Shared flags on scan / verify / rewrite: --format, --show-fixtures, --exclude , --only , --only-verified, --fail-on . --backend accepts env, vault, doppler, aws-secrets-manager, infisical.


Block commits locally (pre-commit hook)

Catch a secret before it is ever committed. From your repo root:

cat > .git/hooks/pre-commit <<'HOOK'

#!/bin/sh

Offline secret scan (no network). Blocks the commit on any finding.

leakferret verify . --verify-mode none --fail-on any || { echo "leakferret blocked this commit. Bypass: git commit --no-verify" exit 1 } HOOK chmod +x .git/hooks/pre-commit

--verify-mode none keeps it fully offline; --fail-on any exits non-zero on any non-fixture finding (documented examples like [PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก] are still ignored). Pair it with `leakferret baseline

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx