fickling icon indicating copy to clipboard operation
fickling copied to clipboard

A Python pickling decompiler and static analyzer

Results 31 fickling issues
Sort by recently updated
recently updated
newest added

- Updated check_pickle - general results are unchanged, however now min_length can be used to avoid detecting tar files that often start with `.` as pickles. - added checks for...

We should incorporate more Python API features inside of the CLI such as the PyTorch and polyglot modules. This would help with #97.

Hi, there are a lot of malicious POC under the url address `https://github.com/mmaitre314/picklescan/tree/main/tests/data`, and then use `https://github.com/mmaitre314/picklescan` the tool scans these pickle files normally and outputs the results. However, when...

To better account for different parser implementations and to make identification more robust, we could use [PolyFile](https://github.com/trailofbits/polyfile) and call it in Fickling. In addition, we should ensure the module directly...

1. NumPy 2. Sklearn/Joblib 3. Riva 4. Nemo 5. PyTorch Package 6. Executorch (only for identification) 7. PyTorch Mobile (only for identification)

This PoC should instead use the PyTorch module inside of fickling.

good first issue

Similar to our hooks on `pickle.load()`, we should support `pickle.loads()`. It will be fairly easy to do so.

[numpy_poc](https://github.com/trailofbits/fickling/blob/master/example/numpy_poc.py#L9-L15) example has the following class as an example of an unsafe class: ```python ... class Test(object): def __init__(self): self.a = 1 def __reduce__(self): # Runs the other PoC found...

The global function hook (shown in [hook_functions.py](https://github.com/trailofbits/fickling/blob/master/example/hook_functions.py) does not work on all PyTorch model inputs. I added print statements in `hook.run_hook` and `fickling.load()` to demonstrate. More concretely, it does not...

I'm not so familiar with pickling and these scans. However, I wondered if maybe there are heuristics or signatures for certain types of pickle files that could be evaluated. If...