🛡️ Anchor Core (anchor-audit)
The Deterministic Runtime Governance & Compliance Kernel for Autonomous AI Systems.
Current release: 6.1.0 · Python 3.10–3.14
Anchor is a high-performance, dual-language (Rust/Python) infrastructure library designed to enforce strict regulatory invariants, architectural boundaries, and safety safeguards around autonomous AI agents and LLM application pipelines in real-time.
By executing compiled Abstract Syntax Tree (AST) query matchers and single-pass Deterministic Finite Automaton (DFA) regex sets, Anchor operates with zero-copy memory boundaries—designed to keep per-call overhead low. See benchmarks/bench_guard.py to measure it on your hardware.
🏎️ Core Architectural Horsepower
- Fast static scanning: Rust backend engine utilizing parallel directory walking via
rayonand memory-mapped files (memmap2). - Zero-Copy Memory Boundaries: Leverages PyO3 zero-copy buffer bridges to consume incoming network data frames straight from host ASGI server pools (like FastAPI) with zero heap allocation overhead.
- Asymmetric Cryptographic Identity: Every compiled audit log is bundled into an tamper-evident Decision Audit Chain (DAC) block, sealed locally using Ed25519 asymmetric keys and verified via constant-time hashing (
subtle::ConstantTimeEq). - Active Self-Healing Interception: Moves beyond passive post-mortem dashboards. If an active consumer agent drifts into an invariant violation, Anchor's runtime layer intercepts the thread, halts execution, and injects dynamic, domain-agnostic rerouting directives on the fly.
🏛️ Comprehensive Regulatory Scope
Anchor maps rules to the provisions they relate to (a pattern match is not a legal finding). Coverage includes:
- EU Artificial Intelligence Act (Regulation EU 2024/1689): Complete mapping from Chapter II Article 5 Prohibited Practices (subliminal manipulation, facial scraping safeguards) to Chapter III Articles 6–27 High-Risk System obligations (6-month log retention tracking under Art 12/19, Article 14 human override levers), stretching up to Article 99 turnover penalty metrics.
- U.S. Securities and Exchange Commission (SEC / FINRA): Hard automated boundaries protecting algorithmic trading setups under SEC Regulation SCI (System capacity loop circuit breakers), Exchange Act Rule 15c3-5 (Pre-trade credit and risk limit validation), and Cybersecurity Form 8-K outbound data exfiltration gates.
- Industry Frameworks: Built-in support for FINOS OSERA AI supply-chain resiliency blueprints, OWASP Top 10 LLM security controls, NIST AI RMF, and ISO/IEC 42001 standards.
📦 High-Velocity Installation
Deploy the compiled binary kernel straight into your production cluster workspace:
pip install anchor-audit
Anchor pulls in its runtime dependencies automatically (Click, HTTPX, PyYAML,
cryptography, wrapt, GitPython and the tree-sitter grammars), so the anchor
command is usable straight after install.
Optional extras:
pip install "anchor-audit[providers]" # OpenAI, Anthropic, Groq, Cohere, Ollama, ...
pip install "anchor-audit[server]" # FastAPI/ASGI gateway (anchor.app) + uvicorn
pip install "anchor-audit[dev]" # pytest, black, mypy
The CLI, the @guard decorator and the static scanner need none of these extras.
Initialize your local asymmetric cryptographic repository identity:
anchor init
Run a parallel static code safety audit across your local workspace:
anchor check .
anchor check exits 0 when no findings meet the threshold, 1 when there are
findings, and 2 on usage errors or when ANCHOR_REQUIRE_VERIFIED_GOVERNANCE=1
is set and the bundled rules cannot be verified, so it can gate CI directly.
anchor --version
anchor check . --severity blocker # blocker | error (default) | warning | info
anchor check . --format json # machine-readable report on stdout (or: markdown)
anchor init prompts interactively in a terminal; with no terminal (CI, Docker)
or with --no-prompt it runs non-interactively.
Building from source
Prebuilt wheels need no toolchain. Installing from source (pip install . or an
sdist on a platform without a wheel) compiles the Rust kernel and needs Rust
1.78 or newer (the committed Cargo.lock is lockfile v4) and a C toolchain.
🔌 Runtime Integration
Wrap a high-privilege agent routine or LLM invocation with a decorator. @guard only protects functions you wrap; unwrapped code is not covered.
from anchor import guard
@guard(domain="finance")
def execute_algorithmic_trade(order_payload):
# If the autonomous agent tries to route an un-vetted market order,
# Anchor audits the call payload before the function body runs and returns a BLOCKED_BY_ANCHOR directive on a match.
return route_order_to_exchange(order_payload)
from anchor.guard import guard is the equivalent spelling if you prefer to
import the decorator directly. Both are exercised by
tests/test_readme_example.py.
🌐 The AnimusLab Institution Network
Anchor Core acts as the local spoke auditing engine that feeds seamlessly into the wider, unified decentralized coordination hub ecosystem:
- Central Portal Hub: animuslab.dev
- Enterprise Fleet Cockpit: hub.animuslab.dev
- Statutory Rules Documentation: animuslab.dev/rules
- Authoritative Engineering Profile: tan.animuslab.dev
Maintained by AnimusLab.
⚠️ Limitations
@guard(Layer 2) covers only the functions you decorate. Keyword/pattern checks can be rephrased around; treat Anchor as one deterministic layer in defense-in-depth.- Telemetry is off by default. Set
ANCHOR_TELEMETRY=onto opt in; see docs/telemetry.md for exactly what is sent. - Static rules are pattern/AST based. Known detection gaps are tracked as
xfailtests intests/unit/test_detection_gaps.py.
Security and legal notes
- Gateway.
anchor.appfails closed: setANCHOR_GATEWAY_TOKENand sendAuthorization: Bearer <token>. Request bodies are limited to 1 MiB (ANCHOR_GATEWAY_MAX_BODY_BYTES). Bind to127.0.0.1unless it runs behind a trusted proxy. For local development only,ANCHOR_GATEWAY_ALLOW_UNAUTHENTICATED=1disables the check. - Remote policies.
extends:acceptshttps://URLs only, refuses private and local addresses, and can be restricted withANCHOR_POLICY_URL_ALLOWLIST. - Sandbox runtime. Downloaded runtime files are verified against pinned SHA-256 hashes before use.
- Not legal advice. Anchor reports automated pattern and AST findings mapped to the provisions they relate to. A finding is not a legal determination, and a clean scan is not a compliance certification. References to OWASP, NIST, FINOS, OECD and regulators identify sources only and do not imply endorsement.
- Reporting vulnerabilities: see SECURITY.md. Third-party licenses: THIRD_PARTY_LICENSES.md.
Metadata
Release files for anchor-audit 6.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| anchor_audit-6.1.0.tar.gz | 272.2 kB | Without provenance | Details for anchor_audit-6.1.0.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| anchor_audit-6.1.0-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details for anchor_audit-6.1.0-cp310-abi3-win_amd64.whl |
| anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details for anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
| anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details for anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
| anchor_audit-6.1.0-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details for anchor_audit-6.1.0-cp310-abi3-macosx_11_0_arm64.whl |
| anchor_audit-6.1.0-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details for anchor_audit-6.1.0-cp310-abi3-macosx_10_12_x86_64.whl |
Total release size: 8.2 MB
Release files / anchor_audit-6.1.0.tar.gz
| Download URL | anchor_audit-6.1.0.tar.gz |
|---|---|
| Size | 272.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f138ff139f1ec7ecfc15a5f8fd08a5f08e20606d70c5df87fc2e5390f4a78a6
|
|
BLAKE2b-256 checksum How to use checksums |
14d5cbfdec5fcb40e82ab3af88bf0080327b064675c8999937fe3677b4f6f08b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / anchor_audit-6.1.0-cp310-abi3-win_amd64.whl
| Download URL | anchor_audit-6.1.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c61295f4f7a25f8e0decfa2d3d6abc67d70f092ec3d75f9461e23644a182ad9e
|
|
BLAKE2b-256 checksum How to use checksums |
0c16882553c6d40646b2105ca17fd50b4d98a5b554fb15f6a192734eb1924afc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
655d8d40df58d550595964ede495543e59101d4b5af8b651d7b4d0b4edf5b1bf
|
|
BLAKE2b-256 checksum How to use checksums |
dac013c1236fa802a5e05b1cd9fce0a115ab83e82ac099352dc9b173c15b8ef4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | anchor_audit-6.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
c482d95add3ffcc79bdfa6526a0c4eae51377b666e1093c239b67c19b591bdd4
|
|
BLAKE2b-256 checksum How to use checksums |
d651f5073b9631ea6a91895c0668153381b926fac72ef8e6054eb05b068f2ebb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / anchor_audit-6.1.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | anchor_audit-6.1.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
de2f95c4eaf80011296f66ef77a47363d233a681c3abb61364b2c5d8ec75ec38
|
|
BLAKE2b-256 checksum How to use checksums |
997ce26324ed7e198df6c1581bf234ad54bc21aa4757a77a94ad0c56c6fc9cd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / anchor_audit-6.1.0-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | anchor_audit-6.1.0-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
749b704905439f4e6552692ec28e9bc98b17ca273afdee2e3553d07af14129af
|
|
BLAKE2b-256 checksum How to use checksums |
be36d3cc997c89af9f507fac9f7d4a510b4428542838803fcc13343086d01d9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for anchor-audit 6.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.