Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ex0dus-0x/binsec
Binary (In)security tool
https://github.com/ex0dus-0x/binsec
checksec security-mitigations
Last synced: 9 days ago
JSON representation
Binary (In)security tool
- Host: GitHub
- URL: https://github.com/ex0dus-0x/binsec
- Owner: ex0dus-0x
- License: mit
- Created: 2019-04-16T01:12:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T21:35:55.000Z (7 months ago)
- Last Synced: 2024-11-03T14:35:05.421Z (about 2 months ago)
- Topics: checksec, security-mitigations
- Language: Rust
- Homepage:
- Size: 313 KB
- Stars: 23
- Watchers: 4
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-rust-security - binsec - Swiss Army Knife for Binary (In)Security (Vulnerability Assessment / Binary Analysis & Reversing)
README
# binsec
[![Actions][actions-badge]][actions-url]
[![crates.io version][crates-binsec-badge]][crates-binsec][actions-badge]: https://github.com/ex0dus-0x/binsec/workflows/CI/badge.svg?branch=master
[actions-url]: https://github.com/ex0dus-0x/binsec/actions[crates-binsec-badge]: https://img.shields.io/crates/v/binsec.svg
[crates-binsec]: https://crates.io/crates/binsecSwiss Army Knife for Binary (In)security
__binsec__ is a minimal static analysis utility for detecting security capabilities in ELF/PE/Mach-O executables. It's useful
for reverse engineers and vulnerability researchers to gain quick and deeper insights into binary artifacts,
build fast detection pipelines, and improve overall binary analysis.## Features
* Cross-platform, supports robust checks for ELF/PE/Mach-Os while running on any host.
* Backends [libgoblin](https://github.com/m4b/goblin) for efficient and cross-platform binary parsing.
* JSON serializable for storage/logging consumption.
* Small and ast: final release build is ~2.44Mb, with analysis done in 30ms.### Static Analysis Checks
The project currently supports static detection for a variety of executable checks:
* __Compilation Features__ - insights about how the executable was compiled, and runtimes used in that process.
* __Exploit Mitigations__ - OS-supported binary hardening features used to limit exploitation and priviledge escalation.
* __Dynamic Instrumentation__ - detects any known instrumentation frameworks used for dynamic analysis and/or profiling.
* __Anti-Analysis (WIP)__ - noticeable anti-analysis checks employed to mitigate reverse engineering.## Usage
Install `binsec` as a command line application as so:
```
$ cargo install binsec
```Using the application is meant to be very simple. Given any binary executable you want to conduct initial analysis,
simply pass it in as a positional argument:```
$ binsec -- ./suspicious
````binsec` output can also be serialized into JSON:
```
# print to stdout
$ binsec --json - -- ./suspicious# print to path
$ binsec --json report.json -- ./suspicious
```## Contributing
This is something that is continually being developed! You can contribute by catching issues and bugs
and submitting them through the [issue tracker](https://github.com/ex0dus-0x/binsec/issues) or making a pull request!## License
[MIT License](https://codemuch.tech/license.txt)