SML Risk Firewall
Pre-trade risk checks for agent trades: orders vs your limits, signed receipts.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Security scanner for AI Agent skills, plugins, and MCP servers with A-F grading.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"prism-scanner": {
"command": "uvx",
"args": [
"prism-scanner"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add prism-scanner -- uvx prism-scannerวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"prism-scanner": {
"command": "uvx",
"args": [
"prism-scanner"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"prism-scanner": {
"type": "stdio",
"command": "uvx",
"args": [
"prism-scanner"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub aidongise-cell ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 8 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี SML Risk Firewall, ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
MCP server for MaxMind minFraud — score transactions for fraud risk from your AI assistant.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Security scanner for AI Agent skills, plugins, and MCP servers.
Prism analyzes code for malicious behavior *before* you install it — and checks your system for leftover threats *after* you uninstall.
Unlike marketplace-only trust scores, Prism gives you full lifecycle coverage with code-level transparency — pre-install, runtime, and post-uninstall — across every platform, completely open source.
.env files, private keys, IDE configs, and package-manager credentials before they ship. Inspired by Anthropic's April 2026 source-map leak that exposed 512K lines of Claude Code internals via npm. Wire it into your CI: prism scan ./dist --fail-on high
prism --version reported 0.1.3 after upgrading to 0.2.1); detection behavior is identical to v0.2.1.| Marketplace Trust Scores | Prism Scanner | |
|---|---|---|
| Pre-install | :white_check_mark: Reputation score | :white_check_mark: Deep code analysis |
| Post-uninstall | :x: | :white_check_mark: Residue & persistence scan |
| Inspection | Black-box rating | Code-level, rule-by-rule |
| Platforms | Single ecosystem | ClawHub, MCP, npm, pip |
| Source | Closed | Open (Apache 2.0) |
| Execution | Requires upload | Local-first, offline OK |
pip install prism-scanner
prism scan ./my-skill/
prism scan https://github.com/user/skill-repo
prism clean --scan
prism clean --plan
prism clean --apply
brew tap prismlab/tools
brew install prism-scanner
npx prism-scanner scan https://github.com/user/skill-repo
Add Prism to your CI pipeline — findings appear in GitHub's Security tab:
# .github/workflows/prism-scan.yml
name: Prism Security Scan on: [push, pull_request]
permissions: security-events: write contents: read
jobs: scan: runs-on: ubuntu-latest steps:
Prism Scanner can run as an MCP server, giving AI assistants direct access to security scanning tools.
pip install "prism-scanner[mcp]"
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "prism-scanner": { "command": "prism-mcp" } } }
Or for Claude Code:
claude mcp add prism-scanner prism-mcp
This exposes 4 tools: prism_scan, prism_grade, prism_clean_scan, prism_clean_plan.
# Build the image
docker build -t prism-scanner .
docker run -v $(pwd)/my-skill:/workspace/target:ro prism-scanner scan /workspace/target
docker run prism-scanner scan https://github.com/user/skill-repo
docker run -v $(pwd):/workspace/output prism-scanner scan https://github.com/user/repo --format html -o /workspace/output/report.html
Or use the published image:
docker run ghcr.io/prismlab/prism-scanner scan <target>
Prism operates across 3 analysis layers, each targeting a different phase of the agent lifecycle:
| Layer | Focus | Rules | Examples |
|---|---|---|---|
| 1. Code Behavior (S1-S14) | What the code *does* | 14 | Shell execution, data exfiltration, SSRF, persistence mechanisms, unsafe deserialization, download-and-execute |
| 2. Metadata (M1-M6, P1-P9) | What the package *claims* vs. *contains* | 15 | Hardcoded credentials, typo-squatting, install scripts, obfuscated payloads, prompt injection, suspicious domains |
| 3. System Residue (R1-R10) | What was *left behind* | 10 | LaunchAgents, crontab entries, shell config pollution, orphaned credentials, systemd units, login items |
Total: 39 detection rules with lightweight intra-file taint analysis.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Prism Scanner v0.1.0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Target: evil_skill Platform: clawhub Duration: 42ms
[1/3] Behavior Analysis ✗ CRITICAL S8 Data exfiltration: secrets sent to external endpoint evil_skill.py:10 ✗ CRITICAL S10 Download and execute: fetches remote payload evil_skill.py:24 ✗ HIGH S1 Shell execution with untrusted input evil_skill.py:14 ✗ HIGH S13 Persistence: writes LaunchAgent plist evil_skill.py:36 ⚠ MEDIUM S6 Dynamic code execution (eval/exec) evil_skill.py:21
[2/3] Metadata Analysis ✗ CRITICAL P1 Hardcoded credential: AWS Access Key evil_skill.py:47 ⚠ MEDIUM P2 Base64-encoded executable content evil_skill.py:50 ⚠ MEDIUM P6 Prompt injection pattern in string literal evil_skill.py:53
[3/3] Residue Scan (skipped — use prism clean --scan for system-level checks)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Grade: F (Critical)
Key Risks: ▸ CRITICAL: Data exfiltration to external endpoint (S8) ▸ CRITICAL: Download and execute remote payload (S10) ▸ CRITICAL: Hardcoded AWS credential (P1) ▸ HIGH: Shell execution with user input (S1) ▸ HIGH: Persistence mechanism installed (S13)
Behavior Profile: exfiltrates_data, executes_shell, downloads_and_executes, installs_persistence
Recommendation: DO NOT INSTALL — Critical security risks detected.
Findings: 3 critical, 2 high, 3 medium ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| Grade | Label | Meaning | Recommendation |
|---|---|---|---|
| A | Safe | No findings or only informational | Safe to use |
| B | Notice | Only LOW severity findings | Likely safe — minor observations |
| C | Caution | 1-4 MEDIUM findings | Review before use — warrants manual inspection |
| D | Danger | 1-2 HIGH, or 5+ MEDIUM | Use in sandbox only — significant risks |
| F | Critical | Any CRITICAL, or 3+ HIGH | Do not install — critical security risks |
# Rich terminal output (default) — color-coded severity, grade highlighting
prism scan ./skill/
prism scan ./skill/ --format json
prism scan ./skill/ --format html -o report.html
prism scan ./skill/ --format sarif -o results.sarif
Generate a standalone, self-contained HTML report with full findings, grade visualization, and risk breakdown — perfect for sharing with teammates or archiving:
prism scan https://github.com/user/skill-repo --format html -o report.html
The HTML report features a dark-themed UI with color-coded severity levels, an interactive grade ring, and a complete findings table. No external dependencies — just open the .html file in any browser.
Add Prism to your GitHub Actions workflow to gate deployments on security findings:
name: Security Scan
on: [push, pull_request]
jobs: prism-scan: runs-on: ubuntu-latest steps:
The --fail-on flag exits with code 1 if any finding meets or exceeds the specified severity (critical, high, or medium), failing the CI pipeline.
scan -> plan -> apply) with automatic backup and --rollback.prismignore to suppress known findings by rule ID with justification--offline to skip all external lookupsDetection rules are defined in YAML files under the rules/ directory:
rules/
├── malicious_signatures.yaml # Known malicious code signatures and hashes ├── permissions.yaml # Permission baseline definitions └── suspicious_domains.yaml # C2 domains, dynamic DNS, disposable TLDs
The pattern engine (P1-P9) and manifest engine (M1-M6) load rules from these files at scan time. Add entries to extend detection without modifying Python code.
src/prism/
├── cli.py # CLI entry point and output formatting ├── scanner.py # Orchestrator — runs engines, collects findings ├── models.py # Finding, ScanResult, Severity, Layer data models ├── scoring.py # Letter-grade risk assessment (A-F) ├── report.py # HTML report generator ├── fetcher.py # Git clone / URL fetching with security guards ├── cleaner.py # System cleanup: plan, apply, rollback ├── suppression.py # .prismignore parsing ├── rules_loader.py # YAML rule loading └── engines/ ├── ast_engine.py # AST-based analysis (S1-S14) ├── pattern_engine.py # Regex pattern matching (P1-P9) ├── manifest_engine.py # M
ตัดมาแค่ช่วงต้น อ่านต่อใน repo