🛡️ SafeShell
____ __ ____ _ _ _
/ ___| __ _ / _| ___ / ___| | |__ ___ | || |
\___ \ / _` || |_ / _ \\___ \ | '_ \ / _ \| || |
___) || (_| || _|| __/ ___) || | | || __/| || |
|____/ \__,_||_| \___||____/ |_| |_| \___||_||_|
🛡️ SafeShell: A security tool for shell history management, designed to detect, stash, and clear sensitive commands, ensuring safer terminal sessions.
✨ Features
🖥️ Display a summary of sensitive commands at the start of each terminal session. 👀 Remove sensitive commands from the shell history to enhance security and privacy. 👨💻 Temporarily store your command history prior to presentations or screen-sharing sessions for confidentiality.
🚀 Installation
To install safeshell, simply clone the repository and follow the instructions below:
Running the below command will globally install the safeshell
binary.
|
|
|
Setup your shell
Invoke-Expression (&safeshell --init-shell)
|
💡 Usage
👀 Find Sensitive Commands
Sensitive data can be stored in your history file when export a token of something or running a script with token.
🪄 Mask findings:
🔥 Remove findings:
💼 Backup shell history before clear
🙈 Stash/Pop/Restore
You can stash your history shell by running the command:
Now your history shell is clear, to bring back your history run the command:
You can also restore your history backup file by running the command:
𓂃🖌 External Configuration
Create custom configuration by running the command
Config command will create:
- Custom pattern template for adding a custom risky patterns
- Ignore file to allows you ignore specific pattern
🛠️ Validate Config Files
Validate syntax file
🚮 Delete Config Folder
Validate syntax file
⏭ Ignore patterns
Manage pattern ignores
Examples
🗑️ Uninstallation
Running the below command will globally uninstall the safeshell
binary.
Remove the project repo
🤝 How to contribute
We welcome contributions!
- Fork this repository;
- Create a branch with your feature:
git checkout -b my-feature
; - Commit your changes:
git commit -m "feat: my new feature"
; - Push to your branch:
git push origin my-feature
.
Once your pull request has been merged, you can delete your branch.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.