trinity - System call fuzz tester

Property Value
Distribution Fedora 31
Repository Fedora x86_64 Official
Package filename trinity-1.9-2.fc30.x86_64.rpm
Package name trinity
Package version 1.9
Package release 2.fc30
Package architecture x86_64
Package type rpm
License GPLv2
Maintainer -
Download size 159.47 KB
Installed size 10.50 MB
Trinity makes syscalls at random, with random arguments.  Where Trinity
differs from other fuzz testers is that the arguments it passes are not
purely random.
We found some bugs in the past by just passing random values, but once
the really dumb bugs were found, these dumb fuzzers would just run and
run.  The problem was if a syscall took for example a file descriptor as
an argument, one of the first things it would try to do was validate
that fd.  Being garbage, the kernel would just reject it as -EINVAL of
course.  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.
File descriptors aren't the only thing Trinity knows about.  Every
syscall has its arguments annotated, and where possible it tries to
provide something at least semi-sensible. "Length" arguments for example
get passed one of a whole bunch of potentially interesting values.
(Powers of 2 +/-1 are a good choice for triggering off-by-one bugs it
Trinity also shares those file descriptors between multiple threads,
which causes havoc sometimes.
If a child process successfully creates an mmap, the pointer is stored,
and fed to subsequent syscalls, sometimes with hilarious results.


Package Version Architecture Repository
trinity All All All


Name Value
/usr/bin/bash -
/usr/bin/sh - - - -
rtld(GNU_HASH) -


Name Value
trinity = 1.9-2.fc30
trinity(x86-64) = 1.9-2.fc30


Type URL
Binary Package trinity-1.9-2.fc30.x86_64.rpm
Source Package trinity-1.9-2.fc30.src.rpm

Install Howto

Install trinity rpm package:

# dnf install trinity




2019-02-03 - Fedora Release Engineering <> - 1.9-2
- Rebuilt for
2019-01-24 - Jerry James <> - 1.9-1
- New upstream version
- Drop upstreamed -autofs, -irda, and -memfd patches
2018-07-21 - Jerry James <> - 1.8-3
- Add -irda patch to fix bz 1606570
2018-07-14 - Fedora Release Engineering <> - 1.8-3
- Rebuilt for
2018-02-09 - Fedora Release Engineering <> - 1.8-2
- Rebuilt for
2017-11-18 - Jerry James <> - 1.8-1
- New upstream version
- Drop upstreamed -uio patch
- Add -net-protocols patch to fix bz 1514786
- Add -autofs patch to fix compilation under kernel 4.14+
2017-07-27 - Fedora Release Engineering <> - 1.7-3
- Rebuilt for
2017-02-11 - Fedora Release Engineering <> - 1.7-2
- Rebuilt for

See Also

Package Description
tripwire- IDS (Intrusion Detection System)
trojita- IMAP e-mail client
trophy-2.0.3-10.fc31.x86_64.rpm Car racing game with special features
trousers-0.3.13-13.fc31.x86_64.rpm TCG's Software Stack v1.2
trousers-devel-0.3.13-13.fc31.i686.rpm TrouSerS header files and documentation
trousers-devel-0.3.13-13.fc31.x86_64.rpm TrouSerS header files and documentation
trousers-lib-0.3.13-13.fc31.i686.rpm TrouSerS libtspi library
trousers-lib-0.3.13-13.fc31.x86_64.rpm TrouSerS libtspi library
trousers-static-0.3.13-13.fc31.i686.rpm TrouSerS TCG Device Driver Library
trousers-static-0.3.13-13.fc31.x86_64.rpm TrouSerS TCG Device Driver Library
truecommons-parent-67-13.fc31.noarch.rpm Parent Pom for OSS Projects
trustedqsl-2.4.7-2.fc31.x86_64.rpm Tool for digitally signing Amateur Radio QSO records
tryton-4.0.4-7.fc30.noarch.rpm Client for the Tryton application framework
trytond-4.0.4-10.fc31.noarch.rpm Server for the Tryton application framework
trytond-account-4.0.3-9.fc31.noarch.rpm account module for Tryton