Skip to main content

Deterministic Security for AI Agent Skills โ€” 104 verified skills with Ed25519 signature chain

Project description

๐Ÿ’  JadeGate

Deterministic Security for AI Agent Skills

Think Terraform, but for AI agent tools.

"Code is fluid. Jade is solid."

็މๅฐๆ—ขๅฎš๏ผŒไธ‡ๆณ•ไธไพตใ€‚

PyPI Skills [English | ไธญๆ–‡]

License Zero Dependencies


What is JadeGate?

JADE (JSON-based Agent Deterministic Execution) is a zero-trust security protocol for AI agent skills.

Every skill is a pure JSON file โ€” non-Turing-complete, structurally verifiable, mathematically provable safe.

No eval(). No exec(). No import. No escape.

็พŒ็ฌ›ไฝ•้กปๆ€จๆจๆŸณ๏ผŒๆ˜ฅ้ฃŽไธๅบฆ็މ้—จๅ…ณใ€‚
Malicious code shall not pass the JadeGate.

Why?

AI agents need tools. Every approach has trade-offs โ€” here's how they compare:

Function Calling Evo.ninja MCP JadeGate
Format Provider-defined functions Closed-source agents Arbitrary code Pure JSON
Verification None โ€” trust the code Opaque Trust the server 5-layer deterministic proof
Source model Open (per provider) Closed-source Open or closed Open-source (Apache 2.0)
Execution Provider cloud Centralized (their infra) Server-dependent Local, zero external dependencies
Signatures None N/A None Ed25519 chain of trust
Sandbox None Platform-managed Server-dependent Enforced by protocol
Dependencies Provider SDK Requires their compute Runtime-dependent Zero

Each approach serves different needs. Function Calling is the simplest integration path. Evo.ninja offers managed agent orchestration. MCP provides a flexible server protocol. JadeGate focuses on deterministic verification โ€” every skill is a pure JSON file that can be mathematically proven safe before execution.

Before & After

โŒ BEFORE โ€” Typical AI agent tool (Python):

def search_and_notify(query, channel):
    try:
        result = eval(f"search('{query}')")  # injection risk
        subprocess.run(f"curl -X POST {webhook}", shell=True)  # no sandbox
    except Exception:
        pass  # silent failure, no verification
    # No signature. No audit trail. No guarantees.

โœ… AFTER โ€” JadeGate skill (pure JSON):

{
  "jade_version": "1.0.0",
  "skill_id": "search_and_notify",
  "execution_dag": {
    "nodes": [
      {"id": "search", "type": "mcp_brave_search", "input": {"query": "$input.query"}},
      {"id": "notify", "type": "mcp_slack_post", "input": {"channel": "$input.channel", "text": "$search.output"}}
    ],
    "edges": [{"from": "search", "to": "notify"}]
  },
  "security": {"sandbox": "strict", "network_whitelist": ["api.brave.com", "slack.com"]}
}

Same functionality. Verifiable. Sandboxed. Signed. No code execution.

๐Ÿ”’ 100% Offline & Air-Gapped Ready

JadeGate requires zero network calls for verification. Everything is local, pure math.

  • Ed25519 signatures โ€” verified locally, no certificate authority needed
  • DAG validation โ€” graph analysis runs entirely in-process
  • No cloud dependency โ€” no telemetry, no phone-home, no license server
  • No data leaves your machine โ€” ever

Perfect for:

  • ๐Ÿ›๏ธ Classified environments โ€” air-gapped networks, government systems
  • ๐Ÿฅ Healthcare (HIPAA) โ€” patient data never touches external services
  • ๐Ÿฆ Finance (SOX) โ€” audit-ready, deterministic verification
  • ๐Ÿข On-premise enterprise โ€” runs behind your firewall, no exceptions

Install once, verify forever. No internet required after pip install.

Quick Start

pip install jadegate
# Browse all verified skills
jade list

# Search for what you need
jade search "github"

# Check skill details
jade info mcp_brave_search

# Verify any skill file
jade verify my_skill.json

# System status
jade status

๐Ÿค– AI Agent Auto-Discovery

After installing JadeGate, AI agents can automatically discover and use all 109 skills.

MCP Server (Claude Desktop / Cursor / Windsurf)

One line in your MCP config โ€” the LLM sees all skills instantly:

{
  "mcpServers": {
    "jadegate": {
      "command": "jade",
      "args": ["mcp-serve"]
    }
  }
}

