https://github.com/dreadnode/sdk
Dreadnode Strikes SDK
https://github.com/dreadnode/sdk
Last synced: 10 months ago
JSON representation
Dreadnode Strikes SDK
- Host: GitHub
- URL: https://github.com/dreadnode/sdk
- Owner: dreadnode
- Created: 2025-02-19T23:05:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-13T05:17:25.000Z (10 months ago)
- Last Synced: 2025-06-13T06:24:44.818Z (10 months ago)
- Language: Python
- Homepage: https://docs.dreadnode.io
- Size: 17.1 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Dreadnode Strikes SDK
Strikes is a platform for building, experimenting with, and evaluating AI security agent code.
- **Experiment + Tasking + Observability** in a single place that's lightweight and scales.
- **Track your data** with parameters, inputs, and outputs all connected to your tasks.
- **Log your artifacts** — data, models, files, and folders — to track data of your Dreadnode runs, enabling easy reuse and reproducibility.
- **Measure everything** with metrics throughout your code and anywhere you need them.
- **Scale your code** from a single run to thousands.
```python
import dreadnode as dn
import rigging as rg
from .tools import reversing_tools
dn.configure()
@dataclass
class Finding:
name: str
severity: str
description: str
exploit_code: str
@dn.scorer(name="Score Finding")
async def score_finding(finding: Finding) -> float:
if finding.severity == "critical":
return 1.0
elif finding.severity == "high":
return 0.8
else:
return 0.2
@dn.task(scorers=[score_finding])
@rg.prompt(tools=[reversing_tools])
async def analyze_binary(binary: str) -> list[Finding]:
"""
Analyze the binary for vulnerabilities.
"""
...
with dn.run(tags=["reverse-engineering"]):
binary = "c2/downloads/service.exe"
dn.log_params(
model="gpt-4",
temperature=0.5,
binary=binary
)
findings = await analyze_binary(binary)
dn.log_metric("findings", len(findings))
```
## Installation
We publish every version to PyPi:
```bash
pip install -U dreadnode
```
If you want to build from source:
```bash
poetry install
```
See our **[installation guide](https://docs.dreadnode.io/strikes/install)** for more options.
## Getting Started
Read through our **[introduction guide](https://docs.dreadnode.io/strikes/intro)** in the docs.
## Examples
Check out **[dreadnode/example-agents](https://github.com/dreadnode/example-agents)** to find your favorite use case.