mirror of
https://github.com/FuzzingLabs/fuzzforge_ai.git
synced 2026-08-29 05:40:41 +02:00
Initial commit
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user