Skip to content

chinmoy50/security-update-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Security Update Automation Logo

πŸ” Security Update Automation

Automated Security Advisory Generation Tool for SOC Teams

Python Security Automation - CVE Extraction, Vulnerabilities Feed Processor, Advisory Generator & Teams Alerts


πŸ“Œ Overview

Security Update Automation is a modular Python-based tool designed to fetch, process, classify, and generate structured security advisories from online security feeds. Built specifically for Security Operations Center (SOC) workflows, this tool automates repetitive monitoring, prioritization, and notification tasks and integrates directly with Microsoft Teams.


πŸš€ Features

  • πŸ”Ž Automated security news collection
  • 🧹 News cleaning and normalization
  • 🏷 Severity classification and prioritization
  • πŸ›‘ CVE extraction
  • πŸ“ Structured advisory generation
  • πŸ“£ Microsoft Teams webhook notification
  • 🧱 Modular layered architecture
  • βš™ CLI-based execution support

πŸ— Architecture Overview

Collector β†’ Processor β†’ Advisory Generator β†’ Notifier

Execution Flow

  1. Load feed sources from data/feeds.txt
  2. Fetch security updates
  3. Clean and normalize content
  4. Classify severity & extract CVEs
  5. Generate structured advisory
  6. Send notification to Microsoft Teams (optional)

πŸ“‚ Project Structure

security-update-automation/
β”‚
β”œβ”€β”€ assets/
β”‚   └── logo.png
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.py
β”‚   β”œβ”€β”€ collector/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   └── fetch_news.py
β”‚   β”‚
β”‚   β”œβ”€β”€ processor/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ clean_news.py
β”‚   β”‚   β”œβ”€β”€ news_classifier.py
β”‚   β”‚   └── advisory_generator.py
β”‚   β”‚
β”‚   β”œβ”€β”€ notifier/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   └── teams_client.py
β”‚   β”‚
β”‚   └── config/
β”‚       β”œβ”€β”€ __init__.py
β”‚       └── settings.py
β”‚
β”œβ”€β”€ data/
β”‚   └── feeds.txt
β”‚
β”œβ”€β”€ tests/
β”‚   └── test_teams.py
β”‚
β”œβ”€β”€ VERSION
β”œβ”€β”€ CHANGELOG.md
β”œβ”€β”€ SECURITY.md
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ .env.example
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
└── README.md

πŸ›  Setup Guide

Follow these steps to configure and run the project.


1️⃣ Clone Repository

https://github.com/chinmoy50/security-update-automation.git
cd security-update-automation

2️⃣ Create Virtual Environment

Windows / WSL

python -m venv venv
venv\Scripts\activate

Linux / macOS

python3 -m venv venv
source venv/bin/activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Configure Microsoft Teams Webhook

cp .env.example .env

Edit .env:

TEAMS_WEBHOOK_URL=https://your-teams-webhook-url

5️⃣ Configure Security Feed Sources

Edit the feeds file:

data/feeds.txt

Add one feed URL per line, for example:

https://example.com/rss.xml
https://another-source.com/feed

6️⃣ Run Application

Basic Execution

python -m src.main

Send Microsoft Teams Notification

python -m src.main --notify

Limit Number of Processed Items

python -m src.main --limit 5 --notify

πŸ“Š Sample Advisory Output

🚨 SECURITY NEWS UPDATE

Title: High Severity Security Advisory on vulnerability
Description: A vulnerability in XYZ solutions is found & patched in v20.310.
Source: https://abc.com/rss.xml
Priority: High
OEM / Product: XYZ
CVE IDs: CVE-2026-0001
Published: 2026-02-01 00:00 UTC
Reference Links: https://abc.com/rss.xml

πŸ”’ Security Considerations

  • Store secrets only in .env
  • Do not commit webhook URLs
  • Validate external feed content
  • Review generated advisories before distribution
  • Follow responsible disclosure practices

πŸ“¦ Release Information

Current Version: v1.0.0

See CHANGELOG.md for detailed release history.


πŸ§ͺ Running Tests

python -m unittest discover tests

🀝 Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
  3. Commit changes with clear messages
  4. Submit a pull request

Please ensure:

  • No secrets are committed
  • Code follows modular structure
  • Documentation is updated if required

πŸ“ License

This project is licensed under the MIT License.
See the LICENSE file for full details.


πŸ‘¨β€πŸ’» Author

Chinmoy Pathak
Security Analyst | Security Automation Enthusiast

Built to demonstrate practical SOC automation engineering and structured security monitoring workflows.