Skip to main content

Linter for binary files powered by lief

Project description

Introduction

builds.sr.ht status

BLint is a Binary Linter to check the security properties, and capabilities in your executables. It is powered by lief

BLint Demo

Capabilities review is supported for go and rust binaries. Support for dotnet would be available shortly.

Supported binary formats:

  • ELF
  • PE
  • Mach-O

You can run blint on Linux, Windows and Mac against any of these binary formats.

Motivation

Nowadays, vendors distribute statically linked binaries produced by golang or rust or dotnet tooling. Users are used to running antivirus and anti-malware scans while using these binaries in their local devices. Blint augments these scans by listing the technical capabilities of a binary. For example, whether the binary could use network connections, or can perform file system operations and so on.

The binary is first parsed using lief framework to identify the various properties such as functions, static, and dynamic symbols present. Thanks to a YAML based annotations data, this information could be matched against capabilities and presented visually using a rich table.

NOTE: The presence of capabilities doesn't imply that the operations are always performed by the binary. Use the output of this tool to get an idea about a binary. Also, this tool is not suitable to review malware and other heavily obfuscated binaries for obvious reasons.

Use cases

Blint was used at ShiftLeft to review and optimize the distributed cli binary.

Installation

  • Install python 3.8 or 3.9
pip3 install blint

Usage

usage: blint [-h] [-i SRC_DIR_IMAGE] [-o REPORTS_DIR] [--no-error] [--no-banner] [--no-reviews]

Linting tool for binary files powered by lief.

optional arguments:
  -h, --help            show this help message and exit
  -i SRC_DIR_IMAGE, --src SRC_DIR_IMAGE
                        Source directory or container image or binary file
  -o REPORTS_DIR, --reports REPORTS_DIR
                        Reports directory
  --no-error            Continue on error to prevent build from breaking
  --no-banner           Do not display banner
  --no-reviews          Do not perform method reviews

To test any binary including default commands

blint -i /bin/netstat -o /tmp/blint

Use -i to check any other binary. For eg: to check ngrok

blint -i ~/ngrok -o /tmp/blint

PowerShell example

PowerShell

References

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blint-1.0.5.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blint-1.0.5-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file blint-1.0.5.tar.gz.

File metadata

  • Download URL: blint-1.0.5.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.9 CPython/3.9.5 Linux/5.13.13-051313-generic

File hashes

Hashes for blint-1.0.5.tar.gz
Algorithm Hash digest
SHA256 856eac59aac5d6c7d22956136e528f66ac716e08f1f857c335e4be4cfedc8ae6
MD5 a246f0edc472ee47c7d79a6d4205ef12
BLAKE2b-256 7cc52259328361e3f0b53427d29f4a1818c80b6d4f36b8f5de7f103bf5db21a6

See more details on using hashes here.

File details

Details for the file blint-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: blint-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.9 CPython/3.9.5 Linux/5.13.13-051313-generic

File hashes

Hashes for blint-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1a7573b82ad7ae12059b39be8bc547cfbdc2af531c31d713d51e9288e12e672a
MD5 5f9409236f56bef98a361e37ef32bba9
BLAKE2b-256 33eef1e27b34af44b2ced34fb7d06d5b90a512510f1d97199812eb4f7bf4d85e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page