cba-mt / shellclear

Secure shell history commands by finding sensitive data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build







🚩 Show sensitive command summary when open a new terminal
πŸ‘€ Clear sensitive commands from shell history
πŸ™ˆ Stash your history command before presentations OR screen sharing


Shellclear

The idea behind shellclear is to provide a simple and fast way to secure you shell commands history

macOS
curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | sh

Or via brew

brew tap rusty-ferris-club/tap && brew install shellclear
Linux

You need to make sure that apt install xz-utils is install. There is an open issue #52 to remove this dependencies.

curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | sh
Windows
iwr https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.ps1 -useb | iex

Or download the binary file from releases page.

Setup your shell

Bash Add the following to the end of ~/.bashrc:
eval $(shellclear --init-shell)
Zsh Add the following to the end of ~/.zshrc:
eval $(shellclear --init-shell)
PowerShell Add the following to the end of your PowerShell configuration (find it by running $PROFILE):
Invoke-Expression (&shellclear --init-shell)
Fish Add the following to the end of ~/.config/fish/config.fish:
shellclear --init-shell | source

motd

Using

$ shellclear --help

Secure shell commands

USAGE:
    shellclear [OPTIONS] [SUBCOMMAND]

OPTIONS:
        --config-dir <CFG_DIR_PATH>    Set configuration directory path
    -h, --help                         Print help information
        --init-shell                   Show sensitive findings summary for MOTD
        --log <LEVEL>                  Set logging level [default: INFO] [possible values: OFF,
                                       TRACE, DEBUG, INFO, WARN, ERROR]
        --no-banner                    Don't show the banner
    -V, --version                      Print version information


SUBCOMMANDS:
    config     Create custom configuration
    find       Find sensitive commands
    help       Print this message or the help of the given subcommand(s)
    restore    Restore backup history file
    stash      Stash history file

πŸ‘€ Find Sensitive Commands

Sensitive data can be stored in your history file when export a token of something or running a script with token.

shellclear find --format table

find

🧹 Clear findings :

shellclear clear

🧳 Backup shell history before clear

shellclear clear --backup

πŸ™ˆ Stash/Pop/Restore

You can stash your history shell by running the command:

shellclear stash

Now your history shell is clear, to bring back your history run the command:

shellclear stash pop

You can also restore your history backup file by running the command:

shellclear stash restore

✏️ External Configuration

Create custom configuration by running the command

shellclear config

Config command will create:

  1. Custom pattern template for adding a custom risky patterns
  2. Ignore file to allows you ignore specific pattern

Validate Config Files

Validate syntax file

shellclear config validate

Delete Config Folder

Validate syntax file

shellclear config delete

Ignores Pattern

Manage pattern ignores

shellclear config ignores

Examples

All the examples here - you make this happen, thanks!

Thanks

To all Contributors - you make this happen, thanks!

Copyright

Copyright (c) 2022 @kaplanelad. See LICENSE for further details.

About

Secure shell history commands by finding sensitive data

License:Apache License 2.0


Languages

Language:Rust 94.9%Language:Shell 2.3%Language:PowerShell 2.3%Language:Dockerfile 0.5%