Skip to content

merv3guler/cyber-news-feed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Cyber Threat Intelligence Feed

Website status Python AI Powered License

A fully automated, serverless Threat Intelligence Aggregator that collects, analyzes, and summarizes the latest cybersecurity news using Artificial Intelligence.

View the live dashboard here: merv3guler.github.io/cyber-news-feed


🚀 About The Project

Staying updated with the latest vulnerabilities (CVEs), exploits, and cyber attacks is crucial but time-consuming. This project automates the "morning coffee routine" of a Cyber Threat Intelligence (CTI) analyst.

It scrapes trusted sources like Google Project Zero, SANS ISC, and The Hacker News, uses Google Gemini 1.5 Flash AI to summarize technical details, and presents them in a modern, Cyberpunk-themed dashboard.

Key Capabilities:

  • No Servers: Runs entirely on GitHub Actions (Free Tier).
  • No Database: Uses a smart JSON-based storage system to maintain history.
  • AI Analysis: Summarizes clickbait titles into actionable technical intelligence.

✨ Features

  • 🤖 AI-Powered Summaries: Articles are analyzed by Google Gemini to produce concise, technical summaries (Max 50 words).
  • 🕵️‍♂️ Zero-Day Detection: Automatically flags keywords like "0-day", "exploit", and "critical vulnerability" with a visual warning.
  • 🔍 Dynamic Filtering: Filter news by specific sources (e.g., show only Google Project Zero or CISA).
  • 📄 Excel Export: One-click export feature to download the intelligence report as a .csv file.
  • 📚 Pagination: Clean interface with pagination to browse through historical data easily.
  • 🌗 Dark/Light Mode: Cyberpunk aesthetic by default, with a toggle for Light Mode.
  • 📱 Social Sharing: Share critical alerts directly to WhatsApp, LinkedIn, X (Twitter), or Email.

📡 Intelligence Sources

The feed aggregates data from the following industry-standard sources:

  • Google Online Security Blog & Project Zero
  • CISA Alerts (US-CERT)
  • SANS Internet Storm Center
  • The Hacker News & BleepingComputer
  • Krebs on Security & Schneier on Security
  • Palo Alto Unit 42 & Trend Micro Research
  • The Register (Security)
  • Dark Reading & Threatpost
  • Exploit-DB

🛠️ Installation & Setup

You can deploy your own instance of this tool in 5 minutes for free.

1. Fork the Repository

Click the "Fork" button at the top right of this repository to create your own copy.

2. Get a Free Gemini API Key

3. Add Secrets to GitHub

  • Go to your forked repo: Settings > Secrets and variables > Actions.
  • Click New repository secret.
  • Name: GEMINI_API_KEY
  • Value: (Paste your Google API key here).

4. Enable GitHub Pages

  • Go to Settings > Pages.
  • Under Build and deployment, select Source as Deploy from a branch.
  • Select the branch main (or master) and folder / (root).
  • Click Save.

5. Run the Workflow manually (First Time)

  • Go to the Actions tab.
  • Select Daily Cyber Update from the left sidebar.
  • Click Run workflow.
  • Note: The system will now run automatically every day at 08:00 UTC.

⚙️ Configuration

You can customize the main.py file to add more RSS feeds or change the AI behavior:

# Add your favorite RSS feeds here (Format: "Name": "URL")
FEED_CONFIG = {
    "My New Feed": "https://new-security-feed.com/rss",
    ...
}

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

🛠️ Local Development Setup

If you want to run the project locally to test changes or add new features:

  1. Clone the Repository
git clone https://github.com/merv3guler/cyber-news-feed.git
cd cyber-news-feed
  1. Install Dependencies
pip install -r requirements.txt
  1. Set Environment Variable To use the AI features locally, you need to set your Gemini API key.
# macOS/Linux
export GEMINI_API_KEY="your_api_key_here"

# Windows (PowerShell)
$env:GEMINI_API_KEY="your_api_key_here"
  1. Run the Script
python main.py

This will generate a local index.html file and an articles.json database in the data/ folder.

🚀 How to Submit a Pull Request

  1. Fork the project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

⚠️ Disclaimer

This tool is intended for educational and informational purposes only. The summaries are generated by an AI model (Google Gemini) and may occasionally contain inaccuracies. Always verify critical information with the original source linked in the card.

About

Automated Cyber Threat Intelligence Feed. Aggregates, analyzes, and summarizes latest security news using Google Gemini AI & GitHub Actions.

Topics

Resources

License

Stars

Watchers

Forks

Contributors