Skip to content

Details ‐ Dashboard

Michael Haag edited this page Jul 23, 2024 · 1 revision

Dashboard Page Documentation

The Dashboard page is the central hub of ShellSweepX, providing users with an at-a-glance overview of the system's performance, recent detections, and key statistics. This page serves as the main entry point for users to quickly assess the current state of webshell detection across their monitored systems.

Page Structure

The dashboard.html template is structured as follows:

  1. Header: Contains the ShellSweepX logo and navigation menu.
  2. Main Content:
    • Key Metrics Cards
    • Data Visualization Charts
    • Recent Detections List
    • Last Updated Timestamp
  3. Footer: Displays copyright information and a link to Terms of Service.

Key Features

1. Key Metrics Cards

Four dashboard cards display critical statistics:

  • Webshells Detected: Total number of identified webshells.
  • Files Scanned: Total number of files analyzed.
  • Detection Rate: Percentage of scanned files identified as webshells.
  • Active Agents (24h): Number of agents active in the last 24 hours.

2. Data Visualization

Two charts provide visual representation of detection data:

  • Detection Trend Chart: Likely shows webshell detections over time.
  • Webshell Types Pie Chart: Probably displays distribution of detected webshell types.

3. Recent Detections

A section listing the most recent webshell detections, providing immediate awareness of the latest threats.

4. Real-time Updates

The dashboard includes a "Last updated" timestamp, suggesting that the data is refreshed periodically.

JavaScript and External Libraries

  • Chart.js: Used for creating the data visualization charts.
  • Font Awesome: Provides icons for enhanced visual appeal.
  • Custom JavaScript file (dashboard.js): Handles dynamic content updates and chart rendering.

Dynamic Content

Several elements are populated dynamically:

  • Metric values (e.g., {{ webshells_detected }}, {{ files_scanned }})
  • The recent detections list (#detections-list)
  • Last updated timestamp (#last-updated-time)

Styling

The page uses CSS styles defined in /static/css/styles.css, likely including styles for the dashboard grid, cards, and charts.

User Experience Considerations

  1. At-a-glance Information: Key metrics are prominently displayed for quick assessment.
  2. Visual Data Representation: Charts provide intuitive understanding of trends and distributions.
  3. Recent Activity Awareness: The recent detections list keeps users informed of the latest threats.
  4. Responsive Design: The use of a grid layout suggests responsiveness across different screen sizes.

Potential Enhancements

  1. Interactive Charts: Allow users to drill down into chart data for more detailed information.
  2. Customizable Dashboard: Let users choose which metrics and charts to display.
  3. Real-time Updates: Implement WebSocket connections for live updates without page refresh.
  4. Alert System: Add a section for critical alerts or notifications.

Integration with Backend

  • The template uses Jinja2 syntax to populate dynamic content (e.g., {{ webshells_detected }}), indicating server-side rendering of initial data.
  • The dashboard.js file likely handles AJAX requests to fetch updated data and refresh the dashboard periodically.

Security Considerations

  • Ensure that all data displayed on the dashboard is properly sanitized to prevent XSS attacks.
  • Implement proper authentication and authorization to restrict dashboard access to authorized users only.

This Dashboard page serves as a powerful tool for ShellSweepX users, providing a comprehensive overview of the system's performance and recent detection activities. Its combination of key metrics, visual data representation, and recent activity listings makes it an essential component for monitoring and responding to potential webshell threats.