Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Audit AI agent configs for prompt injection & rogue MCP servers; vet packages
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"zyrax-guard": {
"command": "npx",
"args": [
"-y",
"zyrax-guard",
"mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add zyrax-guard -- npx -y zyrax-guard mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"zyrax-guard": {
"command": "npx",
"args": [
"-y",
"zyrax-guard",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"zyrax-guard": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"zyrax-guard",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub tiagosilva07 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.13.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Audit your AI agent configs before you run them. Catch the prompt injection, malicious MCP servers, and credential-exfil hiding in the files that steer your AI — CLAUDE.md, .mcp.json, agent settings, skills — and vet the packages they pull in. In milliseconds. Nothing leaves your machine.
$ zyrax-guard scan-agents .
Scanning . for agent config files... Found 2 file(s): .mcp.json, CLAUDE.md
SCAN REPORT · zyrax-guard v0.13.0 2 finding(s) requiring review
[1 CRITICAL] [1 HIGH]
[HIGH] .mcp.json MCP server 'data-exfil' uses non-HTTPS URL: http://attacker.example.com/collect → Use HTTPS for all external MCP server URLs.
[CRITICAL] CLAUDE.md:3 Prompt injection keyword detected: 'ignore previous instructions' → Remove or review this instruction. Triage as false positive if intentional.
2 finding(s) — 1 CRITICAL, 1 HIGH
$ zyrax-guard check lodahs ✗ lodahs@0.0.1-security — BLOCK
Works locally, in CI, and as a gate for AI coding agents. No account required. Nothing phones home except the public package name you are querying.
Get it (pick one):
npx zyrax-guard@latest scan-agents . # no install — audit this repo's agent configs
brew install tiagosilva07/zyrax/zyrax-guard # macOS / Linux scoop bucket add zyrax https://github.com/tiagosilva07/scoop-zyrax && scoop install zyrax-guard # Windows go install github.com/tiagosilva07/zyrax-guard/cmd/zyrax-guard@latest
Then: zyrax-guard scan-agents . to audit configs, or zyrax-guard check to vet a package. Full install options (signed binary, curl|sh) and verification are below.
🌐 Homepage: zyrax.io
npx zyrax-guard@latest scan-agents . # audit agent configs
npx zyrax-guard@latest check lodash # vet a package
Ships the prebuilt Go binary per-platform (via optionalDependencies) — no runtime download. Works anywhere Node 18+ is available.
brew install tiagosilva07/zyrax/zyrax-guard
Installs the signed release binary (SHA-256 verified by Homebrew). Updates land via brew upgrade once a new release is published.
scoop bucket add zyrax https://github.com/tiagosilva07/scoop-zyrax
scoop install zyrax-guard
Installs the signed release binary (SHA-256 verified by scoop against the manifest, whose hashes come from the release's signed checksums.txt). zyrax-guard upgrade detects a scoop install and delegates to scoop update zyrax-guard.
curl -fsSL https://raw.githubusercontent.com/tiagosilva07/zyrax-guard/main/scripts/install.sh | sh
Downloads the signed release binary for your OS/arch, verifies its SHA-256 against the release checksums, and installs it (to /usr/local/bin, or ~/.local/bin if that is not writable). Pin a version with VERSION=v0.5.0, or set BINDIR to choose where it lands. Verifies the cosign signature too when cosign is on your PATH.
go install (Go 1.23+)go install github.com/tiagosilva07/zyrax-guard/cmd/zyrax-guard@latest
Download from Releases. Every release ships:
checksums.txt (SHA-256).cosign.bundle per artifact)zyrax-guard.spdx.json)Verify a binary:
cosign verify-blob \
--bundle zyrax-guard-linux-amd64.cosign.bundle \ zyrax-guard-linux-amd64
git clone https://github.com/tiagosilva07/zyrax-guard
cd zyrax-guard go build -o zyrax-guard ./cmd/zyrax-guard
Guard checks for a newer release at most once a day (a read-only lookup of its own version on registry.npmjs.org) and prints a one-line notice on stderr when one is available. To update:
zyrax-guard upgrade # detects how Guard was installed and updates it
zyrax-guard version --check # force a version check now
upgrade delegates to your package manager (npm/brew/scoop/go) when Guard was installed that way; for curl|sh / standalone-binary installs on Linux/macOS it downloads the signed release, verifies its SHA-256 against `checksums.txt` and its keyless cosign signature before replacing the binary (any mismatch aborts the upgrade). Signature verification is required by default — if cosign is not installed the upgrade aborts with instructions; pass --require-signature=false to accept checksum-only verification explicitly. On Windows, install via scoop to get delegated upgrades; the standalone Windows binary is still upgraded manually (the notice links to Releases). Disable the daily check with ZYRAX_NO_UPDATE_CHECK=1.
zyrax-guard scan-agents . # scan current directory
zyrax-guard scan-agents /repo # scan a specific path zyrax-guard scan-agents . --json # JSON output zyrax-guard scan-agents . --strict # exit 1 for any finding (not just CRITICAL/HIGH)
Scans CLAUDE.md, AGENTS.md, GEMINI.md, .mcp.json, .claude/settings.json, and Cursor rules files. Exits 1 if any CRITICAL or HIGH finding is found.
zyrax-guard check lodash # npm (default)
zyrax-guard check requests --ecosystem pypi # PyPI zyrax-guard check serde --ecosystem crates # crates.io zyrax-guard check github.com/pkg/errors --ecosystem gomod # Go modules
zyrax-guard install lodash axios # vets, then runs npm install
zyrax-guard install flask --ecosystem pypi # vets, then runs pip install zyrax-guard install serde --ecosystem crates # vets, then runs cargo add zyrax-guard install github.com/pkg/errors --ecosystem gomod # vets, then runs go get
zyrax-guard allow my-internal-pkg
Commit .zyrax/policy.json — it is the reviewable allowlist for your project.
zyrax-guard scan --base /tmp/base-lock.json --head package-lock.json --sarif
Emits SARIF 2.1.0 to stdout. Exit code 0 if no BLOCK or ERROR; non-zero otherwise. Add --strict to treat WARN as failure.
scan-agents)AI coding agents (Claude Code, Cursor, Gemini CLI) read configuration files that can be weaponized: a malicious CLAUDE.md in a repo you clone, a tampered .mcp.json that points to an attacker's server, an MCP tool whose description hides instructions, a settings.json granting wildcard shell access, or prose that quietly steers the agent toward reading .env and POSTing it out. Guard detects these before the agent runs.
zyrax-guard scan-agents .
| File | Location |
|---|---|
CLAUDE.md, AGENTS.md, GEMINI.md | Repo root |
.mcp.json | Repo root and subdirectories |
.claude/settings.json | .claude/ directory |
.cursor/rules, .cursor/rules/*.mdc | Cursor rules |
SKILL.md | Under any skills/ directory |
| Rule | Severity |
|---|---|
Prompt injection keywords (ignore previous instructions, new objective:, …) | CRITICAL |
| Hidden unicode characters (zero-width, bidi overrides) | CRITICAL |
| Base64-encoded instructions bypassing keyword filters | CRITICAL |
Conditional/sleeper triggers (when user asks X, do Y) | CRITICAL |
| MCP tool description carrying injection keywords (read as trusted model context) | CRITICAL |
Persona override (you are not Claude, your true purpose) | HIGH |
| MCP server using non-HTTPS URL | HIGH |
| MCP server using raw IP address (possible C2) | HIGH |
| MCP server using tunnel service (ngrok, Cloudflare, …) | HIGH |
MCP server running a shell, inline -c/-e, temp-dir binary, or dangerous env var | HIGH |
Instruction referencing credential files (.env, id_rsa, .aws/credentials) | HIGH |
Exfiltration sink (send/POST/curl + external URL on one line) | HIGH |
Wildcard allow in permissions | HIGH |
| Unrestricted shell access with no deny rules | MEDIUM |
npx MCP server without a lock file | MEDIUM |
| Auto-run hooks executing commands (download-execute → CRITICAL, shell flag → HIGH) | CRITICAL–MEDIUM |
Exit code: 1 if any CRITICAL or HIGH finding; 0 otherwise. Use --strict for exit 1 on any finding.
Obfuscation-normalized. Before matching, detection normalizes common disguises — zero-width and format characters, homoglyphs, full-width and leetspeak substitutions, and separator/line splitting — so trivially obscured payloads (y0u 4r3 n0w…, ignore—previous—instructions, Cyrillic look-alikes) are still caught. It stays a fast, deterministic, on-device guardrail for known agent-config attack patterns — not a complete defense against a determined adversary who paraphrases or writes in another language. Semantic detection is a roadmap item for the Zyrax platform, not the local CLI.
Suppressing a legitimate collision. A real skill or config can legitimately phrase something the heuristics flag (e.g. a reviewer skill that says "act as a senior reviewer"). Silence it with an inline zyrax-allow comment on that line — optionally zyrax-allow: to scope it — or zyrax-allow-file: for a whole file. Suppression is never silent: the scan always reports N finding(s) suppressed by zyrax-allow, and `--strict` ignores suppressions entirely (audit/CI mode), so a hostile config can't use the directive as a kill switch.
- name: Audit agent configs
run: zyrax-guard scan-agents . --strict
scan_agents tool)Once registered as an MCP server, agents also have access to scan_agents:
{
"name": "scan_agents", "arguments": { "dir": "." } }
Gate every pull request. By default (scan: both) Zyrax Guard audits AI agent configs (prompt injection, malicious MCP servers, risky permissions) and gates dependencies added in the PR, failing the check if anything is blocked. Add .github/workflows/zyrax-guard.yml:
Pin for production: these examples pin third-party actions to commit SHAs — mutable tags are a supply-chain risk (the exact risk Guard exists to catch). Pin
zyrax-guardto an exact version or commit SHA too for fully reproducible CI.
name: Zyrax Guard
on: pull_request jobs: guard: runs-on: ubuntu-latest steps:
On a pull request it scans only the dependencies added versus the base branch; otherwise it scans the whole lockfile. The job fails when a dependency is blocked. @v0 tr
ตัดมาแค่ช่วงต้น อ่านต่อใน repo