Skip to content

markteicher/BitSight_For_Splunk_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bitsight Security Ratings for Splunk

Overview

Full Splunk App for Bitsight Security Ratings. Monitor and visualize security ratings, portfolio companies, alerts, findings, exposed credentials, users, and threat intelligence from the Bitsight API.

Features

πŸ›‘οΈ Core Capabilities

Feature Description
πŸ“Š Security Ratings Monitoring Track your organization's security rating over time
🏒 Portfolio Management Monitor third-party vendor security posture with sparklines
πŸ”” Alert Management Real-time notifications for security rating changes
πŸ” Findings Analysis Detailed vulnerability and security finding tracking with CVSS scores
πŸ” Exposed Credentials Data breach and credential exposure monitoring
⚠️ Threat Intelligence CVE and vulnerability threat tracking
πŸ‘₯ User Management Track user activity, quota usage, and access review
πŸ“ˆ 21 Risk Vectors Complete coverage of all Bitsight risk vectors

πŸ“ˆ Advanced Analytics

Feature Description
πŸ“‰ Ratings Trending Company-level ratings trending over time
πŸ“Š Findings Trending WoW, MoM, QoQ, YoY findings trend analysis
πŸ”„ Comparative Trending WoW, MoM, QoQ, YoY rating comparisons
πŸ† Peer Benchmarking Industry and peer group comparisons
⏱️ MTTR Executive Mean Time to Remediate executive metrics
🎯 Asset Risk Matrix Asset importance vs severity heat mapping
🌳 Ratings Tree Company hierarchy and subsidiary ratings visualization

βœ… Compliance & Governance

Feature Description
πŸ›οΈ NIST CSF Mapping Risk vectors mapped to NIST Cybersecurity Framework
⏰ SLA Tracking Remediation SLA monitoring and breach alerts
πŸ‘€ User Access Review Periodic access review and audit support

βš™οΈ Operational Excellence

Feature Description
πŸ“Š Operational Metrics Records processed, API calls, ingestion rates
πŸ’“ Health Monitoring Data freshness and collection status
βœ… Configuration Validation Automatic setup validation on first launch
πŸ• Scheduled Health Checks Daily validation and hourly API health checks
πŸ“‹ Log Viewer API activity and error monitoring

πŸš€ Deployment

Feature Description
πŸ“Š 26 Pre-built Dashboards Immediate insights out of the box
πŸ–₯️ Web UI Setup No CLI required - configure via Splunk Web
☁️ Splunk Cloud Ready AppInspect compliant for cloud deployment
πŸ“§ Alert Actions Email, Webhook, Script, and PagerDuty integrations

Installation

Step 1: Deploy the App

  1. Download the BitSight_For_Splunk_App-1.0.0.tar.gz file
  2. In Splunk Web, navigate to Apps β†’ Manage Apps
  3. Click Install app from file
  4. Upload the .tar.gz file and click Upload
  5. Restart Splunk when prompted

Step 2: Configure the App

  1. In Splunk Web, navigate to Apps β†’ Bitsight β†’ Setup
  2. Configure the following settings:

API Configuration

  • Bitsight API Token: Enter your API token (obtain from the Bitsight portal)
  • API Base URL: Default is https://api.bitsighttech.com
  • Verify SSL: Enable SSL certificate verification (recommended)
  • Request Timeout: Set timeout in seconds (default: 60)

