Raxol.Security.Auditor (Raxol v2.0.1)

View Source

Security auditing and validation module for Raxol.

Provides comprehensive security checks and validations including:

  • Input validation and sanitization
  • Authentication and authorization checks
  • SQL injection prevention
  • XSS protection
  • CSRF protection
  • Rate limiting
  • Security headers validation

Summary

Functions

Performs comprehensive security audit.

Checks authorization for a specific action.

Implements rate limiting for API endpoints.

Sanitizes HTML content to prevent XSS.

Validates authentication credentials.

Validates file uploads for security.

Validates and sanitizes user input.

Checks security headers.

Validates SQL queries for injection attempts.

Types

audit_result()

@type audit_result() :: {:ok, :passed} | {:error, security_risk(), String.t()}

security_risk()

@type security_risk() :: :low | :medium | :high | :critical

Functions

audit_system()

Performs comprehensive security audit.

authorize_action(user, resource, action)

Checks authorization for a specific action.

check_rate_limit(identifier, action, opts \\ [])

Implements rate limiting for API endpoints.

sanitize_html(html)

Sanitizes HTML content to prevent XSS.

validate_credentials(username, password)

Validates authentication credentials.

validate_csrf_token(session_token, request_token)

Validates CSRF tokens.

validate_file_upload(file_path, opts \\ [])

Validates file uploads for security.

validate_input(input, type, opts \\ [])

Validates and sanitizes user input.

Examples

iex> validate_input("normal input", :text)
{:ok, "normal input"}

iex> validate_input("<script>alert('xss')</script>", :text)
{:error, :high, "Potential XSS attack detected"}

validate_security_headers(headers)

Checks security headers.

validate_sql_query(query, params \\ [])

Validates SQL queries for injection attempts.