This document provides a step-by-step verification checklist to ensure the AI Pattern Detector demo works correctly end-to-end.
- Python 3.8+ installed:
python3 --version - Virtual environment created:
python3 -m venv venv - Virtual environment activated:
source venv/bin/activate(orvenv\Scripts\activateon Windows) - Dependencies installed:
pip install -r ai_tools/requirements.txt - No import errors:
python -c "import ai_tools; print('OK')" - Streamlit installed:
streamlit --version
- Ollama installed:
ollama --version - Ollama running:
ollama list(should not error) - Model pulled:
ollama pull llama3 - Model verified:
ollama listshows llama3
-
ai_tools/directory exists -
dashboard/directory exists -
docs/directory exists - All Python files present
- Configuration files present
Command: python -c "from ai_tools.detection.ai_pattern_detector import AIPatternDetector; print('OK')"
Expected: No errors, prints "OK"
Status: [ ] PASS [ ] FAIL
Notes:
Command: streamlit run dashboard/app.py
Steps:
- Run command
- Wait for browser to open automatically
- Verify dashboard loads
Expected:
- Browser opens at
http://localhost:8501 - Dashboard header visible: "AI Pattern Detector Dashboard"
- Sidebar visible with controls
- Main content area visible
- No errors in terminal
Status: [ ] PASS [ ] FAIL
Notes:
Screenshot: (optional)
Steps:
- Verify sidebar contains:
- Simulation controls (Start/Stop)
- Attack controls (Trigger/Stop)
- AI Features toggle
- Configuration sliders
- Reset button
- Export button
Expected: All controls visible and accessible
Status: [ ] PASS [ ] FAIL
Notes:
Steps:
- Click "Start Simulation" button
- Observe metrics panel updates
- Check threat timeline chart
- Review recent detections table
Expected:
- Simulation starts (button disabled, Stop enabled)
- Metrics show increasing counts
- Timeline shows low-threat indicators (green)
- Detections appear in table
- Threat scores mostly < 30
Status: [ ] PASS [ ] FAIL
Notes:
Duration: Run for 30 seconds
Steps:
- Ensure simulation is running
- Click "Trigger Attack" button
- Observe changes in:
- Alert feed
- Threat scores
- Pattern types
- Threat level
Expected:
- Attack triggers successfully
- Alerts appear in alert feed
- Threat scores increase (> 50)
- Pattern types show: superhuman_speed, systematic_enumeration, or behavioral_anomaly
- Threat levels change to "suspicious" or "malicious"
- Timeline shows higher threat indicators (orange/red)
Status: [ ] PASS [ ] FAIL
Notes:
Duration: Run for 30 seconds
Steps:
- Verify all charts render:
- Threat Timeline
- Threat Gauge
- Pattern Distribution
Expected:
- All charts visible
- Charts update in real-time
- No rendering errors
- Data displays correctly
Status: [ ] PASS [ ] FAIL
Notes:
Prerequisites: Ollama installed and running
Steps:
- Check "Enable AI Analysis" checkbox
- Verify Ollama status shows "Connected"
- Verify model name displayed
- Generate attack traffic
- Click "AI Insights" on an alert
- Verify AI analysis panel appears
- Check Security Assistant Q&A
Expected:
- Ollama status: "Connected"
- Model name shown (e.g., "llama3")
- AI Insights panel displays explanations
- Intent classification shown
- Recommendations appear
- Security Assistant answers questions
Status: [ ] PASS [ ] FAIL
Notes:
Prerequisites: Ollama NOT running
Steps:
- Ensure Ollama is stopped
- Check "Enable AI Analysis" checkbox
- Verify Ollama status shows "Unavailable"
- Start simulation
- Trigger attack
- Verify detections still work
- Check alerts display (without AI)
Expected:
- Ollama status: "Unavailable"
- System continues functioning
- Rule-based detection works
- Basic threat explanations provided
- No errors or crashes
Status: [ ] PASS [ ] FAIL
Notes:
Steps:
- Adjust "Superhuman Speed Threshold" slider
- Adjust "Attack Intensity" slider
- Observe detection sensitivity changes
- Reset to defaults
Expected:
- Sliders work correctly
- Threshold changes affect detection
- Attack intensity affects traffic mix
- Reset restores defaults
Status: [ ] PASS [ ] FAIL
Notes:
Steps:
- Generate detections (normal + attack)
- Click "Export Detections" button
- Download CSV file
- Open CSV file
- Verify data structure
Expected:
- CSV downloads successfully
- File contains detection data
- Columns present: timestamp, threat_score, threat_level, pattern_type, endpoint, IP
- Data matches dashboard
Status: [ ] PASS [ ] FAIL
Notes:
File Name: detections_YYYYMMDD_HHMMSS.csv
Steps:
- Generate detections
- Verify metrics show counts
- Click "Reset Detector" button
- Verify metrics reset
- Check charts reset
Expected:
- Reset clears all detections
- Metrics return to zero
- Charts reset
- Alert feed clears
- No errors
Status: [ ] PASS [ ] FAIL
Notes:
Steps:
- Test invalid configurations
- Stop Ollama during operation (if running)
- Verify graceful degradation
- Test with missing dependencies
Expected:
- Errors handled gracefully
- No crashes
- Error messages informative
- System recovers
Status: [ ] PASS [ ] FAIL
Notes:
Steps:
- Run simulation for 5+ minutes
- Monitor memory usage
- Check response times
- Verify no slowdowns
Expected:
- Dashboard remains responsive
- Memory usage stable
- No performance degradation
- Charts update smoothly
Status: [ ] PASS [ ] FAIL
Notes:
Memory Usage: _____ MB Response Time: _____ ms
- All tests PASSED
- Some tests FAILED (see notes)
- Tests BLOCKED (see notes)
List any critical issues found:
List any minor issues found:
- Date: YYYY-MM-DD
- Tester: Name
- OS:
- Python Version:
- Browser:
- Ollama Version: (if applicable)
- Ollama Model: (if applicable)
- Verified By: ________________
- Date: ________________
- Status: [ ] APPROVED [ ] NEEDS WORK
Last Updated: 2025-01-XX Version: 1.0