Skip to main content

Trust-boundary testing for agentic systems

Project description

CTPF Research Harness

pre-commit CI CodeQL Python 3.11+ License: Apache 2.0 Docs

Trust-boundary testing for agentic systems

CTPF Research Harness investigates Capability Trust Propagation Failure (CTPF): whether low-trust data (for example a tool result) is silently promoted into higher-authority actions when provenance, integrity, authorization scope, or intended audience are not preserved.

The product shape is a small local CLI: capture MCP traffic, mutate it under control via proxy, and keep runs/findings/evidence in SQLite. Individual experiments confirm or fail to observe promotion under pinned conditions — they do not “falsify CTPF” as a class.

Public CLI

Command Role
ctpf proxy Intercept, inspect, modify, and export MCP traffic (Textual TUI)
ctpf experiment Run controlled CTPF experiments
ctpf targets Register MCP targets
ctpf runs / ctpf findings Inspect stored runs and findings
ctpf config / ctpf db Settings and local database maintenance
ctpf --version Package version

The former qai command remains a compatibility alias for ctpf during the identity transition.

Libraries (not root CLI pillars)

IPI document generators + headless callback, inject malicious MCP fixture servers, CXP context generators, and audit enumeration/SARIF export remain in-tree as libraries for research fixtures. They are not equal product modules on the public CLI.

By Richard Spicer · q-uestionable-AI


Quick Start

pip install ctpf
# or from source:
git clone https://github.com/q-uestionable-AI/CTPF.git
cd CTPF
uv sync --group dev

Starting with v0.12.0, the former q-uestionable-ai distribution is a compatibility package that installs the same-version ctpf distribution.

ctpf proxy --help
ctpf targets add "My Server" http://localhost:3000/sse

Framework mappings (library audit)

When using the audit library, findings can map to:

Framework Coverage
OWASP MCP Top 10 All 10 categories
OWASP Agentic Top 10 All 10 categories
MITRE ATLAS Technique-level mapping per finding category
CWE Weakness-level mapping per finding category

Architecture notes: docs/Architecture.md. Published docs: ctpf.q-uestionable.ai.


Legal

All tools are intended for authorized security testing only. Only test systems you own, control, or have explicit permission to test. Responsible disclosure for all vulnerabilities discovered.

License

Apache 2.0

AI Disclosure

This project uses AI-assisted development. All code is reviewed and tested before merge.

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

ctpf-0.12.0.tar.gz (593.8 kB view details)

Uploaded Source

Built Distribution

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

ctpf-0.12.0-py3-none-any.whl (397.2 kB view details)

Uploaded Python 3

File details

Details for the file ctpf-0.12.0.tar.gz.

File metadata

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

File hashes

Hashes for ctpf-0.12.0.tar.gz
Algorithm Hash digest
SHA256 792ff3d2901409a151b81adc90880f518f5a343c8ded7135ea7831014bd3de8d
MD5 5456cb509562a1fa5099a3e6754c9f75
BLAKE2b-256 33bc1861f3015b486b487257c5d24181d40a84f55e68a84ec9abe7f52fd98b4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ctpf-0.12.0.tar.gz:

Publisher: release.yml on q-uestionable-AI/CTPF

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

File details

Details for the file ctpf-0.12.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ctpf-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe12a4a94b9701ee5b5aa179016d894eb46bd13b7bcb153f6e12deab9e598689
MD5 4ca34114a1ba599859699e272678057a
BLAKE2b-256 11779901d78bc9b4f6e5ec46463eb428ed814fb07ddb987d61694693c5b35f26

See more details on using hashes here.

Provenance

The following attestation bundles were made for ctpf-0.12.0-py3-none-any.whl:

Publisher: release.yml on q-uestionable-AI/CTPF

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