Epic: HTTP Scanner Module Expansion

Resolved 💬 3 comments Opened Jan 8, 2026 by TarkinLarson Closed Feb 21, 2026

Overview

Expand the HTTP Headers module into a comprehensive HTTP Scanner with configurable scan profiles. This transforms a security-focused tool into a general-purpose HTTP analysis platform.

Goals

  1. Profile-based scanning - Light, Standard, Security, Full profiles
  2. Broader data capture - Server info, caching, cookies, CORS, tech stack
  3. Tenant configuration - Feature flags per tenant for scan capabilities
  4. Foundation for monitoring - Lightweight "ping" profile for future HTTP Monitor module

Scan Profiles

| Profile | Use Case | Features |
|---------|----------|----------|
| Ping | Availability monitoring | Status, response time |
| Light | Quick check | + Redirects, server info |
| Standard | Default scan | + Tech stack, caching, cookies |
| Security | Security posture (current) | + Security headers, scoring |
| Full | Comprehensive analysis | + CORS, all headers, body hash |

New Attribute Namespaces

http:*        → Core HTTP (status, timing, redirects)
server:*      → Infrastructure detection
cache:*       → Caching analysis
cookie:*      → Cookie security
cors:*        → CORS configuration
content:*     → Content metadata

API Changes

POST /api/http-scanner/scan
{
  "url": "https://example.com",
  "profile": "standard",
  "features": ["cookies", "cors"]  // optional additions
}

Sub-Issues

  • [ ] #589 - Refactor HTTP Headers to HTTP Scanner core
  • [ ] #590 - Add server/infrastructure detection
  • [ ] #591 - Add caching headers analysis
  • [ ] #592 - Add cookie security analysis
  • [ ] #593 - Add CORS configuration detection
  • [ ] #594 - Add content metadata extraction
  • [ ] #595 - Implement scan profiles system
  • [ ] #596 - Add tenant feature flags for HTTP Scanner

Future Work (Separate Epic)

  • HTTP Monitor module (continuous availability monitoring)
  • Alerting on status changes
  • Response time trending
  • Content change detection

Success Criteria

  • [ ] All profiles implemented and tested
  • [ ] Backward compatible with existing headers:* attributes
  • [ ] Profile selection via API and UI
  • [ ] Documentation updated

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