dreadnode/sdk

GitHub: dreadnode/sdk

Stars: 23 | Forks: 2

Logo

Dreadnode Strikes SDK

PyPI - Python Version PyPI - Version GitHub License Tests Pre-Commit Renovate


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. 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: pip install -U dreadnode If you want to build from source: uv sync # Install with multimodal extras uv sync --extras multimodal # Install with training extras uv sync --extras training # Install with all extras uv sync --all-extras ## Installation from PyPI with Optional Features For advanced media processing capabilities (audio, video, images), install the multimodal extras: 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.