Proxy Configuration (Optional)

  • Use Proxy: Enable if your network requires a proxy
  • Proxy URL: Enter proxy URL (e.g., http://proxy.example.com:8080)
  • Proxy Username: Enter username if proxy requires authentication
  • Proxy Password: Enter password if proxy requires authentication

Data Inputs

Select which data to collect:

  • Portfolio Companies
  • Security Ratings
  • Ratings History (Trending)
  • Security Findings
  • Findings Summary
  • Alerts
  • Exposed Credentials
  • Threat Intelligence
  • Users & Quota

Collection Settings

  • Portfolio Interval: How often to collect portfolio data (seconds)
  • Findings Interval: How often to collect findings data (seconds)
  • Alerts Interval: How often to check for new alerts (seconds)
  • Historical Data: Number of days of historical data to collect
  1. Click Save to apply the configuration

Step 3: Validate Configuration

  1. After saving, click Test API Connection to verify your API token
  2. If using a proxy, click Test Proxy Connection to verify connectivity
  3. The app will automatically validate your configuration on first launch

Step 4: Verify Data Collection

In Splunk Web, run this search to verify data is being collected:

index=security_bitsight sourcetype=bitsight:*
| stats count by sourcetype

Directory Structure

BitSight_For_Splunk_App/
β”œβ”€β”€ app.manifest                    # App manifest for Splunk Cloud
β”œβ”€β”€ LICENSE                         # Apache 2.0 License
β”œβ”€β”€ README.md                       # This file
β”œβ”€β”€ default/
β”‚   β”œβ”€β”€ app.conf                    # App configuration
β”‚   β”œβ”€β”€ alert_actions.conf          # Alert action definitions
β”‚   β”œβ”€β”€ bitsight.conf               # Default settings
β”‚   β”œβ”€β”€ indexes.conf                # Index definitions
β”‚   β”œβ”€β”€ inputs.conf                 # Input definitions
β”‚   β”œβ”€β”€ macros.conf                 # Search macros
β”‚   β”œβ”€β”€ props.conf                  # Field extraction rules
β”‚   β”œβ”€β”€ restmap.conf                # REST API configuration
β”‚   β”œβ”€β”€ savedsearches.conf          # Saved searches & alerts
β”‚   β”œβ”€β”€ server.conf                 # Server configuration
β”‚   β”œβ”€β”€ transforms.conf             # Field transformations
β”‚   β”œβ”€β”€ web.conf                    # Web settings
β”‚   β”œβ”€β”€ workflow_actions.conf       # Workflow actions
β”‚   └── data/ui/
β”‚       β”œβ”€β”€ nav/default.xml         # Navigation menu
β”‚       └── views/                  # Dashboard XML files (26 dashboards)
β”‚           β”œβ”€β”€ setup.xml           # Setup wizard
β”‚           β”œβ”€β”€ bitsight_overview.xml
β”‚           β”œβ”€β”€ bitsight_search.xml
β”‚           β”œβ”€β”€ bitsight_portfolio.xml
β”‚           β”œβ”€β”€ bitsight_ratings.xml
β”‚           β”œβ”€β”€ bitsight_ratings_tree.xml
β”‚           β”œβ”€β”€ bitsight_ratings_trending.xml
β”‚           β”œβ”€β”€ bitsight_trending.xml
β”‚           β”œβ”€β”€ bitsight_benchmarking.xml
β”‚           β”œβ”€β”€ bitsight_findings.xml
β”‚           β”œβ”€β”€ bitsight_findings_detailed.xml
β”‚           β”œβ”€β”€ bitsight_findings_trending.xml
β”‚           β”œβ”€β”€ bitsight_remediation.xml
β”‚           β”œβ”€β”€ bitsight_mttr_executive.xml
β”‚           β”œβ”€β”€ bitsight_asset_risk_matrix.xml
β”‚           β”œβ”€β”€ bitsight_nist_csf.xml
β”‚           β”œβ”€β”€ bitsight_threats.xml
β”‚           β”œβ”€β”€ bitsight_exposed_credentials.xml
β”‚           β”œβ”€β”€ bitsight_users.xml
β”‚           β”œβ”€β”€ bitsight_users_access_review.xml
β”‚           β”œβ”€β”€ bitsight_alerts.xml
β”‚           β”œβ”€β”€ bitsight_health.xml
β”‚           β”œβ”€β”€ bitsight_health_check.xml
β”‚           β”œβ”€β”€ bitsight_operations.xml
β”‚           β”œβ”€β”€ bitsight_logs.xml
β”‚           β”œβ”€β”€ bitsight_reports.xml
β”‚           └── bitsight_help.xml
β”œβ”€β”€ bin/
β”‚   β”œβ”€β”€ bitsight_input.py           # Modular input script
β”‚   β”œβ”€β”€ bitsight_setup_handler.py   # Setup REST handler
β”‚   β”œβ”€β”€ bitsight_validation.py      # Configuration validation
β”‚   β”œβ”€β”€ bitsight_email_alert.py     # Email alert action
β”‚   β”œβ”€β”€ bitsight_webhook_alert.py   # Webhook alert action
β”‚   β”œβ”€β”€ bitsight_script_alert.py    # Script alert action
β”‚   └── bitsight_pagerduty_alert.py # PagerDuty alert action
β”œβ”€β”€ lookups/
β”‚   β”œβ”€β”€ bitsight_rating_categories.csv
β”‚   β”œβ”€β”€ bitsight_risk_vectors.csv
β”‚   └── bitsight_severity_levels.csv
β”œβ”€β”€ local/
β”‚   └── inputs.conf.example         # Example configuration
β”œβ”€β”€ metadata/
β”‚   β”œβ”€β”€ default.meta                # Default permissions
β”‚   └── local.meta                  # Local permissions
β”œβ”€β”€ README/
β”‚   β”œβ”€β”€ bitsight.conf.spec          # Config specification
β”‚   └── alert_actions.conf.spec     # Alert actions spec
└── static/
    β”œβ”€β”€ appIcon.png                 # App icon (36x36)
    β”œβ”€β”€ appIcon_2x.png              # Retina app icon (72x72)
    β”œβ”€β”€ appIconAlt.png              # Alternative icon (36x36)
    └── appIconAlt_2x.png           # Retina alt icon (72x72)

Dashboards

Dashboard Description
Overview Executive summary with KPIs, rating trends, and alerts
Search Company search and lookup
Portfolio Third-party vendor portfolio management with sparklines
Ratings Tree Company hierarchy and subsidiary ratings
Benchmarking Peer and industry benchmarking comparisons
Ratings Detailed security rating analysis with risk vectors
Ratings Trending Company ratings trending over time
Trending WoW, MoM, QoQ, YoY comparative trending analysis
Findings Security findings summary by severity and risk vector
Findings Detailed Detailed findings with CVSS scores, assets, remediation
Findings Trending Findings WoW, MoM, QoQ, YoY trending analysis
Remediation Remediation tracking and SLA monitoring
MTTR Executive Mean Time to Remediate executive dashboard
Asset Risk Matrix Asset importance vs severity risk matrix
NIST CSF NIST Cybersecurity Framework compliance mapping
Threats CVE and threat intelligence dashboard
Exposed Credentials Data breach and credential exposure tracking
Users User management, activity, and quota tracking
Users Access Review User access review and audit dashboard
Alerts Alert management and tracking
Health Data health and ingestion monitoring
Health Check Configuration validation and scheduled health checks
Operations Records processed and ingestion metrics
Logs Log viewer and API activity monitoring
Reports Board-ready report generation
Help Executive help and glossary

Risk Vectors Supported

Compromised Systems (5)

  • botnet_infections, spam_propagation, malware_servers, unsolicited_comm, potentially_exploited

Diligence (15)

  • spf, dkim, ssl_certificates, ssl_configurations, open_ports, web_appsec
  • patching_cadence, insecure_systems, server_software, desktop_software
  • mobile_software, dnssec, mobile_application_security, application_security, dmarc

User Behavior (1)

  • file_sharing

Sourcetypes

Sourcetype Description
bitsight:portfolio Portfolio company data
bitsight:current_ratings Current security ratings
bitsight:ratings_history Historical ratings for trending
bitsight:findings Security findings
bitsight:findings_summary Findings summary statistics
bitsight:alerts Alert notifications
bitsight:threats Threat intelligence
bitsight:exposed_credentials Exposed credentials
bitsight:users User accounts
bitsight:user_quota User quota information
bitsight:user_company_views User activity

Requirements

  • Splunk Enterprise 8.0+ or Splunk Cloud
  • Python 3.x (included with Splunk)
  • Bitsight API Token (obtain from Bitsight portal)

AppInspect Compliance

This app is designed to pass Splunk AppInspect validation:

  • βœ… Proper directory structure
  • βœ… app.manifest for Splunk Cloud
  • βœ… No hardcoded credentials in default/
  • βœ… All inputs disabled by default
  • βœ… Proper metadata permissions
  • βœ… Apache 2.0 License included
  • βœ… README documentation
  • βœ… Setup validation script

Troubleshooting

No data appearing

  1. Navigate to Apps β†’ Bitsight β†’ Setup and verify your API token
  2. Click Test API Connection to validate connectivity
  3. Check that at least one data input is enabled
  4. In Splunk Web, search index=_internal source=*bitsight* for errors

API errors

  • Verify your API token has the correct permissions in the Bitsight portal
  • Check Bitsight API rate limits
  • Ensure network connectivity to api.bitsighttech.com
  • If using a proxy, verify proxy settings and test connection

Proxy issues

  1. Navigate to Apps β†’ Bitsight β†’ Setup
  2. Verify proxy URL format includes protocol (http:// or https://)
  3. Click Test Proxy Connection to validate
  4. Check proxy authentication credentials if required

Configuration validation

The app automatically validates configuration on first launch. To re-run validation:

  1. Navigate to Apps β†’ Bitsight β†’ Setup
  2. Make any change and click Save
  3. Check the validation results in the app logs

Support

License

Apache License 2.0