SerpShield
by 0xConsole
README.md
# π‘οΈ SerpShield β AI Threat Intelligence from Real-Time Search Data
> An AI agent that uses **SerpApi** real-time search data to detect brand threats, security vulnerabilities, and DeFi protocol risk signals across the live web β exposed as **MCP-compatible tools** for agent orchestration.
Built for the **DevNetwork [API + Cloud + AI] Hackathon 2026** β **SerpApi "Best AI Use Case" track**.
## Problem
Threat intelligence is reactive and slow. Security teams learn about phishing campaigns, brand impersonation, and DeFi exploits *after* the damage is done β usually from a breach notification or a social media post. By then, the attack has already succeeded.
Meanwhile, the answer is already on Google. Search results contain real-time signals: phishing pages indexed hours ago, vulnerability disclosures trending on forums, rug pull discussions appearing in news. But nobody is systematically converting that search data into structured threat intelligence that an AI agent can act on.
## Solution
SerpShield is an AI agent that queries SerpApi for real-time search results, classifies them into threat signals (phishing, vulnerability, DeFi risk, brand impersonation, reputation), and produces actionable threat intelligence reports β all exposed as MCP-compatible tools that any AI agent can call.
**How it works:**
1. Agent constructs threat-hunting queries (e.g., `"OpenAI" phishing OR scam OR impersonation`)
2. Queries SerpApi for real-time Google search results
3. Classifies each result using threat-type keywords and severity heuristics
4. Aggregates into a threat intelligence report with a 0β100 threat score and recommendations
5. Exposes everything as MCP tools so other agents can call them
## Unique Angle
> Unlike existing SerpApi demos (SEO trackers, price monitors, search aggregators), SerpShield turns search data into **security intelligence** β and exposes every tool as an MCP-compatible endpoint for AI agent orchestration. It's a threat intel SaaS powered by search data, not a search tool.
## Architecture
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web UI (HTML/CSS/JS) β
β Dark dashboard β threat scanner β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β fetch() calls
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FastAPI Application (app/main.py) β
β β
β /api/health β service status β
β /api/agent/status β agent config + tool list β
β /api/mcp/tools β MCP tool discovery endpoint β
β /api/mcp (POST) β MCP tool dispatch endpoint β
β /api/demo β full monitoring cycle (demo) β
β /api/tools/* β individual tool endpoints β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β calls
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SerpShield Agent (app/agent.py) β
β β
β scan_brand_threats() β phishing/impersonation β
β scan_security_advisories() β CVE/vuln detection β
β scan_defi_risks() β rug pull/exploit scan β
β generate_threat_report() β aggregated report β
β list_monitoring_targets() β dashboard summary β
ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β HTTP GET
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SerpApi β
β Real-time Google search results JSON API β
β (falls back to realistic mock data in demo) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
Deployed on **Vercel** as a serverless Python function.
## Setup (Under 5 Commands)
```bash
git clone https://github.com/0xConsole/serpshield.git
cd serpshield
pip install -r requirements.txt
export SERPAPI_API_KEY="your_key" # optional β demo mode works without it
uvicorn api.index:app --reload # local dev at http://localhost:8000
```
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Backend | FastAPI (Python) |
| Hosting | Vercel serverless (free tier) |
| Data Source | SerpApi (real-time Google search results) |
| Agent Protocol | MCP-compatible tools (Model Context Protocol) |
| Frontend | Vanilla HTML/CSS/JS β dark threat intel dashboard |
| No paid services | 100% free tier |
## What's Real vs. Mocked
| Component | Status |
|-----------|--------|
| FastAPI backend | β
Real β deployed and live |
| SerpApi integration | β
Real β live calls when `SERPAPI_API_KEY` is set |
| Threat classification engine | β
Real β keyword + severity heuristics |
| MCP-compatible tool endpoints | β
Real β `/api/mcp/tools` + `/api/mcp` POST |
| Web dashboard | β
Real β interactive threat scanner UI |
| Demo mode (no API key) | β
Real β uses realistic mock data so judges can demo without a key |
| Threat score calculation | β
Real β weighted severity aggregation |
| Recommendations engine | β
Real β rule-based from detected signals |
## API Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/` | GET | Web dashboard |
| `/api/health` | GET | Service health + SerpApi mode |
| `/api/agent/status` | GET | Agent configuration + tool inventory |
| `/api/mcp/tools` | GET | MCP tool discovery (for agent orchestration) |
| `/api/mcp` | POST | MCP tool dispatch (`{"tool": "scan_brand_threats", "args": {"target": "OpenAI"}}`) |
| `/api/demo` | GET | Full autonomous monitoring cycle (judge demo flow) |
| `/api/tools/scan_brand_threats` | GET | Scan for brand threats (`?target=OpenAI`) |
| `/api/tools/scan_security_advisories` | GET | Scan for CVEs (`?technology=FastAPI`) |
| `/api/tools/scan_defi_risks` | GET | Scan DeFi risks (`?protocol=Uniswap`) |
| `/api/tools/generate_threat_report` | GET | Full threat report (`?target=OpenAI`) |
| `/api/tools/list_monitoring_targets` | GET | All monitoring targets + scores |
## SerpApi Track Fit
SerpApi's challenge asks for "an innovative AI application using SerpApi APIs to access reliable, structured, real-time web data" that "solves a meaningful real-world problem."
SerpShield delivers:
- **Innovation**: Security/threat intelligence is an unexpected SerpApi use case (judges favor unexpected applications over incremental tweaks)
- **Real-time web data**: Every scan queries live Google results via SerpApi
- **Meaningful problem**: Threat intelligence is a $10B+ market
- **AI agent**: Not just a search tool β an autonomous agent with MCP-compatible tools
## License
Apache 2.0 β See [LICENSE](LICENSE)
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues