Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CyberWatch

CyberWatch is a Python Discord bot that collects, filters, summarizes and publishes cybersecurity news.

The project is designed as a small automated news pipeline and as a portfolio project focused on Python, automation and cybersecurity.

Features

  • RSS feed collection
  • Article filtering and categorization
  • Content enrichment and CVE information
  • Publication selection
  • Automatic summaries
  • Discord publishing
  • Publication state and duplicate prevention
  • User feedback
  • Automated tests
  • Docker deployment
  • CI with GitHub Actions

Architecture

flowchart LR
    RSS["RSS feeds"]
    --> PROCESS["Article processing"]
    --> SELECT["Selection"]
    --> SUM["Summarization"]
    --> DISCORD["Discord"]

    DISCORD --> FEEDBACK["User feedback"]
Loading

The bot periodically processes articles through this pipeline and publishes only articles that pass the configured rules.

For the detailed architecture and responsibilities of each component, see docs/ARCHITECTURE.md.

Quick start

Local

git clone https://github.com/Gemukii/CyberWatch.git
cd CyberWatch

python -m venv .venv
.venv\Scripts\activate

pip install -r requirements.txt
python bot.py

For development and testing dependencies:

pip install -r requirements-dev.txt

Docker

docker compose up --build

Configuration is provided through environment variables and YAML configuration files.

Project structure

CyberWatch/
├── bot.py
├── config.py
├── sources.py
├── collector.py
├── filters.py
├── categories.py
├── enrichment.py
├── cve_service.py
├── selection.py
├── summarizer.py
├── publisher.py
├── feedback.py
├── state.py
│
├── feeds.yaml
├── tests/
├── docs/
│   └── ARCHITECTURE.md
│
├── Dockerfile
├── docker-compose.yml

Commands

The bot exposes Discord slash commands for interacting with the running application.

See the source code for the currently available commands.

Documentation

Document Purpose
Architecture Components, responsibilities and execution flows

Tests

Run the test suite with:

pytest

The test suite covers core article processing and publication state behavior.

Project status

Current development version: v1.1

CyberWatch is an evolving portfolio project. Its architecture and filtering pipeline may change as new features are added.

About

Self-hosted Discord bot for local cyber news filtering, CVE enrichment with CISA KEV & EPSS, and 2–4 AI-summarized articles per day.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages