Production-ready security auditing framework with comprehensive scanning and compliance tools
ScortonJS is a powerful, enterprise-grade security framework for auditing, vulnerability scanning, and compliance assessment. Built with Python, Rust, and TypeScript, it provides fast, reliable security analysis for modern applications and infrastructure.
- DNS Enumeration - Discover subdomains and DNS records
- Port Scanning - Identify open ports and services
- SSL/TLS Analysis - Certificate validation and security assessment
- Security Headers - HTTP security header analysis
- Vulnerability Scanning - XSS, directory traversal, and more
- Cookie Security - Cookie configuration analysis
- Cyberscore Calculation - Overall security score assessment
- Deep Audit Mode - Comprehensive security analysis
- Compliance Frameworks - DORA and NIS2 compliance checking
- Risk Assessment - Detailed risk analysis and recommendations
- Retry Logic - Automatic retry with exponential backoff
- Rate Limiting - Respectful API usage
- Comprehensive Logging - Detailed operation logs
- Error Handling - Graceful error recovery
- Type Safety - Full type hints and validation
- Cross-Platform - Works on Windows, macOS, and Linux
pip install scortonjs
git clone https://github.com/scortonjs/scortonjs.git
cd scortonjs
pip install -e .
git clone https://github.com/scortonjs/scortonjs.git
cd scortonjs
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
pip install -e .[dev]
# Set up authentication
export SCORTON_API_URL=http://localhost:8000
export SCORTON_TOKEN=your-jwt-token
# Run a DNS enumeration scan
scorton scan dns_enum example.com
# Calculate security score
scorton score example.com
# Run deep audit
scorton audit example.com
# Show configuration
scorton config
For comprehensive framework documentation, see FRAMEWORK_GUIDE.md
# DNS enumeration
scorton scan dns_enum example.com
# Port scanning
scorton scan port_scan 192.168.1.1
# SSL certificate analysis
scorton scan ssl_scan https://example.com
# Security headers check
scorton scan headers_check https://example.com
# Available tools: cookie_scan, dir_scan, dns_enum, headers_check,
# methods_scan, port_scan, reverse_dns, ssl_scan, url_analyze,
# whois_scan, xss_scan
# Calculate overall security score
scorton score example.com
# With custom API endpoint
scorton score example.com --api https://api.scorton.com --token your-token
# Run comprehensive security audit
scorton audit example.com
# With verbose output
scorton audit example.com --verbose
# Show current configuration
scorton config
# Get environment variable setup command
scorton config --set SCORTON_API_URL=https://api.scorton.com
scorton scan dns_enum example.com --timeout 60
scorton scan dns_enum example.com --verbose
from scorton import ScortonClient
# Initialize client
client = ScortonClient(
api_base="http://localhost:8000",
token="your-jwt-token",
timeout=30,
max_retries=3
)
# Run scan
result = client.call_api("dns_enum", "example.com")
print(result)
ScortonJS is built as a comprehensive security framework with multiple language components:
- Python - Main orchestration layer and business logic
- Rust - High-performance security scanning and compliance engine
- TypeScript/Node.js - Modern CLI interface and API bindings
- Python Core (
scorton.py
) - Main framework orchestration - Rust Security Engine - High-performance scanning components
- Rust Compliance Engine - DORA and NIS2 compliance checking
- Node.js CLI - Modern command-line interface
- Plugin System - Extensible architecture for custom tools
scorton-js/
βββ scorton.py # Python core framework
βββ packages/
β βββ cli/ # Node.js CLI interface
β βββ rust-core/ # Rust security engine
βββ FRAMEWORK_GUIDE.md # Comprehensive documentation
βββ tests/ # Test suite
# Required
export SCORTON_TOKEN=your-jwt-token
# Optional
export SCORTON_API_URL=http://localhost:8000
Create ~/.scorton/config.yaml
:
api:
base_url: "http://localhost:8000"
timeout: 30
max_retries: 3
logging:
level: "INFO"
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
security:
verify_ssl: true
user_agent: "ScortonCLI/1.0.0"
# Run all tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=scorton --cov-report=html
# Run specific test
pytest tests/test_scorton.py::TestScortonClient -v
- Unit Tests - Individual component testing
- Integration Tests - End-to-end workflow testing
- API Tests - Mock API response testing
- Error Handling Tests - Exception and error scenarios
- Python 3.8+
- Node.js 18+
- Rust 1.70+
- Git
# Clone repository
git clone https://github.com/scortonjs/scortonjs.git
cd scortonjs
# Set up Python environment
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .[dev]
# Set up pre-commit hooks
pre-commit install
# Set up Node.js dependencies
cd packages/cli
npm install
# Set up Rust dependencies
cd ../rust-core
cargo build
# Format code
black scorton.py
# Lint code
flake8 scorton.py
# Type checking
mypy scorton.py
# Security scan
bandit -r scorton.py
- DNS Enumeration: ~1000 subdomains/second
- Port Scanning: ~1000 ports/second
- SSL Analysis: ~100 certificates/second
- Memory Usage: <50MB typical
- Concurrent Scanning - Parallel execution for speed
- Connection Pooling - Efficient HTTP connections
- Caching - Intelligent result caching
- Resource Management - Memory and CPU optimization
- Input Validation - Comprehensive input sanitization
- Rate Limiting - Prevents API abuse
- Secure Defaults - Security-first configuration
- Audit Logging - Complete operation audit trail
Report security vulnerabilities to: security@scortonjs.com
We welcome contributions! Please see CONTRIBUTING.md for details.
- π’ Fix documentation typos
- π’ Add test coverage
- π’ Improve error messages
- π‘ Add new security tools
- π‘ Performance optimizations
- π΄ Architecture improvements
This project is licensed under the MIT License - see the LICENSE file for details.
- Security Community - For tools and techniques
- Open Source Projects - For inspiration and libraries
- Contributors - For code, documentation, and feedback
- Documentation: docs.scortonjs.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: team@scorton.tech
Made with β€οΈ by the ScortonJS Team