Skip to content

Releases: trailofbits/fickling

v0.1.8

21 Feb 00:56

Choose a tag to compare

What's Changed

Breaking changes

  • Drop Python 3.9 support, minimum is now 3.10 and we started supporting 3.14 (#175)
  • CLI exit codes now follow ClamAV conventions: 0 for clean, 1 for unsafe, 2 for error (#216)
  • Malformed pickles raise InterpretationError instead of ValueError (#207)
  • We added many new modules to the unsafe imports blocklist (#210, #215, #217, #233, #236), while trying to reduce false positives on builtins (#206)

Security

General

  • Add AGENTS.md with vulnerability reporting guidelines (#234)
  • Add 7z archive support for model scanning (#220)
  • Implement EXT1, EXT2, and EXT4 pickle opcode support (#172)
  • Fix ast.Import handling in unsafe_imports and MLAllowlist (#209)
  • Fix ValueError crash on malformed pickle files (issue #188) (#207)
  • Migrate to ty type checker and fix type errors (#208)
  • Bump minimum numpy to 2.2.6 (#201)
  • Migrate tests to use BytesIO and temporary paths (#181)
  • Address Zip slips in tests (#204)
  • Fix flaky random ZIP creation in TestPolyglotModule (#179)
  • Various @dependabot[bot] updates (#197, #199, #200, #202, #203, #214, #222, #223, #224, #225, #227, #228, #229, #230, #232)

Full Changelog: v0.1.7...v0.1.8

v0.1.7

09 Jan 18:13
977b076

Choose a tag to compare

What's Changed

Full Changelog: v0.1.6...v0.1.7

Fickling v0.1.6

15 Dec 18:14
8249522

Choose a tag to compare

What's Changed

Security

General

  • Fix numpy 2.3+ compatibility by using public APIs by @dhalf in #170
  • Fix PyTorch v1.3+ hook bypass by hooking pickle.Unpickler class by @dhalf in #174
  • Add fickling.loads() public API function by @dhalf in #173
  • Fix ast.unparse() crash with malformed pickle files by @dhalf in #171

Full Changelog: v0.1.5...v0.1.6

Fickling v0.1.5

18 Nov 05:03
8a302e6

Choose a tag to compare

What's Changed

Fickling v0.1.4

07 Jul 13:15
5ac8208

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.3...v0.1.4

Fickling v0.1.3

26 Mar 19:24
a44456e

Choose a tag to compare

What's Changed

Full Changelog: v0.1.2...v0.1.3

Fickling v0.1.2

29 Jan 15:52
6fc70ca

Choose a tag to compare

What's Changed

  • Bump version number for updated Python version in build workflow

Fickling v0.1.1

29 Jan 15:45
c36f511

Choose a tag to compare

What's Changed

  • Update Python version in release workflow

Fickling v0.1.0

26 Jan 21:10
03c3185

Choose a tag to compare

What's Changed

  • Remove fickling.fickle.Pickled.check_safety() in favor of fickling.analysis.check_safety()
  • Restore fickling.pickle with deprecation warning for legacy
  • Introduce the polyglot module with tests and examples
  • Refactor, refine, and add tests to the PyTorch module
  • Add an import hook, global function hook, and context manager for malicious file detection integrations
  • Refactor and add a JSON output format to the modular analysis API for usability
  • Update README and examples with new features
  • Include more injection methods and techniques
  • Add support for OBJ, BINSTRING, and POP_MARK opcodes
  • Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11
  • Bump actions/setup-python from 4 to 5
  • Bump sigstore/gh-action-sigstore-python from 2.1.0 to 2.1.1
  • Bump actions/upload-artifact from 3 to 4
  • Bump actions/download-artifact from 3 to 4

Full Changelog: v0.0.8...v0.1.0

Fickling v0.0.8

20 Nov 16:05

Choose a tag to compare

Refactor: the fickling.pickle module is renamed to fickling.fickle. The fickling.pickle module still works, but is deprecated and will eventually be removed from Fickling.