antiparser is a fuzz testing and fault injection API. Fuzz testing has application as a security research methodology and for software quality assurance purposes.
The purpose of antiparser is to provide an API that can be used to model network protocols and file formats by their composite data types. Once a model has been created, the antiparser has various methods for creating random sets of data that deviates in ways that will ideally trigger software bugs or security vulnerabilities.
The antiparser itself is a container of data objects, each representing a part of the protocol or file format. These data objects have their own properties that may be used to define the bounds and the parameters of the data, such as whether or not the data is a static field, how small or large the data may be, the legal range of values that may be randomly generated or "permuted".
Each specific instance of permuted data may afterwards easily be saved to a file and loaded at a later time for replay if required. This will provide an easy means of organizing the results of a particular fuzz test.
· Python 2.3 and later