Skip to main content

Agentic Transfer Verifier

This package is the transfer-verification component of the Agentic Security Harness ecosystem. Its source-owned identity and ordered integration gates are recorded in component.yaml and the component roadmap.

Current ecosystem status is extension candidate: the standalone package remains independently usable, and the repository now contains a separately built, optional Harness Extension V1 distribution with exact offline integration tests. It is not released, automatically loaded, sandboxed, signed, or an enforcement component. The former Security Portfolio module contract is preserved as historical, digest-bound R4 evidence.

Research toolkit for validating data, context, provenance, trust, and authority handoffs between heterogeneous AI agent runtimes.

This repository is part of the Agentic AI Security core:

playbooks make boundaries explicit
-> handoff files move work between agents
-> transfer verifier checks provenance, trust, and authority
-> security harness measures boundary failures with evidence

Agent systems increasingly pass information through files, tool output, memory, browser/OCR/audio transcripts, IDE state, and summaries written by another model. Those transfers are often plain text. Plain text is easy to move, but it does not say enough about origin, freshness, trust level, or authority.

This project explores a safer pattern:

agent/runtime output -> structured envelope -> verification checks -> handoff report

What This Checks

  • Did the payload keep its declared source and provenance chain?
  • Did trust level increase without an explicit verifier?
  • Did an agent handoff promote trust or authority across a parent -> child edge?
  • Did an approval remain bound to the exact action it approved?
  • Did authority travel with data accidentally?
  • Did tool output, memory, or an Agent Card become instruction or capability?
  • Is the context stale or replayed?
  • Is the audit trail complete enough to review?
  • Which structural risk components explain the transfer's risk score?

What This Is Not

  • Not a universal standard.
  • Not a vendor certification.
  • Not a sandbox.
  • Not a live exploit tool.
  • Not a replacement for access control, identity, or cryptographic protocols.

The current research release is deliberately small and local. It uses synthetic examples and deterministic checks only.

Relationship To Other Projects

  • agentic-security-harness measures agentic failure modes with traces and scorecards.
  • llm-safety-playbooks gives lightweight task-brief rules for making LLM and agent boundaries explicit before deeper verification is available.
  • ai-agent-handoff provides a practical file-based handoff protocol for coding agents.
  • agentic-transfer-verifier focuses on validating the handoff data itself: envelope, provenance, trust level, authority, freshness, and auditability.

Portfolio-level documentation authority and public/private storage rules live in the Documentation Contract. This repository owns transfer-verification models; it does not redefine the whole portfolio.

Install

git clone https://github.com/krivonosoff161/agentic-transfer-verifier
cd agentic-transfer-verifier
pip install .
python -m pytest -q

For contributor work, use pip install -e .[dev]. The package currently exposes a Python API and no command-line entry point. Its CI builds both an sdist and wheel on Linux and Windows for Python 3.10-3.12, then installs the wheel in a fresh virtual environment and exercises the public verification contract. See Package and CI contract.

The optional nested extension distribution is documented separately in Transfer Verifier Harness Extension V1. It uses explicit operator inspection and approval, consumes only canonical observations and digest references, and emits advisory findings. Installing the standalone package does not install or activate the extension.

The coordinated source candidates are agentic-transfer-verifier==0.2.1 and agentic-transfer-verifier-harness-extension==1.0.1. Build/install commands live in the extension document. Harness main declares a source-only transfer extra for this exact pair, but neither companion distribution is published and the published Harness v1.3.0 metadata does not contain that extra. Public pip install agentic-security-harness[transfer] support therefore remains unavailable; exact companion publication and newer Harness package metadata are separate release gates.

Minimal Example

from agentic_transfer_verifier import (
    TransferEnvelope,
    ProvenanceStep,
    verify_envelope,
)

envelope = TransferEnvelope(
    envelope_id="demo-1",
    producer="agent-a",
    consumer="agent-b",
    payload_kind="summary",
    trust_level="untrusted",
    authority_scope="none",
    payload={"summary": "User asked for a docs review."},
    provenance=[
        ProvenanceStep(actor="user", action="created", source="chat"),
        ProvenanceStep(actor="agent-a", action="summarized", source="TASK.md"),
    ],
)

