Skip to content

Releases: trailofbits/fickling

v0.1.10

13 Mar 16:33

Choose a tag to compare

What's Changed

Security

  • Expanded the unsafe modules blocklist with:
    • _frozen_importlib, _frozen_importlib_external, _imp to prevent access to references of blocked modules (b9e690c)
    • inspect to block a getattr equivalent (9a6d03f)
    • linecache and difflib to prevent file access, gc for module references (7f39d97). Thanks @fg0x0 for the report!
    • platform to prevent file access (351ed4d). Thanks @mldangelo for the report!

General

Full Changelog: v0.1.9...v0.1.10

v0.1.9

03 Mar 23:31

Choose a tag to compare

What's Changed

Security

General

Full Changelog: v0.1.8...v0.1.9

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