Recent Releases of tsffs

tsffs - v6.1.2

6.1.2 Release

This is a smaller release (and should be the first of many smaller releases going forward as we move out of large sweeping changes and into incremental improvements and fixes). This release fixes a few clippy issues and adds environment variable overrides for most of the fields in the [package.metadata.simics] table for Simics plugin crates. It also enhances logging with a few more components of the output and a heartbeat message in the JSON log, which should help diagnose stuck harnesses. Finally, VMP can now be enabled during boot for any model and will be turned off automatically by TSFFS when the fuzzing loop starts.

What's Changed

  • Add ENV overrides & Internal Build Script by @novafacing in https://github.com/intel/tsffs/pull/85
  • Add expected CFG directives by @novafacing in https://github.com/intel/tsffs/pull/89
  • Logging Enhancements by @novafacing in https://github.com/intel/tsffs/pull/87
  • Disable VMP on Fuzz Start by @novafacing in https://github.com/intel/tsffs/pull/88

Full Changelog: https://github.com/intel/tsffs/compare/v6.1.0...v6.1.2

- Rust
Published by novafacing almost 2 years ago

tsffs - Release Version 6.1.0

This release is a very major release and changes several aspects of the API, build, and underlying Simics API. It also adds a number of new features. Some highlights include:

  • Compiled-in harnesses have been updated. This update is backward-incompatible with the old version of harnesses so users will need to use the new tsffs.h harness header.
    • Existing harness macros stay the same
    • New harness macros have been added for starting with variations of buffer, size as pointer or maximum value, etc.
    • Macros are now available for x86, x8664, ARM, AARCH64, and RISC-V, with Windows/MSVC compatible macros for x8664.
  • All functions @tsffs.iface.tsffs.XXX have been removed
  • All configuration options are now attributes of the tsffs object. For example, @tsffs.iface.tsffs.add_exception_solution() is now @tsffs.exceptions and instead of calling a method to add an exception to the set tracked for solutions, users can now just write @tsffs.exceptions = [13, 14, 6].
  • Methods which control fuzzing (especially manual methods) have been moved to a new interface @tsffs.iface.fuzz, for example @tsffs.iface.fuzz.start_without_buffer().
  • Execution traces can now be captured during fuzzing
  • Logs are automatically output during fuzzing in JSON format
  • ARM and AARCH64 architectures have been added
  • Various bug-fixes and improvements.

