Skip to content

marc-israel/Ultimate-SecurityBots

Repository files navigation

SecurityBots

Advanced Security Operations Center (SOC) Bot with Automated Tier 1 Response

Overview

SecurityBot is an intelligent automation platform that helps security teams streamline alert triage and incident response through interactive user engagement, contextual enrichment, and automated workflows. It integrates with Slack and other platforms to provide real-time security alerting and response capabilities.

Key Features

1. Enriched Investigative Context

  • Dynamic Contextual Payloads: Automatically pulls relevant data from multiple sources:
    • Action metadata (IAM changes, login events)
    • Location and device information
    • Related tickets and PR references
  • User-Assisted Triage: Engages directly with users to gather additional context
    • Custom approval tickets
    • Contextual follow-up questions
    • Rich metadata collection

2. Automated Challenge Response

  • MFA-Integrated Validation:
    • Secondary validation through MFA after Slack confirmation
    • Automatic alert resolution upon successful MFA
    • Immediate escalation on MFA failure
  • Timeout-Based Workflows:
    • Configurable response timeouts
    • Automated escalation paths
    • Security team notifications

3. Advanced Security Integrations

  • Microsoft Defender:
    • Device health status
    • Risk scoring
    • Antivirus status
    • Patch compliance
  • Crowdstrike:
    • Device context
    • Security policy compliance
    • Threat intelligence
  • AWS Security Hub:
    • IAM activity monitoring
    • Resource access tracking
    • CloudTrail integration

4. Intelligent MFA Workflows

  • Risk-Based Authentication:
    • Dynamic MFA levels (Basic, Enhanced, Strict)
    • Context-aware factor requirements
    • Step-up authentication
  • Multiple Factor Support:
    • Push notifications
    • TOTP
    • Biometric validation
    • Hardware security keys

Architecture

ultimate_security-bots/
  ├── shared/ # Shared bot functionality
    ├── auth/ # Authentication & MFA services
    ├── chat/ # Chat platform integrations
    ├── database/ # Database interactions
    ├── enrichment/ # Context enrichment services
    └── utils/ # Common utilities
  ├── bots/ # Individual bot implementations
    ├── triage-bot/ # Triage Slackbot triages inbound requests in a Slack channel to different sub-teams within your organization.
    ├── sdlc-bot/ # SDLC Slackbot decides if a project merits a security review.
    └── security-bot/ # Incident Response Slackbot automatically chats with users who have been part of an incident alert.
  ├── frontend/ # Web UI
  ├── tests/ # Test suite
  ├── config/ # Configuration files
  └── docs/ # Documentation

Getting Started

Prerequisites

  • Python 3.8+
  • PostgreSQL database
  • Slack workspace with admin access
  • Required security tool API access:
    • Microsoft Defender
    • Crowdstrike
    • AWS Security Hub

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/security-bots.git
cd security-bots
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure your environment variables:
cp .env.example .env
export SLACK_API_TOKEN=your_slack_api_token
export JWT_SECRET=your_jwt_secret
  1. Initialize the database:
python scripts/init_db.py

Configuration

The bot is configured through YAML files in the config/ directory:

config/bot.yaml
slack:
token: ${SLACK_BOT_TOKEN}
signing_secret: ${SLACK_SIGNING_SECRET}
mfa:
providers:
type: duo
hostname: ${DUO_HOST}
client_id: ${DUO_CLIENT_ID}
client_secret: ${DUO_CLIENT_SECRET}
enrichment:
providers:
type: defender
tenant_id: ${DEFENDER_TENANT_ID}
client_id: ${DEFENDER_CLIENT_ID}
client_secret: ${DEFENDER_CLIENT_SECRET}

Usage

Basic Alert Flow

  1. Security alert is received
  2. Bot enriches alert with contextual data
  3. User is notified via Slack with enriched context
  4. User responds to challenge
  5. MFA validation is triggered (if required)
  6. Alert is resolved or escalated based on response

Advanced Features

  • Multi-user challenges for sensitive actions
  • Progressive disclosure of alert details
  • Risk-based MFA requirements
  • Automated context collection
  • Timeout-based escalations

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Security tool integration partners
  • Open source security community
  • Contributing developers

About

Automated Tier 1 SOC Bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages