Skip to main content

syzbot-client

syzbot-client is an unofficial Python client for querying, parsing, and analyzing bug reports from the syzbot dashboard. It uses the versioned syzbot public JSON API and provides typed Python models for bug listings and details.

Use it to:

  • query open, fixed, and invalid bugs from public syzbot targets;
  • check whether a kernel crash title matches a known syzbot report;
  • retrieve bug details, crash reports, kernel configs, and reproducers; and
  • build and cache multi-target snapshots for repeated analysis.

The client discovers live dashboard targets, records partial snapshot failures, and applies conservative HTTP throttling and retries. It also ships inline type information through py.typed.

This project is not affiliated with or endorsed by the syzkaller or syzbot maintainers.

Installation

Python 3.10 or newer is required.

pip install syzbot-client

Quick start

Check whether a crash is already known, then retrieve the complete record only for the selected match:

from syzbot_client import BugGroup, SyzbotClient, SyzbotIndex

with SyzbotClient() as client:
    bugs = client.fetch_group("upstream", BugGroup.OPEN)
    matches = SyzbotIndex(bugs).match(
        "possible deadlock in example_func"
    )

    if matches:
        summary = matches[0].bug
        bug = client.fetch_bug(summary.link)
        print(matches[0].kind.value, bug.title)

Other common workflows include discovering targets with client.fetch_targets(), aggregating targets with client.fetch_snapshot(), retrieving linked artifacts with client.fetch_text(), and persisting results with save_snapshot() and load_snapshot(). See the usage guide for complete, runnable examples and error-handling guidance.

Agent skill

The repository includes a ready-to-use Agent Skills-compatible package that teaches coding agents how to query syzbot data, match crash titles, fetch reproducers, and reuse cached snapshots with this library.

Copy skills/syzbot-client/ from a source checkout into the skills directory recognized by your agent. Compatible agents can then invoke $syzbot-client; the Python package and the skill can also be used independently.

Development and contributing

Create a project-local environment and install the development dependencies:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --editable '.[dev]'

Then run the standard checks:

python -m pytest
python -m ruff check src tests
python -m mypy src

Windows setup, coding conventions, test requirements, artifact validation, and the maintainer-only release workflow are documented in the contribution guide.

Security

The client sends only HTTP GET requests and rejects cross-origin links returned by the dashboard. Do not load snapshots from untrusted sources without reviewing them. Report suspected vulnerabilities through the repository's private security reporting channel rather than a public issue.

License

Licensed under the Apache License 2.0.

Release files for syzbot-client 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for syzbot-client 0.1.0
File Size Uploaded
syzbot_client-0.1.0.tar.gz 26.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for syzbot-client 0.1.0
File Interpreter ABI Platform
syzbot_client-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 44.2 kB

Release files / syzbot_client-0.1.0.tar.gz

Download URL syzbot_client-0.1.0.tar.gz
Size 26.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4842e5641b8a5823c60fb5b4d2313a017cb57db8a9d58daa102b8aeabac71cb6
BLAKE2b-256 checksum
How to use checksums
aa287ffabeb4e3ab8087626da09861e1e914ec444f7c2ce7e1744664cffeb713
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.8

Release files / syzbot_client-0.1.0-py3-none-any.whl

Download URL syzbot_client-0.1.0-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e3f7333d6df4d0669238d23da05de4de1ca814c823cfeb9640d813f65207877
BLAKE2b-256 checksum
How to use checksums
0f5defd498538bf5dec17f35547789e5f122966832d989a437ee868bbae452cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page