# Resilience Challenge - Interactive Booth Experience

An interactive booth experience that captures corporate emails, runs background security simulations using GoTestWAF, and provides a "Resilience Code" for lead conversion.

## Project Structure

```
gitex2026/
├── AttackSurface/          # Main application folder
│   ├── dist/              # Deployment directory (self-contained)
│   │   ├── aasd           # Compiled application binary
│   │   ├── static/        # HTML/JS/CSS frontend files
│   │   ├── templates/     # Go HTML templates
│   │   ├── gotestwaf      # GoTestWAF binary
│   │   ├── domain-scan    # Domain discovery tool
│   │   ├── testcases/     # GoTestWAF test cases
│   │   ├── config.yaml    # AI provider configuration
│   │   ├── prompt.txt     # AI system prompt
│   │   ├── reports/       # Generated scan reports
│   │   ├── logs/          # Server logs
│   │   └── start.sh       # Startup script
│   ├── src/               # Source code (Go server, frontend)
│   │   ├── cmd/           # Go command entry points
│   │   ├── static/        # HTML/JS/CSS frontend files
│   │   ├── templates/     # Go HTML templates
│   │   ├── gotestwaf/     # Vendored GoTestWAF source
│   │   ├── internal/      # Internal Go packages
│   │   └── pkg/           # Public Go packages
│   ├── docs/              # Documentation (CHANGELOG.md, DEVELOPMENT_STATUS.md)
│   ├── VERSION            # Current version
│   └── .gitignore
└── README.md              # This file
```

## Tech Stack

- **Backend**: Go (Golang) with Gin web framework
- **Frontend**: HTML5, JavaScript, CSS
- **Security Testing**: GoTestWAF (external binary)
- **Data Storage**: In-memory map (volatile) for demo purposes

## Features

1. **Email Capture & Validation**: POST `/start` endpoint with regex validation and security checks
2. **Background Security Scan**: Concurrent GoTestWAF execution with 120-second timeout
3. **Real-time Status Tracking**: Polling endpoint `/scan-status/:domain` for live updates
4. **Interactive Simulation**: Frontend step sequencer with animated progress visualization
5. **Resilience Code**: Static code `WX-2026` displayed after simulation completion
6. **Consultant Dashboard**: Protected `/admin-dashboard` to monitor all scan results
7. **Report Generation**: HTML reports served at `/reports/report_*.html`
8. **Graceful Shutdown**: OS signal handling (SIGINT, SIGTERM) with proper cleanup

## Quick Start

```bash
# Option 1: Run from dist/ (recommended - no build needed)
cd AttackSurface/dist
./start.sh

# Option 2: Build and run from source
cd AttackSurface/src
go build -o ../dist/aasd ./cmd/aasd/
cd ../dist
./start.sh

# Access the application
# Frontend: http://localhost:8080 (or booth Wi-Fi IP)
# Admin dashboard: http://localhost:8080/admin-dashboard
```

> **Note**: Before running, set your DeepSeek API key in `dist/config.yaml` if AI-generated reports are desired. Without it, the app uses built-in fallback reports.

## Development

### Current Status
**Version 2026-04.1**

### Documentation
- [CHANGELOG.md](AttackSurface/docs/CHANGELOG.md) - Version history and detailed changes
- [DEVELOPMENT_STATUS.md](AttackSurface/docs/DEVELOPMENT_STATUS.md) - Current status and testing results

## License

Proprietary - For internal event use only.