Skip to main content

Behavioral telemetry and policy enforcement for AI agents

Project description

quint-agent

Behavioral telemetry and policy enforcement for AI agents.

PyPI CI License: Apache 2.0

Capture every prompt, tool call, and tool result from your AI agents. Enforce YAML-defined policy at the tool-call boundary. Replay sessions in the cloud.

Install

pip install 'quint-agent[anthropic]'  # or [langchain], [openai], [mcp], [all]

30-second example (raw Anthropic loop)

import anthropic
import quint_agent
from quint_agent.integrations.anthropic import guarded_dispatch

quint_agent.init(api_key="qak_...")  # default policy blocks .env reads, rm -rf, etc.

def read_file(path: str) -> str:
    return open(path).read()

tools_map = {"read_file": read_file}
client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    tools=[{"name": "read_file", "description": "Read a file", "input_schema": {
        "type": "object", "properties": {"path": {"type": "string"}}, "required": ["path"]
    }}],
    messages=[{"role": "user", "content": "Read /etc/passwd"}],
)

for block in response.content:
    if block.type == "tool_use":
        result = guarded_dispatch(block.name, block.input, tools_map)

LangChain

from quint_agent.integrations.langchain import QuintCallbackHandler

chain.invoke({"input": "..."}, config={"callbacks": [QuintCallbackHandler()]})

@quint.guard decorator

import quint_agent

quint_agent.init(api_key="qak_...")

@quint_agent.guard()
def read_file(path: str) -> str:
    return open(path).read()

read_file(path="/etc/hosts")        # allowed
read_file(path="/home/me/.env")     # raises ToolBlockedError

MCP

from quint_agent.integrations.mcp import QuintMCPClient

async with mcp_client() as session:
    guarded = QuintMCPClient(session)
    result = await guarded.call_tool("read_file", {"path": "/x"})

Custom policy

# my_policy.yaml
rules:
  - name: no_prod_db
    action: block
    when:
      - op: equals
        path: tool_name
        value: execute_sql
      - op: contains
        path: args.connection
        value: prod
quint_agent.init(api_key="...", policy=open("my_policy.yaml").read())

Default policy

Ships with 4 rules out of the box:

  • Block .env file reads
  • Block AWS credentials access
  • Escalate on secrets/ directory reads
  • Block destructive shell commands (rm -rf /)

Override by passing your own policy to quint.init(policy=...).

License

Apache 2.0 -- see LICENSE.

Built by Quint Security.

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

quint_agent-0.1.0.tar.gz (184.7 kB view details)

Uploaded Source

Built Distribution

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

quint_agent-0.1.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file quint_agent-0.1.0.tar.gz.

File metadata

  • Download URL: quint_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 184.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quint_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7a2c5e88f15707c939ff1e00b6358ead557d507617e17d4264272f449ee80c51
MD5 0bd570a5c78f5b9f4b96a42d2c25cb9d
BLAKE2b-256 a43afe9ff1014d5ce8945e4a0fe5dd514b5ef61fdb24806c5502751e1b809e77

See more details on using hashes here.

Provenance

The following attestation bundles were made for quint_agent-0.1.0.tar.gz:

Publisher: release.yml on Quint-Security/quint-agent-py

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

File details

Details for the file quint_agent-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quint_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quint_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0db7ac35a587d0c6c41392744f2dbe4334d5d81eeb90668c04106a0957d6b5d3
MD5 9929eda89d036399384fc0a58fba5080
BLAKE2b-256 784eb18e13cca3737732289f529ed209266dfc6ce03ea78f272eb70f4c1681cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for quint_agent-0.1.0-py3-none-any.whl:

Publisher: release.yml on Quint-Security/quint-agent-py

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