Tool for testing AI system prompts against various attack vectors
Project description
🛡️ Compliant LLM
Compliant LLM is your comprehensive toolkit for ensuring compliance, reliability and security of your AI systems -- globally, across multiple compliance frameworks like NIST, ISO, HIPAA, GDPR, etc.
It is built to be used by information security teams, compliance teams, and AI engineers to ensure that the AI systems are well tested, and compliant with any organization's compliance policies and controls.
It supports multiple LLM providers, and can be used to test prompts, agents, MCP servers and GenAI models.
For detailed docs refer to docs
🎯 Key Features
- 🎯 Security Testing: Test against 8+ attack strategies including prompt injection, jailbreaking, and context manipulation
- 📊 Compliance Analysis: Ensure your systems meet industry standards and best practices
- 🤖 Provider Support: Works with multiple LLM providers via LiteLLM
- 📈 Visual Dashboard: Interactive UI for analyzing test results
- ⚡ End to End Testing: Test your AI systems end to end
- 📄 Detailed Reporting: Comprehensive reports with actionable insights
⚙️ Installation
pip install compliant-llm
Set up OPENAI, ANTHROPIC API keys
touch .env
# write the following in .env
OPENAI_API_KEY=your-api-key-here
ANTHROPIC_API_KEY=your-api-key-here
GOOGLE_API_KEY=your-api-key-here
🚀 Quick Start
- Run a basic red-teaming test via cli:
compliant-llm test --prompt "You are a helpful assistant who can only respond ethically" --strategy "prompt_injection,jailbreak"
- Or get started from the UI:
compliant-llm dashboard
- Or use a configuration file:
compliant-llm test --config_path configs/config.yaml
All reports are automatically saved to the reports/ directory, which is excluded from version control via .gitignore.
- View the latest test report in UI:
compliant-llm dashboard
File Structure
- Reports: All generated reports are saved to the
reports/directory by default (excluded from git) - Configs: Configuration files are stored in the
configs/directory
Available Testing Strategies
prompt_injection: Tests resilience against prompt injection attacksjailbreak: Tests against jailbreak attempts to bypass restrictionsexcessive_agency: Tests if the system prompt can be extractedindirect_prompt_injection: Tests against indirect prompt injection attacksinsecure_output_handling: Tests against insecure output handlingmodel_dos: Tests against model DoS attacksmodel_extraction: Tests against model extraction attackssensitive_info_disclosure: Tests against sensitive information disclosure- Upcoming attacks - ToolPoisoning, BasicMCP, MultiModal...
Roadmap
- Full Application Pen Testing
- Compliant MCP Servers
- Multimodal Testing and Redteaming
- CI/CD
- Support different Compliance Frameworks - HIPAA, GDPR, EU AI Act, etc.
- Control Pane for different controls
- Internal audits and documentation
🤝 Contributors
| Developers | Contributors |
|---|---|
Those who build with compliant-llm. |
Those who make compliant-llm better. |
(You have import compliant-llm somewhere in your project) |
(You create a PR to this repo) |
We welcome contributions from the community! Whether it's bug fixes, feature additions, or documentation improvements, your input is valuable.
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a Pull Request
🔍 Open Analytics
At Compliant LLM, we believe in transparency. We collect minimal, anonymized usage data to improve our product and guide our development efforts.
✅ No personal or company-identifying information
📝 Cite Us
@misc{compliant_llm2025, author = {FiddleCube}, title = {Compliant LLM: Build Secure AI agents and MCP Servers}, year = {2025}, howpublished = {\url{https://github.com/fiddlecube/compliant-llm}}, }
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file compliant_llm-0.1.3.tar.gz.
File metadata
- Download URL: compliant_llm-0.1.3.tar.gz
- Upload date:
- Size: 314.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
983a3c06b20b7b46306b8bd7ca441f6f4299588c37696f8327688601dee1a3a6
|
|
| MD5 |
f88f11586c03aaa3462c170d881e50d9
|
|
| BLAKE2b-256 |
398d9e72c24f97212f27f34577b4a4c71ba2aeb2dd6ef0c5fad0098c6a864948
|
Provenance
The following attestation bundles were made for compliant_llm-0.1.3.tar.gz:
Publisher:
publish-to-pypi.yml on fiddlecube/compliant-llm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
compliant_llm-0.1.3.tar.gz -
Subject digest:
983a3c06b20b7b46306b8bd7ca441f6f4299588c37696f8327688601dee1a3a6 - Sigstore transparency entry: 218818794
- Sigstore integration time:
-
Permalink:
fiddlecube/compliant-llm@edc495ac7a5dae0316f2328e0a8edfc7e2e5a082 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/fiddlecube
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@edc495ac7a5dae0316f2328e0a8edfc7e2e5a082 -
Trigger Event:
push
-
Statement type:
File details
Details for the file compliant_llm-0.1.3-py3-none-any.whl.
File metadata
- Download URL: compliant_llm-0.1.3-py3-none-any.whl
- Upload date:
- Size: 349.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b318334a535ffbebc3f5e3a1ad01a6d676884fc3e5b4b9de38d3bb020be8d8a3
|
|
| MD5 |
13e19d1f4ac3a0b19f6174d90cbd7508
|
|
| BLAKE2b-256 |
5d6f98d7c258ad174bd0926035a44ca49cdaf67257cf1e01b0eccfb01ebac48d
|
Provenance
The following attestation bundles were made for compliant_llm-0.1.3-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on fiddlecube/compliant-llm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
compliant_llm-0.1.3-py3-none-any.whl -
Subject digest:
b318334a535ffbebc3f5e3a1ad01a6d676884fc3e5b4b9de38d3bb020be8d8a3 - Sigstore transparency entry: 218818797
- Sigstore integration time:
-
Permalink:
fiddlecube/compliant-llm@edc495ac7a5dae0316f2328e0a8edfc7e2e5a082 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/fiddlecube
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@edc495ac7a5dae0316f2328e0a8edfc7e2e5a082 -
Trigger Event:
push
-
Statement type: