Scrapes cybersecurity news from 100+ sources and generates a daily briefing. Runs automatically via GitHub Actions every 6 hours.
- Pulls articles from security publications (Krebs, Bleeping Computer, The Record, etc.)
- Covers threat intel blogs (Mandiant, CrowdStrike, Unit 42, etc.)
- Tracks geopolitical cyber activity (state-sponsored attacks, APT groups)
- Monitors mainstream tech/security coverage (WSJ, Reuters, Wired)
- Generates an HTML briefing deployed to GitHub Pages
pip install -r requirements.txt# Full collection
python intelligence_system.py run
# Quick run (fewer sources)
python intelligence_system.py priority
# Just regenerate the newsletter from existing data
python intelligence_system.py newsletter
# Check status
python intelligence_system.py statusThe workflow in .github/workflows/intelligence.yml runs every 6 hours and:
- Scrapes all configured sources
- Dedupes and categorizes articles
- Generates the HTML briefing
- Commits data and deploys to GitHub Pages
To run manually: Actions tab > "Cyber News Collection" > Run workflow
scraper.py # Main scraper, search queries defined here
generate_newsletter.py # Builds the HTML briefing
intelligence_system.py # CLI wrapper
config.json # Settings
data/ # Scraped articles (JSON/CSV)
docs/index.html # Generated briefing (served by GitHub Pages)
Edit the SEARCH_QUERIES list in scraper.py:
("site:example.com security", "Example Security"),Edit .github/workflows/intelligence.yml:
schedule:
- cron: '0 */3 * * *' # Every 3 hours instead of 6- Uses Google News as the aggregation backend
- Rate-limited to avoid getting blocked
- Only collects publicly available articles
- The repo name says "Drone" but that's legacy - it's all cybersecurity now
MIT