A dual-mode AI security intelligence system that aggregates, scores, and curates AI security content from multiple sources.
Private backend aggregates AI security content → scores with multi-dimensional scoring → summarizes with LLM → generates private artifacts
Public GitHub Pages frontend publishes curated daily briefs, trends, and learning resources
Built to support career transition into AI Security Research roles and generate presentation/paper ideas.
Final weighted score (0-100) for intelligent ranking.
# Clone and setup
git clone <repository-url>
cd neo-notebook.github.io
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Configure sources
# Edit config/sources.yaml to add your RSS feeds
# Run daily pipeline
python src/main.py --mode daily
# View outputs
open docs/public/index.html
See docs/setup.md for complete installation guide.
├── .github/workflows/ # GitHub Actions (daily/weekly)
├── config/ # Configuration (sources, scoring, tags)
├── docs/ # Documentation
│ └── public/ # GitHub Pages site
├── private/ # Private outputs (gitignored)
│ ├── feeds/ # Daily JSON archives
│ └── artifacts/ # Weekly PDFs, LinkedIn drafts
├── src/ # Python pipeline
│ ├── fetchers/ # RSS/arXiv fetching
│ ├── processors/ # Parse, normalize, dedupe, cluster
│ ├── scoring/ # 5-dimensional scoring
│ ├── summarization/ # LLM + fallback
│ └── outputs/ # JSON, HTML, PDF generators
└── tests/ # 87 tests, 100% passing
High priority: Agentic security, prompt injection, HITL, observability, shadow AI
Filters: Excludes generic ransomware/breach recaps without technical insights
relevance: 0.35 # Topic match
credibility: 0.25 # Source authority
impact: 0.15 # Severity
freshness: 0.15 # Recency
practicality: 0.10 # Actionable insights
Fully configurable in config/scoring_weights.yaml
# Run all tests
PYTHONPATH=. pytest tests/ -v
# Run specific test suite
PYTHONPATH=. pytest tests/test_processors.py -v
Test Coverage: 87 tests covering:
MIT License
Built with Claude Code. Contributions welcome via pull requests.
🤖 Generated with Claude Code