-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the ThreatSight wiki!
The aim of this wiki is to give understanding about the project in more detailed way , even if you are a beginner and trying to hands on this , this will give you the clear understanding how to use it and what is the vision behind this tool
- Overview
- Getting Started
- Core Features
- Architecture
- Usage Guide
- Contributing
- Security & Ethics
- Roadmap
- FAQ
- Troubleshooting
ThreatSight is an intelligent network security scanner that combines Nmap's powerful scanning capabilities with automated analysis and risk assessment. It transforms raw network scan data into actionable security insights.
While Nmap provides excellent network discovery, ThreatSight adds:
- Automated vulnerability correlation
- Risk prioritization
- Actionable reporting
- Multi-threaded efficiency
- Security Analysts: Quick network assessments
- Penetration Testers: Reconnaissance automation
- DevOps Teams: Pre-deployment security checks
- Cybersecurity Students: Learning tool for network scanning
- Python 3.8+
- Nmap 7.93+
- 2GB+ RAM
- Network interface with packet injection capability
# Ubuntu/Debian
sudo apt update && sudo apt install nmap
# macOS
brew install nmap
# Windows
# Download from https://nmap.org/download.htmlgit clone https://github.com/yourusername/ThreatSight.git
cd ThreatSightpip install -r requirements.txtpython3 threat_sight.py --test# Single host scan
python3 threat_sight.py
# Multiple hosts scan
python3 threat_sight.py --targets hosts.txt| Scan Type | Command | Use Case |
|---|---|---|
| SYN ACK | -sS |
Stealthy TCP port discovery |
| UDP Scan | -sU |
UDP service detection |
| Comprehensive | -sS -sV -O -A |
Full service and OS fingerprinting |
ThreatSight uses concurrent scanning to dramatically reduce scan times:
# Without threading (sequential)
Host 1: 45s
Host 2: 45s
Host 3: 45s
Total: 135s
# With ThreatSight (10 threads)
Hosts 1-10: 45s
Total: 45s (70% faster)# Example output enhancement
Nmap Output:
Port 80/tcp open http
ThreatSight Output:
Port 80/tcp open http
├─ Service: Apache 2.4.49
├─ CVE-2021-41773 (CVSS 9.8)
└─ Action: Upgrade to Apache 2.4.51+- 🔴 Red: Errors, critical vulnerabilities
- 🟡 Yellow: Warnings, medium risk
- 🟢 Green: Success, low risk
- 🔵 Blue: Information, scan progress
ThreatSight/
├── core/
│ ├── scanner.py # Main scanning logic
│ ├── utils.py # Helper functions
│ └── __init__.py
├── tests/
│ ├── test_scanner.py
│ └── __init__.py
├── config.yaml # Configuration
├── threat_sight.py # Main executable
├── requirements.txt
└── README.md
graph LR
A[User Input] --> B[IP Validation]
B --> C[Host Discovery]
C --> D[Threaded Scanning]
D --> E[Result Analysis]
E --> F[Risk Scoring]
F --> G[Report Generation]
- Scanner Module: Handles all Nmap interactions
- Thread Manager: Orchestrates concurrent scans
- Result Parser: Extracts meaningful data from Nmap output
- Risk Engine: Prioritizes findings (future release)
python3 threat_sight.pyEnter IP (or 'q' to exit): 192.168.1.1
Enter port range (1-1024): 1-1000
Choose scan type (1:SYN/2:UDP/3:Full): 1
python3 threat_sight.py --file targets.txt --ports 20-443 --type synpython3 threat_sight.py --continuous --interval 3600# Scan local network for common services
python3 threat_sight.py --target 192.168.1.0/24 --ports 22,80,443,3389# Verify only required ports are open
python3 threat_sight.py --target server.example.com --verify-ports 22,443# Find all web servers
python3 threat_sight.py --target 10.0.0.0/16 --find-service httpThreatSight supports multiple output formats:
# JSON for automation
python3 threat_sight.py --output json > scan_results.json
# CSV for spreadsheets
python3 threat_sight.py --output csv > scan_results.csv
# HTML for reports
python3 threat_sight.py --output html --report report.html- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
# Clone with SSH
git clone git@github.com:yourusername/ThreatSight.git
# Install dev dependencies
pip install -r requirements-dev.txt
# Run tests
pytest tests/- Follow PEP 8
- Use type hints
- Write docstrings
- Add unit tests for new features
| Label | Purpose |
|---|---|
good first issue |
Beginner-friendly tasks |
enhancement |
New features |
bug |
Issues to fix |
documentation |
Docs improvement |
Using ThreatSight responsibly:
- Scanning your own networks
- Authorized penetration testing
- Educational environments (with supervision)
- Security research (with permission)
- Scanning networks you don't own
- Violating terms of service
- Disrupting services
- Data theft or intrusion
ThreatSight helps with:
- PCI DSS: Regular vulnerability scanning
- HIPAA: Network security assessments
- GDPR: Data protection verification
- Get Written Permission: Always have authorization
- Schedule Scans: Avoid peak hours
-
Limit Bandwidth: Use
--max-rateoption - Document Results: Keep logs for audits
- Basic Nmap wrapper
- Multi-threaded scanning
- Color-coded output
- Port range validation
- CVE database integration
- CVSS scoring
- Exploitability assessment
- Asset criticality scoring
- Compliance mapping
- Remediation guidance
- API interface
- SIEM integration
- Scheduled scanning
A: No, ThreatSight enhances Nmap by adding analysis and automation layers. It uses Nmap as its scanning engine.
A: Python provides better threading, data processing, and integration capabilities than NSE (Nmap Scripting Engine).
A: Default is 10 threads. Adjust with --threads flag:
python3 threat_sight.py --threads 20A: Yes, if Nmap supports it on your system:
python3 threat_sight.py --target 2001:db8::1A: Use output redirection:
python3 threat_sight.py > scan_results.txtA: Set timeout with --timeout:
python3 threat_sight.py --timeout 30 # 30 seconds per hostSolution:
which nmap # Check if installed
export PATH=$PATH:/usr/local/nmap/bin # Add to PATH if neededSolution:
# Run with sudo
sudo python3 threat_sight.py
# Or set capabilities
sudo setcap cap_net_raw,cap_net_admin+eip $(which nmap)Solution: Use rate limiting:
python3 threat_sight.py --max-rate 100 # 100 packets/secondSolution: Increase timeouts:
python3 threat_sight.py --scan-delay 5 --host-timeout 300| Scenario | Optimization |
|---|---|
| Large networks | --threads 50 |
| Slow targets | --max-retries 3 |
| Noisy networks | --defeat-rst-ratelimit |
| Firewalled hosts |
-Pn (skip ping) |
Enable verbose output for troubleshooting:
python3 threat_sight.py --debug --log-level DEBUG- GitHub Issues: Report bugs or request features
- Wiki: Check this documentation first
- Community: Join discussions
Email : DO NOT post security issues publicly.
- Star the GitHub repository
- Watch for releases
- Follow project updates
ThreatSight is released under the MIT License. See LICENSE for details.
Last Updated: Jan 2026
Version: 1.0.0
Author: Parshant Kumar