MCPcopy
hub / github.com/google/syzkaller

github.com/google/syzkaller @main sqlite

repository ↗ · DeepWiki ↗
10,407 symbols 40,648 edges 922 files 1,213 documented · 12%
README

syzkaller - kernel fuzzer

CI Status OSS-Fuzz Go Report Card Coverage Status GoDoc License

syzkaller ([siːzˈkɔːlə]) is an unsupervised coverage-guided kernel fuzzer.\ Supported OSes: FreeBSD, Fuchsia, gVisor, Linux, NetBSD, OpenBSD, Windows.

Mailing list: syzkaller@googlegroups.com (join on web or by email).

Found bugs: Darwin/XNU, FreeBSD, Linux, NetBSD, OpenBSD, Windows.

Documentation

Initially, syzkaller was developed with Linux kernel fuzzing in mind, but now it's being extended to support other OS kernels as well. Most of the documentation at this moment is related to the Linux kernel. For other OS kernels check: Darwin/XNU, FreeBSD, Fuchsia, NetBSD, OpenBSD, Starnix, Windows, gVisor, Akaros.

Disclaimer

This is not an official Google product.

Extension points exported contracts — how you extend this code

IrType (Interface)
IrType is the intermediate representation of the strace output Every argument of a system call should be represented in [31 …
tools/syz-trace2syz/parser/intermediate_types.go
Node (Interface)
Node is AST node interface. [18 implementers]
pkg/ast/ast.go
Source (Interface)
Source describes the interface wanted by the consumers of requests. [19 implementers]
pkg/fuzzer/queue/queue.go
Pool (Interface)
Pool represents a set of test machines (VMs, physical devices, etc) of particular type. [17 implementers]
vm/vmimpl/vmimpl.go
Extractor (Interface)
(no doc) [8 implementers]
sys/syz-extract/extract.go
Manager (Interface)
(no doc) [8 implementers]
pkg/rpcserver/rpcserver.go
Sender (Interface)
Sender defines the interface for sending emails. [4 implementers]
pkg/email/sender/sender.go
RecvType (Interface)
(no doc) [24 implementers]
pkg/flatrpc/conn.go

Core symbols most depended-on inside this repo

Errorf
called by 1325
syz-ci/manager.go
Errorf
called by 1018
pkg/ast/scanner.go
Logf
called by 436
pkg/log/log.go
Contains
called by 421
pkg/vcs/vcs.go
Error
called by 384
tools/syz-trace2syz/parser/strace.go
compile
called by 378
pkg/report/report.go
ReportCrash
called by 368
dashboard/dashapi/dashapi.go
Add
called by 297
pkg/covermerger/covermerger.go

Shape

Function 4,298
Method 4,017
Struct 1,762
TypeAlias 163
Interface 75
FuncType 47
Class 45

Languages

Go95%
TypeScript5%
Python1%

Modules by API surface

pkg/flatrpc/flatrpc.go602 symbols
syz-cluster/dashboard/static/bootstrap.bundle.min.js390 symbols
prog/types.go177 symbols
dashboard/app/main.go130 symbols
dashboard/dashapi/dashapi.go118 symbols
dashboard/app/entities_datastore.go103 symbols
dashboard/app/aidb/crud.go81 symbols
syz-cluster/dashboard/static/jquery-3.7.1.min.js80 symbols
dashboard/app/api.go80 symbols
dashboard/app/util_test.go79 symbols
pkg/manager/http.go78 symbols
dashboard/app/ai.go74 symbols

Dependencies from manifests, versioned

4d63.com/gocheckcompilerdirectivesv1.3.0 · 1×
4d63.com/gochecknoglobalsv0.2.2 · 1×
cel.dev/exprv0.25.2 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/batchv1.19.0 · 1×
cloud.google.com/go/bigqueryv1.77.0 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/loggingv1.18.0 · 1×
cloud.google.com/go/longrunningv1.0.0 · 1×

For agents

$ claude mcp add syzkaller \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact