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
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.
- 🤖 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
.csvfile. - 📚 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.
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
You can deploy your own instance of this tool in 5 minutes for free.
Click the "Fork" button at the top right of this repository to create your own copy.
- Go to Google AI Studio.
- Create a free API key.
- 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).
- Go to
Settings>Pages. - Under Build and deployment, select Source as
Deploy from a branch. - Select the branch
main(ormaster) and folder/ (root). - Click Save.
- Go to the
Actionstab. - Select Daily Cyber Update from the left sidebar.
- Click Run workflow.
- Note: The system will now run automatically every day at 08:00 UTC.
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",
...
}Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you want to run the project locally to test changes or add new features:
- Clone the Repository
git clone https://github.com/merv3guler/cyber-news-feed.git
cd cyber-news-feed
- Install Dependencies
pip install -r requirements.txt
- 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"
- Run the Script
python main.py
This will generate a local index.html file and an articles.json database in the data/ folder.
- Fork the project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
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.