Metadata-Version: 2.4
Name: crucible-ai
Version: 0.1.0.dev0
Summary: Red-teaming framework for AI applications — LLMs, agents, RAG, MCP servers
Project-URL: Homepage, https://github.com/vbelmonte/crucible-ai
Project-URL: Documentation, https://crucible-ai.readthedocs.io
Project-URL: Repository, https://github.com/vbelmonte/crucible-ai
Project-URL: Issues, https://github.com/vbelmonte/crucible-ai/issues
Author-email: Victor Belmonte <lilvictor691011@gmail.com>
License: Apache-2.0
License-File: NOTICE
Keywords: ai,llm,owasp,red-teaming,security
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Security
Requires-Python: >=3.11
Requires-Dist: anthropic>=0.25
Requires-Dist: click>=8.1
Requires-Dist: google-generativeai>=0.5
Requires-Dist: httpx>=0.27
Requires-Dist: jinja2>=3.1
Requires-Dist: mcp>=1.0
Requires-Dist: ollama>=0.2
Requires-Dist: openai>=1.30
Requires-Dist: pillow>=10.0
Requires-Dist: pydantic>=2.6
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.7
Requires-Dist: structlog>=24.1
Requires-Dist: tenacity>=8.2
Provides-Extra: agents
Requires-Dist: langchain>=0.2; extra == 'agents'
Requires-Dist: langgraph>=0.1; extra == 'agents'
Provides-Extra: browser
Requires-Dist: playwright>=1.40; extra == 'browser'
Provides-Extra: chatplatforms
Requires-Dist: discord-py>=2.0; extra == 'chatplatforms'
Requires-Dist: python-telegram-bot>=20.0; extra == 'chatplatforms'
Requires-Dist: slack-sdk>=3.0; extra == 'chatplatforms'
Provides-Extra: cloud
Requires-Dist: boto3>=1.34; extra == 'cloud'
Requires-Dist: google-cloud-aiplatform>=1.50; extra == 'cloud'
Provides-Extra: dev
Requires-Dist: hypothesis>=6.100; extra == 'dev'
Requires-Dist: mkdocs-material>=9.5; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pip-audit>=2.7; extra == 'dev'
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: respx>=0.21; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Requires-Dist: types-pillow>=10.0; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0; extra == 'dev'
Provides-Extra: garak
Requires-Dist: garak>=0.15; extra == 'garak'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20; extra == 'otel'
Description-Content-Type: text/markdown

# crucible-ai

[![CI](https://github.com/vbelmonte/crucible-ai/actions/workflows/ci.yml/badge.svg)](https://github.com/vbelmonte/crucible-ai/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/crucible-ai.svg)](https://pypi.org/project/crucible-ai/)
[![Python](https://img.shields.io/pypi/pyversions/crucible-ai.svg)](https://pypi.org/project/crucible-ai/)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)

**Red-teaming framework for AI applications.**

Runs reproducible attack batteries based on [OWASP Top 10 for LLM Applications 2025](https://owasp.org/www-project-top-10-for-large-language-model-applications/), MITRE ATLAS, and NIST AI RMF against your AI application via its public interface — no model access required.

```bash
pip install crucible-ai
crucible scan --config scan.yaml
```

## What it tests

- LLMs in cloud (OpenAI, Anthropic, Gemini)
- Local models (Ollama, vLLM, llama.cpp)
- Webhooks and HTTP chatbots (n8n, Flowise, custom)
- Autonomous agents (LangGraph, CrewAI, AutoGen)
- RAG systems
- MCP servers (stdio and HTTP)

## Quick start

```yaml
# scan.yaml
target:
  provider: webhook
  url: "https://your-chatbot.example.com/chat"
  response_field: "output"

probes:
  categories: [LLM01, LLM07, LLM10]
```

```bash
crucible scan --config scan.yaml
```

## Installation

```bash
pip install crucible-ai

# With agent support
pip install "crucible-ai[agents]"

# Full install
pip install "crucible-ai[agents,browser,otel]"
```

## Documentation

- [SPEC.md](SPEC.md) — Complete technical specification (Spanish)
- [CHANGELOG.md](CHANGELOG.md) — Release notes and version history
- [CLAUDE.md](CLAUDE.md) — Development guidance for Claude Code

## License

Apache 2.0 — see [LICENSE](LICENSE).

## Responsible use

crucible-ai is designed for authorized security testing of AI systems. Only use it against systems you own or have explicit written permission to test. See [SECURITY.md](SECURITY.md) for our responsible disclosure policy.
