Files
fuzzforge_ai/sdk/README.md
Tanguy Duhamel 323a434c73 Initial commit
2025-09-29 21:26:41 +02:00

70 lines
1.7 KiB
Markdown

# FuzzForge SDK
A comprehensive Python SDK for the FuzzForge security testing workflow orchestration platform.
## Features
- **Complete API Coverage**: All FuzzForge API endpoints supported
- **Async & Sync**: Both synchronous and asynchronous client methods
- **Real-time Monitoring**: WebSocket and Server-Sent Events for live fuzzing updates
- **Type Safety**: Full Pydantic model validation for all data structures
- **Error Handling**: Comprehensive exception hierarchy with detailed error information
- **Utility Functions**: Helper functions for path validation, SARIF processing, and more
## Installation
Install using uv (recommended):
```bash
uv add fuzzforge-sdk
```
Or with pip:
```bash
pip install fuzzforge-sdk
```
## Quick Start
```python
from fuzzforge_sdk import FuzzForgeClient
from fuzzforge_sdk.utils import create_workflow_submission
# Initialize client
client = FuzzForgeClient(base_url="http://localhost:8000")
# List available workflows
workflows = client.list_workflows()
# Submit a workflow
submission = create_workflow_submission(
target_path="/path/to/your/project",
volume_mode="ro",
timeout=300
)
response = client.submit_workflow("static-analysis", submission)
# Wait for completion and get results
final_status = client.wait_for_completion(response.run_id)
findings = client.get_run_findings(response.run_id)
client.close()
```
## Examples
The `examples/` directory contains complete working examples:
- **`basic_workflow.py`**: Simple workflow submission and monitoring
- **`fuzzing_monitor.py`**: Real-time fuzzing monitoring with WebSocket/SSE
- **`batch_analysis.py`**: Batch analysis of multiple projects
## Development
Install with development dependencies:
```bash
uv sync --extra dev
```