The LLM gets 6 tools: jade_search, jade_list, jade_info, jade_verify, jade_compose, jade_doctor. It will use them automatically when it needs to find or verify skills.

Python Agent Frameworks (LangChain / CrewAI / AutoGPT)

import jade_core
jade_core.activate()  # Scans env, generates .well-known/jade.json

One-Command Setup (Any Platform)

pip install jadegate
jade init

jade init auto-detects your OS (Windows/macOS/Linux), caches all skills locally, scans your API keys, and shows you exactly what's ready to use.

Environment Scan

jade doctor
๐Ÿ’  JadeGate Doctor
==================================================
๐Ÿ”‘ Detected API Keys:
   โœ“ GITHUB_TOKEN โ†’ 5 skills ready
   โœ“ SLACK_TOKEN โ†’ 2 skills ready
๐Ÿ“ Detected Project Files:
   โœ“ package.json โ†’ mcp_npm_search
๐Ÿ’ก 8 skills ready to use

5-Layer Verification

Every skill passes through 5 deterministic security layers:

Layer 1: Schema Validation     โ€” Structure must be valid JADE JSON
Layer 2: DAG Integrity         โ€” Execution graph must be acyclic, no loops
Layer 3: Security Policy       โ€” Sandbox, network whitelist, permissions
Layer 4: Injection Detection   โ€” No code injection, no template attacks
Layer 5: Cryptographic Seal    โ€” Ed25519 signature chain verification

All layers are deterministic. Same input โ†’ same result. Every time.

Trust Hierarchy

JadeGate uses a layered trust model with cryptographic signatures at every level:

๐Ÿ’  Root Seal โ€” Project Authority

The highest level of trust. The JadeGate root key signs all 109 official skills. Root-sealed skills have been reviewed, verified, and cryptographically locked by the project maintainers.

๐Ÿ”ท Org Seal โ€” Organizational Authority

Organizations receive authorized signing keys and can sign their own skills independently. Run your own internal registry with your own Root key โ€” full sovereignty over your skill supply chain. Perfect for enterprises that need private, auditable skill catalogs without depending on any external authority.

๐Ÿ”น Community Seal โ€” Open Participation

Anyone can generate a signing key and sign skills they've reviewed. When a skill accumulates 5+ unique community signatures, it earns Community Verified status โ€” decentralized trust through independent review.

โŒ Revoked โ€” Instant Revocation

Compromised or deprecated signers are instantly revoked via revoked_signers.json. Revocation is checked at verification time โ€” no delay, no propagation wait.

# Generate your community signing key
python jade_community_sign.py keygen

# Sign a skill you've reviewed
python jade_community_sign.py sign jade_skills/mcp/mcp_brave_search.json

# Check all signatures on a skill
python jade_community_sign.py check jade_skills/mcp/mcp_brave_search.json

Enterprise note: Organizations can run fully private JadeGate registries with their own Root key. All verification stays local โ€” no external calls, no shared infrastructure. Your skills, your keys, your rules.

109 Verified Skills

JadeGate ships with 109 pre-verified skills across two categories:

MCP Skills (67)

GitHub, Slack, Discord, OpenAI, Anthropic, AWS, GCP, Firebase, MongoDB, Redis, Elasticsearch, Stripe, Twilio, SendGrid, Jira, Confluence, Vercel, Shopify, and more.

Tool Skills (42)

CSV analysis, DNS lookup, QR code, image resize, JWT decode, regex tester, password generator, UUID, YAML/JSON converter, and more.

โ†’ Full list: CATALOG.md

๐Ÿงญ Design Philosophy

"We handle orchestration, not computation."

JadeGate doesn't execute your business logic โ€” it orchestrates verified, sandboxed skills into safe workflows. Complex logic belongs in your APIs; JadeGate chains them deterministically.

Declare intent, don't write implementation. Like Terraform for infrastructure, JadeGate lets you describe what should happen (which APIs, what parameters, how to chain) and the runtime handles how. No imperative code, no hidden side effects.

Wrap complexity as atomic APIs. If your workflow needs complex processing โ€” ML inference, database transactions, custom algorithms โ€” expose it as an API endpoint. JadeGate calls it safely within a verified DAG, with sandboxing, retries, and fallback nodes built in.

Coming soon:

  • ๐Ÿ Python SDK โ€” Build skills programmatically: jade.step('search').then('summarize').export()
  • ๐ŸŽจ Visual DAG Editor โ€” Design workflows graphically, export as verified JSON

