shs 1.0.2
Security Hygiene Scanner (SHS) – Windows and Linux security auditing tool
License: MIT
Requires Python: >=3.9

# 🛡️ Security Hygiene Scanner (SHS) – Windows & Linux

Security Hygiene Scanner (SHS) is a Windows and Linux CLI-based defensive security tool that performs a quick security hygiene check on a system.

It helps users understand whether essential security controls are enabled and highlights common weak security practices.

Think of SHS as a security health check-up for your machine 🩺💻
— simple, fast, safe, and read-only.

## 📋 Overview 
SHS scans a **Windows or Linux** system and provides a clear security snapshot by checking important areas such as:

- Firewall status  
- Antivirus / endpoint protection availability  
- System configuration  
- User privilege hygiene  
- File and permission hygiene  

The tool is designed strictly for **defensive security awareness** and **system hygiene validation**.

🚫 No exploitation  
🚫 No intrusive scanning  
🚫 No offensive security actions  


## ⚙️ Windows Features 
- 🛡️ Windows Firewall status check
- 🔍 Antivirus detection (installed and active)
- 💻 System and OS information scan
- 👤 User and privilege hygiene checks
- 📁 File and permission hygiene checks
- 📊 Weighted security risk scoring
- ⚡ Fast, lightweight, and safe to run

## 🐧 Linux Features
- 🔥 Firewall detection (ufw / firewalld / nftables / iptables)  
- 🛡️ Antivirus presence detection (ClamAV & others if installed)  
- 💻 Linux OS & kernel information  
- 👤 User & sudo privilege hygiene  
- 📁 Sensitive file & permission hygiene checks  

## 🖥️ Supported Platforms

### 🪟 Windows
- Windows 10
- Windows 11

### 🐧 Linux
- Ubuntu
- Kali Linux
- Debian-based distributions
- RHEL/CentOS/Fedora
- Alpine, Arch, openSUSE


## 🚀 Installation

This installation method works for both Windows and Linux systems.

🔧 Requirements

- Python 3.10 or higher

- pip package manager

📦 Install from PyPI
```
pip install shs
```

## ✅ Verify Installation

After installation, verify SHS is available:
```
shs --help
```

If installed correctly, the help menu will be displayed.

## ▶️ Usage 
🔍 Run a full system security hygiene scan 
```
shs scan
```

🔧 Run specific security checks
```
shs scan --system
shs scan --network
shs scan --users
shs scan --files
```

## 📊 Security Scoring

SHS uses a weighted severity scoring system to measure the overall security health of a system.
Each detected issue is classified by severity and assigned a numerical weight.

| Severity | Weight |
|---------|--------|
| CRITICAL | 10 |
| HIGH | 7 |
| MEDIUM | 4 |
| LOW | 1 |

All findings are aggregated into a Security Score (0–100%) with descriptive labels:

- Excellent
- Good
- Needs Attention
- High Risk
- Critical Risk

## 📁 Project Structure

```text
SHS/
├── .venv/                     # Python virtual environment
├── build/                     # Build artifacts
├── dist/                      # Distribution packages
├── docs/                      # Technical documentation
├── documentation/             # User guides and reports
├── exe_build/                 # Executable build output
├── pipelines/                 # CI/CD pipelines and scripts
├── release/                   # Release-ready packages
├── reports/                   # Generated scan reports
├── shs/                       # Core SHS source code
├── shs_security.egg-info/     # Package metadata (security build)
├── shs.egg-info/              # Package metadata
├── tests/                     # Unit and integration tests
│
├── .gitignore                 # Git ignore rules
├── network_scan_test.py       # Network scan test script
├── pyproject.toml             # Modern Python project configuration
├── README.md                  # Project README
├── requirements.txt           # Project dependencies
├── run_integration_test.py    # Integration testing script
├── setup.py                   # Package setup configuration
├── shs_report.html            # Sample HTML security report
├── shs_report.json            # Sample JSON security report
├── shs.py                     # Main CLI entry point
├── shs.spec                   # PyInstaller build specification
```
## 🔒 Safety & Ethics

SHS is designed with security and ethics in mind:

- ✅ Read-only by default
- ❌ No malware behavior
- ❌ No data exfiltration
- ❌ No exploitation or intrusive scanning
  
This tool is intended only for defensive security hygiene assessment.

## 🛣️ Future Improvements

- More Windows and Linux–specific security checks

- Improved scoring logic

- Scheduled scan support

- Enhanced report visualization

- Optional enterprise features
  
## 🙌 Author

Mahima Kumawat
Cybersecurity & System Security Enthusiast