backend

ArmorCheck

In Progress
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