What's Changed

  • Fix doc links by @novafacing in https://github.com/intel/tsffs/pull/43
  • Switch to external command-ext library by @novafacing in https://github.com/intel/tsffs/pull/44
  • External command ext by @novafacing in https://github.com/intel/tsffs/pull/46
  • Use crates.io libafl and miscellaneous cleanups by @novafacing in https://github.com/intel/tsffs/pull/48
  • Fix cargo script syntax for new nightly (Rust issue #122207) by @novafacing in https://github.com/intel/tsffs/pull/50
  • Cargo script fixes (2) by @novafacing in https://github.com/intel/tsffs/pull/51
  • Doc link fixes by @novafacing in https://github.com/intel/tsffs/pull/52
  • Remove utils by @novafacing in https://github.com/intel/tsffs/pull/49
  • Stop before start by @novafacing in https://github.com/intel/tsffs/pull/67
  • Add additional logging and debug logging consumer for libafl code by @novafacing in https://github.com/intel/tsffs/pull/68
  • New harness by @novafacing in https://github.com/intel/tsffs/pull/69
  • Fixup versioning for simics APIs and add versioned tests by @novafacing in https://github.com/intel/tsffs/pull/75
  • Remove LibAFL InProcess Executor Timeout by @novafacing in https://github.com/intel/tsffs/pull/77
  • Windows kernel fuzzing docs by @novafacing in https://github.com/intel/tsffs/pull/70
  • Add missing script from windows kernel fuzzing docs by @novafacing in https://github.com/intel/tsffs/pull/79
  • Update README.md by @rogue4242 in https://github.com/intel/tsffs/pull/82
  • Fix risc-v-kernel-module tutorial and example code by @mengmengjiang1999 in https://github.com/intel/tsffs/pull/72
  • Add arm architecture by @novafacing in https://github.com/intel/tsffs/pull/76
  • Add option to output execution traces during fuzzing by @novafacing in https://github.com/intel/tsffs/pull/81
  • Release versioning for 6.1.0 by @novafacing in https://github.com/intel/tsffs/pull/84

New Contributors

  • @rogue4242 made their first contribution in https://github.com/intel/tsffs/pull/82
  • @mengmengjiang1999 made their first contribution in https://github.com/intel/tsffs/pull/72

Full Changelog: https://github.com/intel/tsffs/compare/v0.2.1...v6.1.0

- Rust
Published by novafacing almost 2 years ago

tsffs - v0.2.1 Release

v0.2.1 Release Overview

This is a maintenance and documentation update release. The main changes are:

  • Fixed a crash when using the tsffs.iface.tsffs.set_corpus_directory and tsffs.iface.tsffs.set_solutions_directory interface functions
  • Added documentation on fuzzing platform BIOS

What's Changed

  • Fix two bugs by @novafacing in https://github.com/intel/tsffs/pull/40
  • Switch to external getters library by @novafacing in https://github.com/intel/tsffs/pull/39
  • Tutorial custom bios by @novafacing in https://github.com/intel/tsffs/pull/41
  • Add platform bios doc to summary by @novafacing in https://github.com/intel/tsffs/pull/42

Full Changelog: https://github.com/intel/tsffs/compare/v0.2.0...v0.2.1

- Rust
Published by novafacing about 2 years ago

tsffs - v0.2.0 Release

v0.2.0 Release Overview

This release is a near-complete rewrite/reorganization of TSFFS with several goals:

  • Use SIMICS build & packaging workflow
  • Enable binary/package distribution and installation without building from source
  • Improve the scripting interface to TSFFS
  • Remove the CLI interface to TSFFS
  • Improve the SIMICS API and migrate TSFFS to use the improved (more idiomatic) bindings

Release Notes

  • Migrated to using the SIMICS build system/provided makefiles for building
    • Simplifies building and detection of SIMICS version/available symbols
    • Removes the need for C stubs in the SIMICS module code
    • Moves toward eventual binary releases
  • Adds Windows host support
  • Adds RISC-V (32/64 bit) and x86 guest support
  • Improves the SIMICS/Python scripting interface
  • Adds GitHub pages documentation at intel.github.io/tsffs/
    • Added the public SIMICS HTML documentation to the GitHub Pages documentation
    • Added crate rustdoc documentation for all component crates to the GitHub Pages documentation
  • Rewrote the SIMICS API bindings
    • AttrValue is now a first-class serialization/deserialization target with derive macros
    • Idiomatic bindings for exception-throwing APIs translate SIMICS exceptions to Rust Results
    • Added documentation for most SIMICS APIs in the bindings, including HAPs and Interfaces
  • Added distribution builds into the CI pipeline to output installable .ispm packages for all modern Linux systems. Build yourself with ./scripts/build.sh.

Merged Pull Requests

  • CI fixes for public CI, update outdated dependencies by @novafacing in https://github.com/intel/tsffs/pull/16
  • Bump ISPM version in setup guide by @novafacing in https://github.com/intel/tsffs/pull/18
  • Do not document dependencies in CI by @novafacing in https://github.com/intel/tsffs/pull/21
  • Fix another issue with CI doctest, fix typo, update FAQ by @novafacing in https://github.com/intel/tsffs/pull/22
  • Fix Box::into_raw and add checks by @novafacing in https://github.com/intel/tsffs/pull/27
  • 0.2.0 Release Candidate by @novafacing in https://github.com/intel/tsffs/pull/30
  • Add development install documentation by @novafacing in https://github.com/intel/tsffs/pull/31
  • Update logging API for deprecations in 6.0.177 by @novafacing in https://github.com/intel/tsffs/pull/32
  • Add packaging for distribution by @novafacing in https://github.com/intel/tsffs/pull/33
  • Add tutorials and fixes by @novafacing in https://github.com/intel/tsffs/pull/34
  • Update doc build command by @novafacing in https://github.com/intel/tsffs/pull/35
  • Additional doc build fixes by @novafacing in https://github.com/intel/tsffs/pull/36
  • Fix permissions on documentation permissions fixing by @novafacing in https://github.com/intel/tsffs/pull/37
  • Doc updates by @novafacing in https://github.com/intel/tsffs/pull/38

Full Changelog: https://github.com/intel/tsffs/commits/v0.2.0

- Rust
Published by novafacing about 2 years ago