mirror of
https://github.com/FuzzingLabs/fuzzforge_ai.git
synced 2026-02-13 19:12:44 +00:00
70 lines
1.7 KiB
Markdown
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
|
|
``` |