~/wiki

Security Auditing

Confiance : high
security-auditvulnerability-assessmentauthentication-bypasssensitive-data-loggingcode-reviewhandover-security

Systematic evaluation of software systems to identify security vulnerabilities, particularly critical during project handovers and before production deployment. Security auditing combines automated scanning with manual code review to identify both technical vulnerabilities and design flaws.

Common Vulnerability Categories

Authentication and Authorization Flaws

URL Parameter Manipulation: Systems that trust URL parameters for access control without proper validation create direct bypass opportunities:

# Vulnerable pattern
def determine_user_role():
    url_group = query_params.get("group", "").lower()
    if url_group:
        return url_group, True  # Direct privilege escalation

Weak Default Credentials: Hardcoded fallback passwords in production code create security backdoors:

# High-risk pattern
ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD", "sprint2025")  # Trivial default

Data Exposure Vulnerabilities

Sensitive Data Logging: Comprehensive logging systems can inadvertently capture sensitive information in plain text:

  • Full conversation transcripts in unencrypted files
  • System prompts containing business logic
  • User queries revealing private information
  • API keys and tokens in debug logs

Audit Methodology

Pre-Handover Security Review

  1. Authentication Flow Analysis: Map all authentication and authorization paths
  2. Data Flow Tracing: Identify all points where sensitive data is processed or stored
  3. Configuration Security: Review environment variables, secrets management, and defaults
  4. Logging Security: Audit what information is captured and how it's protected

Risk Assessment Framework

Critical: Direct system compromise, data breach potential, authentication bypass High: Sensitive data exposure, privilege escalation, configuration vulnerabilities
Medium: Information disclosure, denial of service potential, audit trail gaps Low: Security best practice violations, hardening opportunities

Handover Security Checklist

Essential Security Items

  • No hardcoded credentials or API keys
  • Secure session management and authentication flows
  • Sensitive data encrypted at rest and in transit
  • Comprehensive audit logging without data leakage
  • Environment-specific configuration management
  • Input validation and sanitization
  • Error handling that doesn't reveal system information

Documentation Requirements

  • Security architecture overview
  • Threat model and risk assessment
  • Incident response procedures
  • Security configuration guide
  • Vulnerability disclosure process

AI System Specific Considerations

LLM Security Patterns

  • Prompt Injection Prevention: Input sanitization and context isolation
  • Output Filtering: Preventing sensitive information leakage in responses
  • Model Access Controls: Securing API endpoints and usage quotas
  • Training Data Protection: Ensuring no sensitive data in model training

RAG System Vulnerabilities

  • Document Access Controls: Ensuring proper authorization for retrieval
  • Vector Database Security: Protecting embeddings and similarity search
  • Context Contamination: Preventing unauthorized information mixing
  • Search Result Filtering: Access control at the document level

Automated Security Tools

Static Analysis Integration

  • Code scanning for common vulnerability patterns
  • Dependency vulnerability scanning
  • Secret detection in source code
  • Configuration security analysis

Dynamic Testing Approaches

  • Authentication bypass testing
  • Input validation fuzzing
  • Authorization boundary testing
  • Session management validation

See also