Skip to main content

Multidecoder

Latest Stable Release

Multidecoder is a python library and command line tool for extracting indicators of compromise (IOCs) from a file. Multidecoder preserves the context of where and how an IOC is found to allow automated detection of patterns of obfuscation. Multidecoder is currently in beta, and uses semantic versioning to indicate compatability between releases.

Indicators of compromise extracted by Multidecoder:

  • network IOCS: urls, domains, emails, ip addressses
  • executable filenames
  • embedded PowerShell
  • embedded PE files
  • a customizable set of keywords

Deobfuscations and decodings supported:

  • base64 encoding
  • hexadecimal encoding
  • string concatenation
  • powershell escape characters

Installing

Multidecoder can be installed from pypi using pip:

pip install -U multidecoder

Alternatly, it can also be installed from the repository:

pip install -U https://github.com/CybercentreCanada/Multidecoder/archive/main.zip

To test the latest development version, install from the dev branch:

pip install -U https://github.com/CybercenterCanada/Multidecoder/archive/dev.zip

Command Line

After being installed Multidecoder can be run on a file from the command-line

> multidecoder file

which will output a list of indicators found. Indicators are printed one per line, with a string representation of the context of the indicator followed by the indicator.

The raw json result can be output with the --json flag

> multidecoder --json file

if no filename is given multidecoder takes its standard input as the file to be scanned.

Python library

Multidecoder can be used as a python library through the Multidecoder class, which can scan data to give a dictionary tree similar to the command-line json output.

from multidecoder.multidecoder import Multidecoder

md = Multidecoder()
context_tree = md.scan(data)

Metadata

Release files for multidecoder 1.6.29

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for multidecoder 1.6.29
File Size Uploaded Provenance Actions
multidecoder-1.6.29.tar.gz 110.0 kB Without provenance Details for multidecoder-1.6.29.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for multidecoder 1.6.29
File Interpreter ABI Platform Actions
multidecoder-1.6.29-py3-none-any.whl Python 3 none any Details for multidecoder-1.6.29-py3-none-any.whl

Total release size: 228.9 kB

Release files / multidecoder-1.6.29.tar.gz

Download URL multidecoder-1.6.29.tar.gz
Size 110.0 kB
Tags Source
SHA-256 checksum
How to use checksums
760465fb01df90c93060dd55dea34a1a83e8ed490141961a676ed19adb688c22
BLAKE2b-256 checksum
How to use checksums
a789bd2a6f2d4e772c2bf1bb7c27eb762ba45773fd76389f4d6c1089535a843c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Release files / multidecoder-1.6.29-py3-none-any.whl

Download URL multidecoder-1.6.29-py3-none-any.whl
Size 118.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a62bf88676e657202623fb5235878784cc4a6af30441a777c40f6860c52bf0fa
BLAKE2b-256 checksum
How to use checksums
61db512a842e839b5a786e01bd503cfc42057403d7ff3a8cdc0155df6d5e4d0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Security for multidecoder 1.6.29

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.6.29 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page