Skip to main content

Security Agent SDK

Python SDK that defines data models and JSON Schemas for interoperability between a crypto agent and auditor agents.

Installation

pip install security_agent_sdk

Quick start

from security_agent_sdk.models.request import RegistrationRequest
from security_agent_sdk.models.response import AuditResponse
from security_agent_sdk.validation import validate_input_data, validate_output_data, schema_path

# Validate input data (JSON object)
validate_input_data(data, schema_path("RegistrationRequest.json"))
req = RegistrationRequest(**data)

# Validate output data
validate_output_data(result, schema_path("AuditResponse.json"))
summary = AuditResponse(**result)

Example input data:

{
  "vault": {
    "address": "0x1234567890123456789012345678901234567890",
    "chain": "ethereum"
  },
  "contracts": [
    { "address": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd", "chain": "ethereum" }
  ],
  "github_repo_url": "https://github.com/org/repo"
}

System design

SD Scheme

Example: seller.py

security_agent_sdk/examples/seller.py contains a minimal mock security agent wired into a job-processing loop:

  • SecurityAgent is an abstract base class that defines the process_request(requirement: RegistrationRequest) -> AuditResponse interface.
  • MockSecurityAgent implements the interface and returns a static AuditResponse with snake_case fields.
  • seller() initializes a VirtualsACP client, listens for incoming jobs, validates the requirement payload with RegistrationRequest.model_validate(...), calls the agent, and delivers the resulting JSON back to the network.
  • A lightweight thread-based queue is used to buffer and process jobs.

ACP Sandbox

You can see the agent in action in the ACP Sandbox

Link to ACP Sandbox: https://app.virtuals.io/acp

ACP Sandbox screenshot

Running the example

  1. Set the required environment variables:
export WHITELISTED_WALLET_PRIVATE_KEY=
export SELLER_AGENT_WALLET_ADDRESS=
export SELLER_ENTITY_ID=
  1. Run the seller:
python -m security_agent_sdk.examples.seller

The process prints lifecycle logs and responds to tasks by validating input requirements and returning an AuditResponse.

License

MIT

Metadata

Release files for security-agent-sdk 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for security-agent-sdk 0.1.1
File Size Uploaded Provenance Actions
security_agent_sdk-0.1.1.tar.gz 6.5 kB Without provenance Details for security_agent_sdk-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for security-agent-sdk 0.1.1
File Interpreter ABI Platform Actions
security_agent_sdk-0.1.1-py3-none-any.whl Python 3 none any Details for security_agent_sdk-0.1.1-py3-none-any.whl

Total release size: 12.4 kB

Release files / security_agent_sdk-0.1.1.tar.gz

Download URL security_agent_sdk-0.1.1.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b6f82fade2ec213e51de9df8088ac0afcaecdafb74981c1988ebc6f0a77d1c57
BLAKE2b-256 checksum
How to use checksums
b5bf376f975a75a9ac37c5ee6285e3db05ac8bef577cd8b5c7e4185477afde8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.11

Release files / security_agent_sdk-0.1.1-py3-none-any.whl

Download URL security_agent_sdk-0.1.1-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ce638c2339fd26343d17475a4faaaf5e25046c64bcdf2d25376df8648eee4eb
BLAKE2b-256 checksum
How to use checksums
1822061b81c420226530a11cc361bb0005e5737093fbafff31952ca37d60a3e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.11

Security for security-agent-sdk 0.1.1

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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