84 lines
No EOL
3.4 KiB
Markdown
84 lines
No EOL
3.4 KiB
Markdown
# 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. |