Skip to main content

Adaptive AI Agent Execution Layer for risk scoring, audit trails, and regulatory compliance

Project description

Vaara

PyPI Python License CI OpenSSF Scorecard OpenSSF Best Practices

Vaara intercepts agent tool calls, scores each one with a conformal risk interval, and writes a hash-chained audit record. Online learning across five expert signals via Multiplicative Weight Update. Distribution-free conformal coverage on the score.

For broader agent governance (zero-trust identity, capability-based access control, multi-language SDKs) see Microsoft's Agent Governance Toolkit.

Numbers

  • 5,955-entry adversarial corpus (3,422 attack across 8 categories, 2,533 benign)
  • 97.1% attack recall on held-out distribution-shift split, threshold 0.55
  • PAIR adaptive-attacker calibration: ASR 0/25 against Qwen2.5-32B
  • 140 µs / 210 µs p99 inference latency, commodity CPU
  • Distribution-free conformal coverage on the score
  • MWU regret bound O(sqrt(T log N))

Install

pip install vaara

Python 3.10+. Zero runtime deps. Optional XGBoost classifier: pip install vaara[ml].

Quick start

from vaara.pipeline import InterceptionPipeline

pipeline = InterceptionPipeline()
result = pipeline.intercept(
    agent_id="agent-007",
    tool_name="fs.write_file",
    parameters={"path": "/etc/service.yaml", "content": "..."},
    agent_confidence=0.8,
)
if result.allowed:
    pipeline.report_outcome(result.action_id, outcome_severity=0.0)
else:
    print(result.reason)

report_outcome closes the loop. MWU reweights signals based on which ones predicted the outcome.

HTTP API

The same scorer and audit trail are available over HTTP for non-Python agents and for control planes that prefer a network boundary. Install with the server extra:

pip install 'vaara[server]'
vaara serve --host 0.0.0.0 --port 8000
curl -sX POST http://localhost:8000/v1/score \
  -H 'content-type: application/json' \
  -d '{"tool_name":"tx.transfer","agent_id":"agent-007","base_risk_score":0.5}'

The contract is in docs/openapi.yaml. Vaara defines the interface; control-plane and orchestration vendors call it. Integration recipes for adopters live under examples/recipes/.

Where things live

  • docs/formal_specification.md: math. MWU regret bound O(sqrt(T log N)), conformal coverage guarantees, security properties.
  • COMPLIANCE.md: Article-level evidence mapping for EU AI Act (Articles 9, 11 to 15, 61) and DORA (Articles 10, 12, 13). Eval numbers, threshold sweeps, PAIR adversarial calibration.
  • Article 14 runtime: why oversight of agentic AI has to be evidenced as action, not model: why this exists. Posted on the EU Apply AI Alliance Futurium.
  • src/vaara/integrations/: LangChain, OpenAI Agents SDK, CrewAI, MCP server.
  • src/vaara/audit/: hash-chain trail, SQLite backend, append-only WAL.
  • src/vaara/policy/: declarative YAML / JSON policy schema with vaara policy validate (semantic checks) and vaara policy test (Conftest-style cases-file runner) for reviewing the policy artifact in CI independently from agent code.
  • src/vaara/sandbox/: synthetic-trace cold-start calibration.

Vaara helps deployers assemble evidence for their own conformity work. It does not certify compliance or constitute legal advice. Deployers own their obligations under the EU AI Act and other applicable law.

License

LICENSE

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

vaara-0.10.0.tar.gz (405.6 kB view details)

Uploaded Source

Built Distribution

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

vaara-0.10.0-py3-none-any.whl (367.8 kB view details)

Uploaded Python 3

File details

Details for the file vaara-0.10.0.tar.gz.

File metadata

  • Download URL: vaara-0.10.0.tar.gz
  • Upload date:
  • Size: 405.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for vaara-0.10.0.tar.gz
Algorithm Hash digest
SHA256 175f0064a0d8261d2903c8a6330e8592a6a8f52a6eef88115d160a8bfb3e9616
MD5 40512c02f546bdde0e33367320efa147
BLAKE2b-256 df6f14893678ca748423205186810a2cca234f42fc1541133d1dab888bc5a2ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for vaara-0.10.0.tar.gz:

Publisher: release.yml on vaaraio/vaara

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vaara-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: vaara-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 367.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for vaara-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b139fc4da6e45887430ca23afe775ef59cbe17b8d58d042e72b6a08d61f92e19
MD5 816c437b7b153ade41ea69c6f1e9c72a
BLAKE2b-256 276a888e98bdf8f94e46013a2235747ecd8d59db8e59d774860572b42b8f7027

See more details on using hashes here.

Provenance

The following attestation bundles were made for vaara-0.10.0-py3-none-any.whl:

Publisher: release.yml on vaaraio/vaara

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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