Giter Club home page Giter Club logo

flawz's Introduction

GitHub Release Crate Release Continuous Integration Continuous Deployment Documentation


flawz is a Terminal User Interface (TUI) for browsing the security vulnerabilities (also known as CVEs).

As default it uses the vulnerability database (NVD) from NIST and provides search and listing functionalities in the terminal with different theming options.

For example, to view details on the notorious xz vulnerability:

flawz --feeds 2024 --query xz

demo

Table of Contents

Installation

Packaging status

Packaging status

Cargo

flawz can be installed from crates.io using cargo if Rust is installed.

cargo install flawz

The minimum supported Rust version (MSRV) is 1.74.1.

Arch Linux

flawz can be installed from the official repositories using pacman:

pacman -S flawz

Alpine Linux

flawz is available for Alpine Edge. It can be installed via apk after enabling the testing repository.

apk add flawz

NetBSD

flawz is available from the official repositories. To install it, simply run:

pkgin install flawz

Binary releases

See the available binaries for different targets from the releases page.

Build from source

  1. Clone the repository.
git clone https://github.com/orhun/flawz && cd flawz/
  1. Build.
CARGO_TARGET_DIR=target cargo build --release

Binary will be located at target/release/flawz.

Usage

flawz [OPTIONS]

Options:

  --url <URL>           A URL where NIST CVE 1.1 feeds can be found [env: URL=] [default:
                        https://nvd.nist.gov/feeds/json/cve/1.1/]
-f, --feeds [<FEEDS>...]  List of feeds that are going to be synced [env: FEEDS=] [default: 2002:2024 recent
                        modified]
-d, --db <DB>             Path to the SQLite database used to store the synced CVE data [env: DB=]
-u, --force-update        Always fetch feeds
-o, --offline             Do not fetch feeds
-q, --query <QUERY>       Start with a search query [env: QUERY=]
-t, --theme <THEME>       Set the theme [default: dracula] [possible values: dracula, nord, one-dark,
                        solarized-dark]
-h, --help                Print help (see more with '--help')
-V, --version             Print version

Examples

To start with a specific search query:

flawz --query "buffer overflow"

You can use the --feeds option to sync specific years of feeds:

flawz --feeds 2010:2015 recent

Additionally, you can use the following flags:

  • --force-update: Always fetch feeds, even if they are already up to date.
  • --offline: Run without fetching feeds (useful if you have already synced the data):

For example, you can use the following command to search for a specific vulnerability from 2014:

flawz -q "CVE-2014-0160" -f 2014 --force-update

Themes

Start flawz with --theme option to set a custom theme, e.g. --theme nord.

Dracula (default)

dracula

Nord

nord

One Dark

one dark

Solarized Dark

solarized dark

Support

Support me on GitHub Sponsors

If you find flawz and/or other projects on my GitHub useful, consider supporting me on GitHub Sponsors! 💖

Contributing

See our Contribution Guide and please follow the Code of Conduct in all your interactions with the project.

License

License: MIT License: Apache 2.0

Licensed under either of Apache License Version 2.0 or The MIT License at your option.

🦀 ノ( º _ º ノ) - respect crables!

Copyright

Copyright © 2024, Orhun Parmaksız

flawz's People

Contributors

orhun avatar 0323pin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.