trinity

system call fuzz tester

Description

As 'fuzz testing' suggests, trinity calls syscalls at random, with random arguments. Where Trinity differs is that the arguments it passes are not purely random.

If a syscall took, for example, a file descriptor as an argument, one of the first things kernels does is validate that fd, if is not valid the kernel would just reject it as -EINVAL.

So on startup, Trinity creates a list of file descriptors, by opening pipes, scanning sysfs, procfs, /dev, and creates a bunch of sockets using random network protocols. Then when a syscall needs an fd, it gets passed one of these at random.

Trinity also shares those file descriptors between multiple threads, which causes havoc sometimes.

Warning: This program may seriously corrupt your files, including any of those that may be writable on mounted network file shares. It may create network packets that may cause disruption on your local network. Run at your own risk.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Homepage

https://github.com/kernelslacker/trinity


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install trinity