github.com-google-syzkaller
all · 7 devs · built 2026-06-08
Repository snapshot
Monthly reports
Highlights
- Extensive enhancements to *AI/LLM agent capabilities* within `pkg/aflow`, including robust loop prevention for LLM agents [45fe9f93 · Alexander Potapenko], refined compression prompts [086c700e · Dmitry Vyukov], and dynamic target architecture support [aff97949 · Aleksandr Nogikh].
- Significant improvements to *syz-agent* and *GCE VM support*, introducing multi-architecture support for `syz-agent` (especially *ARM64 GCE*) [aa094161 · Aleksandr Nogikh], GCE kernel embedding [3c0d2131 · Aleksandr Nogikh], and ARM64 boot parameter handling [07f562eb · Aleksandr Nogikh].
- The *dashboard* gained new features for *AI job management*, such as restarting failed AI workflows [96463d10 · Alexander Potapenko] and manual triggering of AI patch iterations [681715f7 · Aleksandr Nogikh], alongside including target OS/Arch in AI jobs [f258cf74 · Aleksandr Nogikh].
- Key infrastructure and tooling improvements include a security enhancement in `pkg/lore-relay` to ignore commands on DKIM failure [6b4a8443 · Aleksandr Nogikh], performance improvements in `pkg/aflow` for base commit resolution [b6985d9c · Aleksandr Nogikh], and the addition of a script to create *FreeBSD GCE images* [1623904f · Mark Johnston].
- Multiple refactorings in `pkg/aflow/flow/assessment` improved maintainability by externalizing instruction texts into Markdown files (e.g., [a3d70215 · Marco Elver], [ddbf7375 · Marco Elver], [abbf955f · Marco Elver]).
Observations
- The waste score surged by 209% (current: 5, 5-month average: 2), indicating a significant increase in rework and bug fixing activity compared to the 5-month average.
- A notable number of bug fixes and rework occurred within the *`pkg/aflow`* module, including fixes for git commit sandboxing [3b7f8244 · Aleksandr Nogikh], schema conversion error handling [6a297da6 · Dmitry Vyukov], graceful handling of null elements in slices [4c36e7e5 · Dmitry Vyukov], and a fix for the LLM agent's tool history counters [12e1b29a · Alexander Potapenko].
- The *dashboard's email processing subsystem* required multiple critical bug fixes, addressing issues like infinite email loops and spurious error replies [0fdf6192 · Aleksandr Nogikh] and avoiding syzbot context-addressed email replies [199971f4 · Haihan Jiang].
- Several build system and tooling issues were addressed, such as preventing `check-syzos.sh` from running during cross-building [6ee22bbd · Mark Johnston], fixing the HTML validation script for cross-platform reliability [8dd01ae4 · Mark Johnston], and resolving a potential null pointer dereference in the *executor module* [61938c77 · Mark Johnston].
- Commit volume increased by 56% (311 commits this month vs 200-commit 5-month average), and total output increased by 34% (20 this month vs 15-output 5-month average), reflecting a period of high development activity.
Performance over time
ETV stacked by Growth, Maintenance and Fixes — 90-day moving average, normalized to ETV / month.
Average performance per developer
ETV per active developer per month — 30-day moving average.
Active developers over time
Unique developers committing each day — 90-day moving average.
Knowledge concentration
How dependent is this repo on a small number of contributors? Higher top-1 share = higher key-person risk.
Aleksandr Nogikh owns 45.8 % of commits.
Top contributors
Most impactful commits
Top 20 by ETV in the all-time window.
- 2.1ETVall: apply modernize linterDmitry Vyukov · 14befbc8 · 2026-06-01
- 1.9ETVall/mocks: updateTaras Madan · 49900278 · 2025-03-27
- 1.8ETVall: use any instead of interface{} Any is the preferred over interface{} now in Go.Dmitry Vyukov · a83befa0 · 2025-12-19
- 1.7ETVall: trivial for-loop range refactorings Fixes for "Use range over integer instead of traditional for loop" linter warnings that boil down to mechanical replacement. In certain cases untyped constants like 2e5 are converted to integer literals, because they are considered as floats and can't be used in range expressionsAlexander Potapenko · cf656f57 · 2026-04-17
- 1.4ETVdashboard/app: fix API access checks Currently we permit per-namespace clients to access global APIs. For example, a secondary OS syz-manager client can poll bugs from all namespaces. This is wrong and bad. Don't permit namespace clients to access global APIs.Dmitry Vyukov · c8d8c52d · 2026-02-19
- 1.4ETVpkg/aflow: add package for agentic workflowsDmitry Vyukov · 45d8f079 · 2026-01-02
- 1.1ETVsyz-cluster: report session results Provide an API to set up the reporting of finished sessions for which syz-cluster collected reportable findings. The actual sending of the results is to be done in a separate component that would: 1) Call Next() to get the next report to send. 2) Call Confirm() to confirm that the report has been sent. 3) Call Upstream() if the report has been moderated and needs to be sent to e.g. public mailing lists.Aleksandr Nogikh · f20e88b2 · 2025-02-13
- 1.0ETVdashboard/config/linux: add upstream-rust-kasan config Enable RUST as well as other Rust-related configs.Aleksandr Nogikh · b47f9e02 · 2025-05-15
- 1.0ETVdashboard/app: add support for AI workflows Support for: - polling for AI jobs - handling completion of AI jobs - submitting job trajectory logs - basic visualization for AI jobsDmitry Vyukov · 77200b36 · 2025-11-19
- 1.0ETVdashboard/config/linux: disable CONFIG_CGROUP_BPF It seems incredibly difficult to clean up the side effects of this kernel functionality. Keep it enabled only on a new config dedicated specifically for the snapshot-based instance. Closes #5956.Aleksandr Nogikh · 0ea0ca3f · 2025-07-16
- 0.9ETVdashboard/app: react to user comments under AI patches Implement all basic fucntionality of running iteration workflow on new comments and submitting new versions of patches / comment replies. Once in a while, the system will now schedule a patch iteration workflow to react to new user comments. Depending on the result, it will either submit a new version of the series or send an aggregated reply email. New comments on previous versions are for now ignored.Aleksandr Nogikh · c40ea1fc · 2026-04-23
- 0.9ETVexecutor: update flatbuffers Update flatbuffers to v23.5.26, which matches the compiler version in the new env container.Pimyn Girgis · 1cfbf16e · 2025-12-02
- 0.8ETVdashboard/app, pkg/dungeon: implement syzkaller dungeon gamification Introduce the Syzkaller Dungeon, a gamified leaderboard ranking kernel contributors based on their bug-fixing activity. The patch includes: - Backend logic to fetch bug entities from Datastore, compute player XP/levels via deterministic heuristics, map domain emails to corporate Kingdoms, and assign RPG classes based on subsystem tags. - Three new HTTP endpoints (/syz-dungeon, /syz-dungeon/hero, and /syz-dungeon/kingdom) with programmatic JSON support. - Fully interactive frontend HTML templates and styling emphasizing a retro dark-mode aesthetic.Alexander Potapenko · 15d47769 · 2026-02-17
- 0.7ETVpkg/manager: split off diff fuzzer functionality Move the code to a separate pkg/manager/diff package. Split the code into several files.Aleksandr Nogikh · 4f25b9b4 · 2026-01-23
- 0.7ETVdashboard/app: introduce AI job reporting API The API will let us implement external AI job reporters. Several configurable stages are supported.Aleksandr Nogikh · 78c10781 · 2026-04-03
- 0.7ETVpkg/codesearch: add skeleton for code searching tool Add a clang tool that is used for code indexing (tools/clang/codesearch/). It follows conventions and build procedure of the declextract tool. Add pkg/codesearch package that aggregates the info exposed by the clang tools, and allows doing simple queries: - show source code of an entity (function, struct, etc) - show entity comment - show all entities defined in a source file Add tools/syz-codesearch wrapper tool that allows to create index for a kernel build, and then run code queries on it.Dmitry Vyukov · 280ea308 · 2025-11-17
- 0.7ETVdashboard/app: show manager unique coverage 1. Make heatmap testable, move out the spanner client instantiation. 2. Generate spannerdb.ReadOnlyTransaction mocks. 3. Generate spannerdb.RowIterator mocks. 4. Generate spannerdb.Row mocks. 5. Prepare spannerdb fixture. 6. Fixed html control name + value. 7. Added multiple tests. 8. Show line coverage from selected manager. 9. Propagate coverage url params to file coverage url.Taras Madan · 0868754a · 2025-01-09
- 0.7ETVprog: generate choice table only for enabled calls We used to generate a choice table and do its normalization for all present syscalls, also it was not considered during the /prio page generation. Enabled/disabled syscalls were accounted for in the choice table construction, but there's a chance that the resulting table was still somewhat skewed. The situation must have become worse after several thousands of auto syscalls were added.Aleksandr Nogikh · 59712233 · 2025-07-28
- 0.7ETVpkg/manager/diff: add tests Refactor the package to support testing and add a number of basic tests.Aleksandr Nogikh · 30c4bb84 · 2026-01-25
- 0.7ETVall: use min/max functions They are shorter, more readable, and don't require temp vars.Dmitry Vyukov · 5d04aae8 · 2025-01-17