| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
A bag of minor assorted improvements to data formatting.
+ show job results in the jobs table
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Implement SYZOS_API_NESTED_AMD_INJECT_EVENT to allow the L1 guest to
inject events (Interrupts, NMIs, Exceptions) into L2 via the VMCB EVENTINJ
field.
This primitive abstracts the VMCB bit-packing logic
(Vector, Type, Valid, Error Code) into a high-level API, enabling the fuzzer
to semantically mutate event injection parameters.
This targets KVM's nested event merging logic, specifically where L0 must
reconcile L1-injected events with Host-pending events.
|
| |
|
|
|
|
|
|
|
| |
Implement the SYZOS_API_NESTED_AMD_STGI and SYZOS_API_NESTED_AMD_CLGI
primitives to toggle the Global Interrupt Flag (GIF). These commands
execute the stgi and clgi instructions respectively and require no
arguments.
Also add a test checking that CLGI correctly masks NMI injection from L0.
|
| | |
|
| |
|
|
|
|
| |
When configuring focus areas before directed fuzzing, construct regular
expressions that match the exact function names. Otherwise, we end up
adding more functions than intended.
|
| |
|
|
|
| |
We may want to use a weaker model for some workflows.
Allow to use different models for different workflows.
|
| |
|
|
| |
Make it clearer how to add new commands.
|
| |
|
|
|
|
|
|
|
|
| |
Implement the SYZOS_API_NESTED_AMD_INVLPGA primitive to execute the
INVLPGA instruction in the L1 guest.
This allows the fuzzer to target KVM's Shadow MMU and Nested Paging (NPT)
logic by invalidating TLB entries for specific ASIDs.
Also add a simple syzlang seed/regression test.
|
| |
|
|
|
| |
Add race:harmful/benign label.
Set it automatically by confirmed AI jobs.
|
| |
|
|
|
|
|
|
|
| |
API requests episodically fail due to internal datastore errors, some timeouts, etc.
Failure of some requests is especially unpleasant and leads to lots of wasted work
(uploading of syz-ci build info, job completion, etc). So we retry requests
several times. We do this always for all requests, since we don't expect any of them
to legitimately fail (we don't send malformed requests), and it won't harm for any
request types.
|
| |
|
|
| |
Allow to set the Correct flag for completed AI jobs.
|
| |
|
|
|
|
| |
The bug lists on the main page are extremely long,
it's very hard to navigate between them.
Make bug lists collapsible.
|
| |
|
|
|
|
|
|
| |
After addition of collapsible sections on the bug page,
we show 2 captions for the duplicate bugs table.
One for the collapsible span "Duplicate bugs (2)",
and another inside for the table "duplicates (2):".
Remove the inner duplicate caption.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Consider Cc'd mailing lists when selecting the exact base commit.
Among the base commits determined based on blob sha value from the git
patch, first select the ones that match both the trees of the Cc'd
subsystems and their primary branches.
If it gives no exact match, select a base commit that comes from a tree
of a Cc'd subsystem. As fallback, take any subsystem tree.
This should prevent valid, but suprising patch series triage results.
|
| |
|
|
|
| |
Return the commits that represent unique sets of branches.
Sort the list topologically, breaking ties by commit date.
|
| |
|
|
|
|
| |
Lay down foundation for spanner DB migrations by adding Jobs.Correct field.
This will allow us to test deployment of such changes.
The field will be used to record results of manual assessment of AI job results.
|
| |
|
|
|
|
|
|
| |
If the code uses "select *", it's not possible to update spanner schema.
Adding a field to spanner first leads to "missing field in Go struct" errors,
adding a field to Go struct first leads to "missing field in spanner" errors.
Replace "select *" with concrete set of fields the code knowns about.
This should allow adding fields to spanner first.
|
| | |
|
| |
|
|
| |
Initial commit of the SYZOS technical documentation
|
| |
|
|
|
|
| |
It is required to build gvsior.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some syzbot dashboard pages are guarded by an AppEngine login page. The
-download flag helps generate an input.json out of a bug report but it
currently uses simple HTTP GET commands without any authentication. When
called on a bug behind a login page, it received a login page HTML
instead of a json payload and fails in confusing ways.
The authentication page can be skipped using an authentication token.
It's easy to retrieve a token from the gcloud auth print-access-token
command.
|
| |
|
|
|
|
| |
Add workflow that can be used for moderation of UAF bugs (consistent/actionable reports),
such UAF bugs can be upstreammed automatically, even if they happened only once
and don't have a reproducer.
|
| |
|
|
|
|
| |
This is useful to save time when iterating on syz-aflow changes.
Note that this also sets a cache size of 10GB by default
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rephrase the prompt to be only about KCSAN,
currently it has some leftovers from more generic assessment prompt
that covered KASAN bugs as well (actionability).
Also add Confident bool output.
We may want to act on both benign/non-benign,
so we need to know when LLM wasn't actually sure either way.
This should also be useful for manual verification/statistics.
If LLM is not confident and can can admit that, it's much better
than giving a wrong answer. But we will likely want to track
percent of non-confident answers.
|
| |
|
|
|
|
|
|
|
|
| |
We return Ctime from CreationTime. But "C" does not stand for "creation",
it stands for "status change" (inode update). It may or may not be the
creation time.
Use Btime (birth time) for creation time.
Fixes #6547
|
| | |
|
| |
|
|
| |
If the author of a patch series provides a base-commit tag, extract and store the hash.
|
| |
|
|
|
| |
Paths passed to filepath.WalkDir are absolute (include the dir prefix), account for that.
Strings returned by filepath.Ext include the dot, account for that as well.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
TitleToCrashType is a simple function with no heavy dependencies
that is used by the dashboard app.
Currnetly we have to import pkg/report into dashboard/app,
and this package has lots of heavy deps (symbolizer, demangler,
coverage report generation, etc).
Move TitleToCrashType to pkg/report/crash (where it arguably belongs anyway).
|
| | |
|
| |
|
|
|
| |
rep.Output and rep.Report offsets are different because rep.Report is symbolized
Fix converts offsets from symbolized version back to the raw version.
|
| |
|
|
|
| |
Before traversing the list of trees, attempt to determine the base
tree/commit by looking at the SHA hashes from the supplied git diffs.
|
| |
|
|
|
| |
It will accelerate various commit search operations by orders of
magnitude.
|
| |
|
|
|
|
| |
Given a git diff, determine the latest commit where the modified files
still have the exact sha hashes they had at the moment the git patch was
created.
|
| |
|
|
|
| |
Add a commitChangeset() method to simplify setting up repository states
in tests.
|
| |
|
|
| |
Return not just the modified files, but also their blob hashes.
|
| |
|
|
|
| |
Keep vmlinux for debug info/addr2line.
Keep compile_commands.json, we need it for codesearch.
|
| |
|
|
| |
It may be useful to use smaller than 1TB cache size for local test runs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bumps [cloud.google.com/go/batch](https://github.com/googleapis/google-cloud-go) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/dlp/v1.13.0...dlp/v1.14.0)
---
updated-dependencies:
- dependency-name: cloud.google.com/go/batch
dependency-version: 1.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
| |
|
|
|
| |
Add server for running agentic workflows as part of syzbot.
The architecture and use are similar to that of syz-ci.
|
| |
|
|
|
|
|
| |
syz-aflow tool can be used to invoke any agentic workflow registered with pkg/aflow.
For example, to run the patching workflow use:
go run ./tools/syz-aflow -input=input.json -download-bug=d8fd35fa6177afa8c92b
go run ./tools/syz-aflow -input=input.json -workflow=patching-baseline -workdir=workdir
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|