Automated, passive web security compliance assessment β built for professionals.
A comprehensive Python-based security assessment tool that evaluates web applications against 28 critical security controls, aligned with industry best practices. Designed for ethical, non-intrusive analysis, it helps teams quickly identify misconfigurations and compliance gaps without exploiting vulnerabilities.
The Web Security Compliance Checker performs passive security analysis on web applications to verify adherence to modern security standards. It inspects:
- HTTPS and protocol enforcement
- HTTP security headers
- TLS/SSL configuration and known weaknesses
- HTTP method exposure
- Port accessibility
- DNS security controls
All checks are performed safely and responsibly, making the tool suitable for enterprise environments, audits, and pre-production reviews.
Covering all major web security domains:
- Port Security
- HTTP / HTTPS Configuration
- Security Headers (HSTS, CSP, X-Frame-Options, etc.)
- Cookie Security Attributes
- HTTP Method Restrictions
- TLS / SSL Configuration
- Known Vulnerability Protections
- DNS CAA Record Validation
- Built with Streamlit
- Real-time progress tracking
- Clear compliance status with remarks
- Exportable CSV reports
- Modular, extensible design
- Robust error handling
- Graceful degradation when checks are blocked
- No dummy logic β every check performs real analysis
-
Scans common service ports:
21, 22, 23, 25, 80, 443, 3306, etc. -
Confirms that only HTTP (80) and HTTPS (443) are accessible
-
Uses direct socket connections
- Verifies site availability over HTTP and HTTPS
- Confirms automatic HTTP β HTTPS redirection
- Ensures HTTPS is fully operational
-
Analyzes:
ServerheaderX-Powered-Byand similar headersETagformat for inode leakage
-
Flags unnecessary version disclosure
Evaluates presence and correctness of:
-
X-XSS-Protection -
X-Frame-Options -
Strict-Transport-Security -
Content-Security-Policy -
Cookie flags:
HttpOnlySecureSameSite
-
Cache-Control
-
Tests for unsafe methods:
PUT, DELETE, TRACE, OPTIONS -
Detects publicly accessible admin paths
-
Verifies correct restriction responses (405 / 501)
Protocol Support Testing
- SSLv2 β
- SSLv3 β
- TLS 1.0 β
- TLS 1.1 β
- TLS 1.2+ β
Cipher Suite Analysis
- Detects weak or deprecated ciphers
Vulnerability Inference
- POODLE
- Logjam
- Heartbleed
- CRIME
- CCS Injection
- FREAK
- DROWN
Forward Secrecy
- Confirms ECDHE / DHE support
β οΈ Vulnerabilities are inferred through protocol and cipher behavior β no exploitation is performed.
- Sends HTTP/1.0 requests
- Verifies modern protocol handling
- Queries CAA records
- Validates certificate issuance restrictions
- Clean Streamlit-based dashboard
- Real-time status updates
- Clear compliance verdicts
- Downloadable CSV security report
web_security_compliance/
β
βββ app.py # Streamlit UI
βββ controller.py # Scan orchestration
βββ checks/
β βββ https_checks.py # HTTPS & redirect checks
β βββ header_checks.py # Security header analysis
β βββ method_checks.py # HTTP method validation
β βββ port_checks.py # Port accessibility tests
β βββ tls_checks.py # TLS/SSL inspection
β βββ dns_checks.py # DNS security checks
β
βββ results.py # Results handling
βββ utils.py # Shared utilities
βββ requirements.txt # Dependencies
βββ README.md # Documentation
- Python 3.8+
- pip
- Clone or download the repository
- Install dependencies:
pip install -r requirements.txtstreamlit run app.py- Open the displayed URL (usually
http://localhost:8501) - Enter a target website (e.g.
https://example.com) - Click Scan Website
- Review findings and export the report if needed
This tool is strictly passive:
- β No exploitation
- β No brute force
- β No DoS testing
- β No vulnerability abuse
- β Limited port scanning
- β Respectful request rates
Designed for audits, compliance checks, and defensive security reviews.
- TLS Vulnerabilities are inferred, not exploited
- Firewalls and WAFs may block checks
- Python SSL libraries may not support legacy protocols
- DNS results may be cached
- Aggressive rate limiting can cause false results
To achieve full compliance:
- Enforce HTTPS with redirects
- Expose only ports 80 & 443
- Remove server version disclosures
- Implement all recommended security headers
- Secure cookies properly
- Restrict HTTP methods
- Protect admin interfaces
- Use TLS 1.2+ with strong ciphers
- Enable Forward Secrecy
- Configure DNS CAA records
- Verify URL correctness
- Check for bot blocking
- Confirm outbound HTTPS access
- Firewall restrictions
- Network timeout
- Rate limiting
- Certificate misconfiguration
- Outdated Python SSL
- Unsupported TLS setup
IMPORTANT: Use this tool only on:
- Systems you own
- Systems you have explicit permission to test
- Public services under responsible disclosure
Unauthorized scanning may be illegal.
Contributions are welcome from security professionals:
- New checks
- Accuracy improvements
- Performance optimizations
- UI enhancements
Provided for educational and professional security assessment purposes only. Users are responsible for legal compliance.