๐Ÿ—บ๏ธ Roadmap

Status Feature Description
๐Ÿ”œ Python SDK Builder jade.step('search').then('summarize').export() โ€” programmatic skill creation
๐Ÿ”œ jade visualize DAG visualization in Mermaid and ASCII formats
๐Ÿ“‹ Web DAG Editor Browser-based visual workflow designer
๐Ÿ“‹ Crypto Acceleration Optional native Ed25519 for high-throughput verification
๐Ÿ“‹ npm Package @jadegate/core for JS/TS ecosystem integration

For AI Agents

All commands support --json for machine-readable output:

jade search --json "web search"
jade list --json --type mcp
jade info --json mcp_brave_search
from jade_core.validator import JadeValidator

v = JadeValidator()
result = v.validate_file("my_skill.json")
print(result.valid)  # True/False
print(result.issues) # Detailed security findings

Skill Format

A JadeGate skill is a single JSON file:

{
  "jade_version": "1.0.0",
  "skill_id": "my_skill",
  "metadata": {
    "name": "My Skill",
    "description": "What it does",
    "version": "1.0.0",
    "tags": ["example"]
  },
  "input_schema": { ... },
  "output_schema": { ... },
  "execution_dag": {
    "nodes": [ ... ],
    "edges": [ ... ]
  },
  "security": {
    "sandbox": "strict",
    "network_whitelist": ["api.example.com"],
    "max_execution_time_ms": 10000
  }
}

No code. Just structure. Verifiable by anyone.

Contributing

  1. Create a skill JSON file
  2. Run jade verify your_skill.json
  3. Submit a PR โ€” CI auto-verifies
  4. Community signs โ†’ merged

FAQ

Is pure JSON + DAG expressive enough?

Yes โ€” think of it like Terraform for agent skills. You declare intent (which API, what params, how to chain), and the runtime handles execution. Complex logic is expressed through conditional edges, fallback nodes, and parallel branches in the DAG. JadeGate isn't replacing code โ€” it's replacing trust assumptions.

What about complex error handling?

The DAG supports fallback nodes, retry policies, and conditional branching. The security policy defines timeouts, max retries, and circuit breakers. You get robust error handling without arbitrary code execution.

How does this relate to LLM jailbreak defense?

It doesn't. JadeGate is about AI Agent skill security โ€” verifying the tools agents use are safe. It's not about prompt injection or jailbreak defense. Different problem space entirely.

Why not just audit MCP servers?

You can't audit what changes. MCP servers can update silently โ€” the code you reviewed yesterday may not be the code running today. JadeGate skills are immutable JSON with cryptographic signatures. Any change breaks the seal.

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              AI Agent                    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚         JadeGate Protocol               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ Verify  โ”‚ โ”‚ Search   โ”‚ โ”‚ Execute  โ”‚ โ”‚
โ”‚  โ”‚ 5-Layer โ”‚ โ”‚ Catalog  โ”‚ โ”‚ Sandbox  โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ’  Ed25519 Signature Chain             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Skills (Pure JSON, no code)            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

License

Apache 2.0


๐Ÿ’  JadeGate โ€” Trust is not assumed. Trust is proven.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jadegate-1.2.0.tar.gz (153.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jadegate-1.2.0-py3-none-any.whl (303.8 kB view details)

Uploaded Python 3

File details

Details for the file jadegate-1.2.0.tar.gz.

File metadata

  • Download URL: jadegate-1.2.0.tar.gz
  • Upload date:
  • Size: 153.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for jadegate-1.2.0.tar.gz
Algorithm Hash digest
SHA256 72efe311e66ed797fd6ecc8217d9f62eb2f37e88f5af24bf1b1ffbd320f34fc7
MD5 7bc940892392721a9071c93bee8b2931
BLAKE2b-256 e749467fca3dbb69fe7ede2b3a763f20e75aa77ed06d5f3aa06b726877b9eb37

See more details on using hashes here.

File details

Details for the file jadegate-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: jadegate-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 303.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for jadegate-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3eb118b39122f41c29f06925e4baf58c3fa8e22f631c6386c9e59755d30f4c87
MD5 1aaba8ad88ecbce37a5bd6eb285ac030
BLAKE2b-256 4735f8622fba3c96c74784e95f57edcefe501b56bc3f9e489f7d78eb9597cfb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page