backend
ArmorCheck

ArmorCheck - Website Security Scanner
A comprehensive web security assessment service that performs automated analysis of websites, focusing on three main security aspects:
1. SSL Certificate Verification:
class SSLScanner:
def check_ssl_certificate(self):
# Checks validity, expiration, issuer, etc.
with context.wrap_socket(sock, server_hostname=self.domain) as ssock:
cert = ssock.getpeercert()
2. Security Headers Analysis:
class HeadersScanner:
def check_headers(self):
# Checks X-Frame-Options, CSP, HSTS, etc.
security_headers = {
'X-Frame-Options': headers.get('X-Frame-Options', 'Not Set'),
'Content-Security-Policy': headers.get('Content-Security-Policy', 'Not Set'),
}
3. DNS Records Verification:
class DNSScanner:
def check_dns(self):
# Checks A, AAAA, MX, TXT, CAA records
basic_records = {
'A': self.get_records('A'),
'AAAA': self.get_records('AAAA'),
}
The service uses asynchronous processing with Celery for handling multiple scans simultaneously and provides a REST API built with FastAPI. Results are stored in PostgreSQL and cached in Redis.
Key Features:
- Asynchronous scanning
- Detailed security reports
- API-first architecture
- Scalable worker system
The project aims to help developers and businesses identify security vulnerabilities in their web applications and provide actionable recommendations for improvement.
# test
## test 2
Technologies Used
Python
FastAPI
Celery
Redis
PostgreSQL
React
TypeScript
AsyncIO
SQLAlchemy