report = verify_envelope(envelope)
print(report.status)       # PASS
print(report.findings)     # []

Risk Model Example

from agentic_transfer_verifier import assess_transfer_risk

risk = assess_transfer_risk(envelope)
print(risk.score)       # 0.0
print(risk.components)  # provenance, authority, approval, freshness, auditability

The risk score is deterministic and structural. It is not a probability, not a certification result, and not a replacement for identity, signatures, runtime isolation, or policy enforcement. See Trust/risk model.

Formal Transfer Profile v0.2

v0.2 adds a multi-dimensional profile for parent -> child agent transfers:

from agentic_transfer_verifier import assess_transfer_profile, scenario_corpus

for scenario in scenario_corpus():
    profile = assess_transfer_profile(scenario.envelope, parent=scenario.parent)
    print(scenario.name, profile.level, profile.to_dict()["score"])

Built-in scenarios currently cover:

  • clean handoff;
  • unverified trust promotion;
  • tool output consumed as instruction;
  • approval laundering;
  • Agent Card capability drift;
  • replayed memory consumed as policy;
  • missing provenance audit gap.

See Formal transfer model v0.2.

Adversarial Chain Model

The next research layer models theoretical compromise as a chain:

ingress -> role confusion -> trust promotion -> authority/capability gain
-> action or persistence -> evidence degradation
from agentic_transfer_verifier import assess_attack_chain, attack_chain_corpus

for chain in attack_chain_corpus():
    assessment = assess_attack_chain(chain)
    print(chain.name, assessment.level, assessment.observed_signals)

See Adversarial transfer detection model.

Private Asset Leakage Model

The sink model checks whether a protected asset moves to the wrong output surface:

from agentic_transfer_verifier import assess_sink_attempt, leakage_scenario_corpus

for case in leakage_scenario_corpus():
    assessment = assess_sink_attempt(case)
    print(case.name, assessment.level, assessment.to_dict()["score"])

The built-in example uses a synthetic PRIVATE_TRADING_SIGNAL_CANARY, not a real trading strategy. It models allowed private delivery, public report leakage, external LLM context leakage, debug trace exposure, memory persistence, redacted training export, and GitHub issue/PR leakage.

See Private asset leakage model.

Current Status

Research v0.2:

  • local Python package;
  • structured transfer envelope;
  • deterministic verifier;
  • deterministic transfer risk assessment;
  • formal transfer profile for trust, identity, authority, capability, replay, instruction-boundary, and audit dimensions;
  • synthetic v0.2 scenario corpus;
  • adversarial transfer-chain model and synthetic chain corpus;
  • private asset leakage model and synthetic sink corpus;
  • tests;
  • docs for the problem and boundary model.

No network calls. No provider credentials. No real target integrations.

Docs

License

MIT. Research and education only.

Download files

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

Source Distribution

agentic_transfer_verifier-0.2.1.tar.gz (93.9 kB view details)

Uploaded Source

Built Distribution

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

agentic_transfer_verifier-0.2.1-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file agentic_transfer_verifier-0.2.1.tar.gz.

File metadata

File hashes

Hashes for agentic_transfer_verifier-0.2.1.tar.gz
Algorithm Hash digest
SHA256 db54b305c11a3ac7881437514b812271d99a163dc4e199540daff2f03437b4e5
MD5 a1e640cdda79f090d037c9ad1e3fc2a3
BLAKE2b-256 81b0786d365694d8fb4d776be37c39f76193d31fd32f67f1bc46c2ba16dae8b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentic_transfer_verifier-0.2.1.tar.gz:

Publisher: release-package.yml on krivonosoff161/agentic-transfer-verifier

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

File details

Details for the file agentic_transfer_verifier-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_transfer_verifier-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 815477f99dd75eb04ff3b23c96ebfbc0182c8f6cefc4bf92708b48553c666153
MD5 ef83fc3b948c5e32eabc6a2492c8de5f
BLAKE2b-256 686625ed69249e3532801495b56e6b6487653b8aed9f163a4c0d9a494bab54b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentic_transfer_verifier-0.2.1-py3-none-any.whl:

Publisher: release-package.yml on krivonosoff161/agentic-transfer-verifier

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

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page