Skip to main content

AION Core runtime security layer for AI agent tool-call control, receipts, scanning, and approvals.

Project description

AION Core

Runtime action control, receipt, and firewall layer for AI agents.

AION Core contains the open-source infrastructure pieces behind AION: Guard, Receipts, Scan, Team Policy, and the MCP Firewall.

AI Agent -> AION Guard / MCP Firewall -> Tool/API/System
                                  |
                                  +-> verified JSONL receipt log

One-Command Demo

From the repo root:

$env:PYTHONPATH='src'
python -m aion_core.demo

After local install or PyPI install:

python -m pip install aion-core
aion-demo

For editable development installs:

python -m pip install -e .

Expected result:

[PASS] scan detected unprotected MCP server
[PASS] guard blocked generic shell action
[PASS] guard allowed generic safe read
[PASS] team policy required approval
[PASS] blocked destructive shell command
[PASS] blocked secret exfiltration
[PASS] allowed safe read
Receipts written to: aion-demo-output/receipts.jsonl
Approvals written to: aion-demo-output/approvals.jsonl
Receipt verification: PASS (6 receipt(s), hash-verified)

This proves the infrastructure wedge:

  • generic Guard actions can be allowed or blocked
  • dangerous shell action is blocked before reaching the tool
  • secret exfiltration attempt is blocked before reaching the tool
  • safe file-read action is allowed
  • approval-required team actions create approval records
  • every decision gets a receipt

Proof Pack

AION Core includes deterministic agent-workflow proof tests that model LangChain, CrewAI, Groq function-calling, and raw MCP workflows.

$env:PYTHONPATH='src'
python examples\proof_pack\agent_workflow_proof.py

Expected result:

AION Core Agent Workflow Proof Pack
Scenarios: 6/6 passed
Receipts: 5 hash-verified

Real SDK integration tests are also included:

  • LangChain 1.2.18: real StructuredTool guard test passed.
  • CrewAI 1.14.4: real Agent, Task, and BaseTool guard test passed.
  • Groq 1.2.0: real live function-calling test passed with llama-3.1-8b-instant.

Real-World Capacity Tests

AION Core includes end-to-end real-world capacity tests that exercise all 8 MVP layers together.

$env:PYTHONPATH='src'
python examples\real_world_capacity\release_ops_capacity_test.py --output-dir test-output\real-world-final

Expected result:

AION Real-World Capacity Test
Scenarios: 8/8 passed
Receipts: 5 hash-verified
Pending approvals: 1

Additional verified workflows:

  • Hardcore single-agent customer support workflow: 9/9 passed, 6 hash-verified receipts, 1 pending approval.
  • Hardcore multi-agent incident response workflow: 10/10 passed, 7 hash-verified receipts, 1 pending approval.

Run Guard

Check a generic action:

$env:PYTHONPATH='src'
python -m aion_core.guard_cli check --policy examples\policies\stage6-default.json --receipt-log receipts\guard.jsonl --action-type shell.command --tool shell --arguments-file examples\actions\destructive_shell_args.json --agent-id demo --owner local

Run The Firewall

Run AION in front of any stdio MCP server:

aion-mcp-firewall --policy examples/policies/stage6-default.json --receipt-log receipts/aion.jsonl -- python path/to/mcp_server.py

For local development without installing:

$env:PYTHONPATH='src'
python -m aion_core.cli --policy examples/policies/stage6-default.json --receipt-log receipts/aion.jsonl -- python path/to/mcp_server.py

Manual Attack Demo

Blocked dangerous command:

$env:PYTHONPATH='src'
Get-Content examples/attacks/destructive_shell.json | python -m aion_core.cli --policy examples/policies/stage6-default.json --receipt-log receipts/demo.jsonl -- python examples/demo_mcp_server.py

Allowed safe call:

$env:PYTHONPATH='src'
Get-Content examples/attacks/safe_read.json | python -m aion_core.cli --policy examples/policies/stage6-default.json --receipt-log receipts/demo.jsonl -- python examples/demo_mcp_server.py

Policy Shape

Policies are JSON so the MVP has zero runtime dependencies.

{
  "default_action": "allow",
  "rules": [
    {
      "id": "block-shell-delete",
      "match": {
        "tool": ["shell", "run_command"],
        "argument_contains": ["rm -rf", "Remove-Item", "del /s"]
      },
      "action": "block",
      "reason": "Destructive shell command patterns require explicit approval."
    }
  ]
}

Supported rule matchers:

  • tool: exact tool names or * wildcards.
  • argument_contains: risky strings searched inside serialized arguments.
  • argument_regex: risky regular expressions searched inside serialized arguments.
  • owner: optional agent owner/team identity.

Supported actions:

  • allow
  • block

Receipt Example

Every MCP tools/call decision is logged as JSONL:

{"decision":"block","tool":"shell","rule_id":"block-shell-delete","reason":"Destructive shell command patterns require explicit approval."}

Development

Run tests:

$env:PYTHONPATH='src'
python -m unittest discover -s tests

Useful docs:

Current Scope

Current core scope:

  • generic Guard action checks
  • MCP config and policy scanning
  • stdio MCP firewall proxy
  • runtime policy checks for tools/call
  • MCP-compatible JSON-RPC block responses
  • hash-verified JSONL audit receipts
  • team approval-required policy decisions
  • AION Cloud control panel summary and pending approval views
  • dependency-free Python core

Next infrastructure layers:

  • signed receipts
  • agent identity
  • cloud receipt vault
  • tool risk registry
  • real Slack/webhook approval delivery
  • compliance exports

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

aion_core-0.8.1.tar.gz (56.2 kB view details)

Uploaded Source

Built Distribution

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

aion_core-0.8.1-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file aion_core-0.8.1.tar.gz.

File metadata

  • Download URL: aion_core-0.8.1.tar.gz
  • Upload date:
  • Size: 56.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aion_core-0.8.1.tar.gz
Algorithm Hash digest
SHA256 33da2b9c0aa7f387ab9e4e1ddec5a1c10fc7560b26c47165b6a834812a0e55e2
MD5 394ca359a513a227b0cf76dd80763d09
BLAKE2b-256 4cfe8c1da36236cc1c587445d8db1016f8ac9839fe38cf889b49738409efda67

See more details on using hashes here.

File details

Details for the file aion_core-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: aion_core-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aion_core-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c816f0dbc41451dc09da616178dc3c6bbaac889d2473edd98476e7d1b71eb158
MD5 50529c324bd44954e582398f2fe9e486
BLAKE2b-256 d680e768a71b746a5b109256e2fea563b66a83d96ffe832af8d64b5679f40569

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