-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Machine-readable logs #75
Comments
One of the major flaws of the current (CSV) format is that the separator ( |
to make scripts like that work https://github.com/matusmarhefka/dfuzzer/issues/75 should be addressed first. Until then it doesn't seem to make much sense to keep the script in the repository. dfuzzer can always be pinned to v1.5 to bring the script back.
Looks like timeouts have never been logged by dfuzzer :-( |
to make scripts like that work https://github.com/matusmarhefka/dfuzzer/issues/75 should be addressed first. Until then it doesn't seem to make much sense to keep the script in the repository. dfuzzer can always be pinned to v1.5 to bring the script back.
As for the random strings, I guess one possible fix would be to process the strings via https://docs.gtk.org/glib/func.strescape.html before printing them out. This might also help with #80, since strings could be wrapped in
|
I'd pick {
"type" : "method_call",
"endian" : "l",
"flags" : 0,
"version" : 1,
"cookie" : 2,
"timestamp-realtime" : 1652039190518701,
"sender" : ":1.147",
"destination" : "org.freedesktop.resolve1",
"path" : "/org/freedesktop/resolve1",
"interface" : "org.freedesktop.resolve1.Manager",
"member" : "ResolveHostname",
"payload" : {
"type" : "isit",
"data" : [
0,
"google.com",
0,
0
]
}
} and it can be put into "advanced" dictionaries: https://github.com/matusmarhefka/dfuzzer/issues/81. The idea is to monitor the system bus, pick "valid" messages and stuff them into those dictionaries (semi-automatically hopefully) |
That sounds definitely better, and should be relatively easily doable via https://gnome.pages.gitlab.gnome.org/json-glib/ and maybe even with https://gnome.pages.gitlab.gnome.org/json-glib/json-gvariant.html. |
Giving
That should, hopefully, be compatible with the format produced by |
Also, would it make sense to log only unsuccessful cases? Something like libfuzzer/AFL does - i.e. log only crashes/timeouts, once such case per file, so they can be then used as 'reproducers' later. Or do we want to log everything into one file, marked by a type of fail (timeout, crash, ...)? |
In its current form logs are supposed to look like https://github.com/matusmarhefka/dfuzzer/pull/4 to make
reprogen.py
work as far as I understand but it would probably make sense to revisit the format to make it easier to parse logs in general. Those logs could help to look for example for timeouts that are ignored bydfuzzer
by default.The text was updated successfully, but these errors were encountered: