Logo Lanfrica

Samvee254/sentinelpulse-

Domain:

digital infrastructure

Record type:

software
Creator:
Sam
Host:
Kenya's cyber early-warning system — detects phishing and scam threats automatically from threat intel feeds and correlates user reports into campaign alerts, before most people even know there's a threat. # SentinelPulse Kenya's cyber early-warning system. See threats before they spread. This is the backend: a FastAPI app, a database schema for tracking flagged URLs, user reports, detected scam campaigns, and the alerts shown in the mobile app. ## About SentinelPulse is an independent cybersecurity project founded and developed by Samantha Vivian, a cybersecurity student building tools to protect Kenyans from cyber threats. Licensed under the MIT License -- see LICENSE for details. Live API: sentinelpulse-api-v8sz.onre… Interactive docs: sentinelpulse-api-v8sz.onre… ## Project structure sentinelpulse/app/main.py - FastAPI entrypoint sentinelpulse/app/database.py - DB connection (SQLite by default, swap to Postgres) sentinelpulse/app/models.py - SQLAlchemy ORM tables sentinelpulse/app/schemas.py - Pydantic request/response shapes sentinelpulse/app/scoring.py - Rule-based risk scoring engine plus WHOIS lookup sentinelpulse/app/routers/urls.py - POST /urls/check, GET /urls/recent sentinelpulse/app/routers/reports.py - POST /reports, GET /reports sentinelpulse/app/routers/alerts.py - GET /alerts, GET /alerts/campaigns sentinelpulse/app/ingest/fetch_feeds.py - Pulls from OpenPhish and URLhaus automatically sentinelpulse/app/ingest/correlate.py - Groups reports into detected campaigns ## Setup python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ## Run the API uvicorn app.main:app --reload Visit 127.0.0.1 for interactive API docs. ## Run automated feed ingestion (proactive detection) python -m app.ingest.fetch_feeds Pulls phishing/malware URLs from OpenPhish and URLhaus automatically. No reporter required. Schedule with cron every 15-30 min in production. ## Run the correlation job (turns reports into campaigns) python -m app.ingest.correlate Groups 3+ reports sharing a phone number or domain into a campaign and auto-generates an alert. ## Switching to Postgres Set DATABASE_URL …

Licenses