Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Pre-install security scans for npm packages, MCP servers, and AI agents with cited verdict evidence.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"pkgxray": {
"command": "npx",
"args": [
"-y",
"pkgxray",
"mcp-server"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add pkgxray -- npx -y pkgxray mcp-serverวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"pkgxray": {
"command": "npx",
"args": [
"-y",
"pkgxray",
"mcp-server"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"pkgxray": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pkgxray",
"mcp-server"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub adamsjack711-ux ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.5) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Master CSS
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Inspect Master CSS classes, generated CSS, and project stylesheets from your AI client.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Inspect an npm package or MCP server before you install it or connect to it. You get a SAFE, REVIEW, or BLOCK verdict, decided by fixed rules and backed by cited evidence. The analysis is static and runs on your machine without installing npm dependencies. A pinned MIT-licensed Acorn parser is bundled. Normal scans never execute package code.
Website · Documentation · Calibration · Report a bug
Real runs: guard clears express@4.21.0 , then blocks a sample modeled on the 2024 @solana/web3.js compromise.
pkgxray install scans the npm lockfile, installs held archives offline with scripts disabled, and verifies the resulting files.[1. Quick start](#quick-start) · 2. What it scans & detects · 3. Verdicts · 4. Usage · 5. Integrations · 6. How it compares · 7. Documentation
AI coding assistants install packages and connect to MCP servers quickly, and often no person reads the code first. Sonatype counted more than 454,600 new malicious open-source packages across monitored ecosystems in 2025, over 99% of them on npm (Sonatype). npm audit asks whether a package has a known CVE. pkgxray also asks what the code does, before anything installs.
1. Scan a known-benign package (no install of pkgxray needed):
npx --yes pkgxray@1.0.5 guard npm:express@4.21.0
It stages the tarball in quarantine and runs the static and supply-chain checks. There is no npm install, no lifecycle script, and no package code executed.
Sample output
Decision: SAFE Grade: A+ (99/100)
No high- or medium-risk indicators were found in the provided evidence.
Notes:
2. Read the verdict:
| Verdict | Exit | Meaning |
|---|---|---|
SAFE | 0 | No high- or medium-risk indicators; default policy permits promotion. |
REVIEW | 3 | Evidence is incomplete or a privileged capability needs human review. |
BLOCK | 2 | High-severity cited evidence — reject or investigate. |
SAFE is not a proof that a package is harmless; static analysis cannot see a payload downloaded only at runtime. See the threat model.
3. See a BLOCK on the supplied inert fixture:
npx --yes pkgxray@1.0.5 --file examples/onboarding-malicious.json --format markdown
The fixture is inert source text that models a split-string SSH-key read and exfiltration. It is never executed. It returns BLOCK (exit 2) with the cited file and evidence.
4. Add it to your workflow — rechecks & CI, MCP, Hookshot install gate.
Two execution models. Default
guardandauditscans are static, so
package code is never executed. Three surfaces are different: listing an MCP
server's tools may spawn it,
mcp-proxyruns it behind a gate, and the opt-in
canary*executes* the package in a sandbox to
confirm what it does. The canary can confirm that a package is malicious, but it
can never prove one is safe. Full boundary: SECURITY.md.
Scans — pkgxray guard npm:name@version or pypi:name@version, github:owner/repo, a local directory, whole lockfiles across two ecosystems (npm: package-lock.json, yarn.lock, pnpm-lock.yaml, package.json; PyPI: requirements.txt, poetry.lock, Pipfile.lock, pyproject.toml), MCP servers, and AI-agent extensions.
Detects — credential theft (incl. split-fragment paths), cloud instance-metadata and secret-store harvesting, prompt injection, Unicode smuggling, base64 payloads and stage-2 loaders, exfiltration, persistence (shell profile, OS scheduler, and injected CI/CD workflows), self-deleting droppers, registry worm replication (install-time npm publish), npm install-hook and PyPI setup.py install-time execution, obfuscated computed-arg execution, hallucinated / slopsquat names (a lockfile pin the registry never published), known CVEs (via OSV, before download), npm↔GitHub artifact divergence, trojaned updates (recheck), and MCP capability-surface abuse.
The full coverage matrix is in the threat model, along with the known blind spot: a package that downloads its payload later. A side-by-side comparison table is on the website.
| Verdict | You should |
|---|---|
SAFE | No blocking findings within the reported checks. Review coverage before installing. |
REVIEW | Inspect the quarantined copy before promoting. |
BLOCK | Do not install. Every finding names the file and evidence. |
Exit codes are stable and CI-friendly: `0` safe/allow · `2` block · `3` review.
pkgxray guard npm:some-package@1.2.3 [--format json] # vet a package before install
pkgxray guard pypi:some-package@1.2.3 # same, for a PyPI package (sdist staged + scanned) pkgxray mcp --package npm:some-mcp-server@1.4.2 npx some-mcp-server # vet an MCP server; --recheck catches the rug-pull pkgxray audit package-lock.json [--deep-all] # also: yarn.lock, pnpm-lock.yaml, package.json pkgxray audit requirements.txt [--deep] # PyPI: also poetry.lock, Pipfile.lock, pyproject.toml pkgxray recheck package-lock.json # scheduled: non-zero only on a regression
audit checks resolved dependencies against OSV. --deep adds source scans for blocked dependencies; --deep-all requests source scans for all resolved dependencies. Failed deep scans and incomplete source collection return REVIEW unless already BLOCK. guard --deps includes direct-dependency findings in its decision; only exact pins are checked, with ranges and other unresolved sources left at REVIEW. Guard output lists completed, partial, disabled and failed checks so a passing verdict does not imply checks that never ran. PyPI scans cover source-distribution manifests, vulnerability metadata, and text-level injection checks; they do not provide full Python module behavioral analysis or wheel inspection. Python source adds an unsupported-behavior REVIEW finding. Behavioral coverage gaps cannot be muted or promoted with allow-review; a pinned artifact approval remains an explicit operator override. Archives containing links or special files are rejected.
One optional .pkgxray.json tunes policy on the Node-based surfaces. The browser extension scans supplied evidence using engine defaults and cannot read project configuration. No config means the strictest settings. Config can never allow a CVE away, every loosening is printed, and a scan that errors fails closed to review. Schema and rules: configuration.md · .pkgxray.example.json.
One engine behind every entry point. "Works with" means a documented setup guide, not a vendor-endorsed integration.
| Where | What it does | Guide |
|---|---|---|
| Coding agents — Codex, Claude Code, Cursor, Windsurf | Gate installs and expose the audit tools to the agent | coding-agents.md |
| MCP clients | Vet a server before connect; run pkgxray itself as an MCP server | mcp.md |
| GitHub Actions / CI | Fail a build when a dependency crosses policy | github-actions.md |
| Install gate — Hookshot | Run guard on every package an agent tries to install | examples/hookshot/ |
| Runtime MCP gate | Proxy a live MCP server and gate every tool call | mcp-proxy |
| Dependency monitoring | Re-vet installed deps and pre-vet upgrades on a schedule | recheck |
npm audit and OSV-Scanner check for published CVEs, and pkgxray does not replace them. Run it alongside them. The tools in the same lane are Socket.dev, OpenSSF Package Analysis, and Cisco MCP Scanner, which also analyze what package code does. The full capability comparison is in docs/comparison.md and on the website.
Historical top-1000 runs and their scope and methodology remain available at pkgxray.ca/stats. Those results predate the parser-based flow engine and have not been rerun for this change. The current engine passes all 270 internal synthetic calibration/challenge fixtures without a malicious SAFE or benign BLOCK; many malicious cases produce REVIEW. This is regression evidence, not a real-world detection-rate estimate.
| Doc | What it covers |
|---|---|
| architecture.md · design.md | Pipeline, surfaces, principles |
| threat-model.md | Scope, blind spots, prompt-injection stance |
| mcp.md · mcp-registry.md | MCP vetting, runtime proxy, registry entry |
| canary-threat-model.md | The opt-in behavioral canary |
| configuration.md · reference.md | .pkgxray.json, severity policy, recheck, cache server |
| benchmark.md · comparison.md | Calibration and how it compares |
| compatibility.md · [json-schema.md]
ตัดมาแค่ช่วงต้น อ่านต่อใน repo