splitfireai-hue/sentinelx402

GitHub: splitfireai-hue/sentinelx402

一款专为AI智能体设计的免费威胁情报API,提供快速的钓鱼检测、IP信誉查询和CVE漏洞风险分析。

Stars: 0 | Forks: 0

# SentinelX402 **在 300 毫秒内检测恶意域名和 IP,准确率高达 95%。** 为 AI 智能体提供的免费威胁情报 API。提供实时钓鱼检测、CVE 风险分析和 IP 信誉评分。由实时威胁情报源驱动。1,000 次免费请求 —— 无需注册,无需 API 密钥。 **在线 API:** https://sentinelx402-production.up.railway.app/info ## 使用场景 ### 1. 钓鱼检测智能体 您的智能体可以扫描来自电子邮件、聊天消息或网页抓取的 URL。在打开任何链接之前,它会先通过 SentinelX402 进行检查: ``` from sentinelx import SentinelX client = SentinelX(base_url="https://sentinelx402-production.up.railway.app") risk = client.domain_lookup("login-secure-paypal.com") if risk.is_malicious: print(f"BLOCKED: {risk.domain} — {risk.threat_type} (score: {risk.risk_score})") # → BLOCKED: login-secure-paypal.com — phishing (score: 94.0) else: print("Safe to proceed") ``` **价值:** 一次 API 调用即可防止造成数千美元损失的钓鱼事件。 ### 2. SOC 自动化 / SIEM 富化 您的安全运营管道每天处理数千个警报。自动对每个 IOC 进行富化: ``` # 从防火墙告警中丰富 IP 信息 ip = client.ip_lookup("185.220.101.42") if ip.is_malicious: trigger_alert(f"C2 server detected: {ip.threat_types}") # → C2 server detected: ['c2'] — tags: cobalt-strike # 批量域名扫描 suspicious_domains = ["amaz0n-verify.com", "google.com", "hdfc-netbanking-secure.xyz"] for domain in suspicious_domains: risk = client.domain_lookup(domain) print(f"{domain}: {risk.risk_score} ({risk.threat_type})") ``` **价值:** 用亚秒级的自动化评分取代分析师数小时的手工分类。 ### 3. 漏洞优先级排序智能体 您的智能体监控新的 CVE,并决定哪些需要立即修补: ``` # 检查特定 CVE cve = client.cve_lookup("CVE-2024-3400") print(f"CVSS: {cve.cvss}, Exploit probability: {cve.exploit_probability}") print(f"Patch urgency: {cve.patch_urgency}, Ransomware risk: {cve.ransomware_risk}") # → CVSS: 10.0, 漏洞利用概率: 1.0 # → 补丁紧急程度: critical, 勒索软件风险: False # 获取本周的严重漏洞 recent = client.recent_cves(limit=5) for cve in recent.cves: if cve.is_critical: create_jira_ticket(cve.cve_id, cve.description, priority="P0") ``` **价值:** 结合漏洞利用概率和勒索软件风险评分,超越了原始的 CVSS 评分。 ### 4. 印度金融科技欺诈检测 检测 UPI 欺诈域名、印度银行钓鱼以及 Aadhaar/PAN 诈骗: ``` risk = client.domain_lookup("sbi-online-banking-verify.com") # → score: 96.0, type: phishing, tags: [india, banking, sbi, credential-theft] risk = client.domain_lookup("upi-paytm-cashback-claim.com") # → score: 97.0, type: phishing, tags: [india, upi, paytm, cashback-scam] risk = client.domain_lookup("aadhaar-ekyc-verification.in") # → score: 98.0, type: phishing, tags: [india, government, aadhaar, identity-theft] ``` **价值:** 提供全球 API 所缺乏的针对印度特定威胁的覆盖。 ## 快速入门 ### 1. 配置环境 ``` cp .env.example .env # 使用你的设置编辑 .env(默认值开箱即用) ``` ### 2. 安装依赖 ``` pip install -e . ``` ### 3. 初始化威胁数据并启动 ``` python -m app.data.seed_threats uvicorn app.main:app --reload ``` 访问 `http://localhost:8000/docs` 查看交互式 API 文档。 ## 生产部署 ### Docker (推荐) ``` docker compose up -d ``` 这将启动包含 PostgreSQL、Redis、gunicorn (4 个 worker)、健康检查和自动重启功能的 API 服务器。 ### 手动部署 ``` pip install ".[production]" # 在 .env 中设置 DATABASE_URL, REDIS_URL, ENVIRONMENT=production gunicorn app.main:app \ --worker-class uvicorn.workers.UvicornWorker \ --bind 0.0.0.0:8000 \ --workers 4 ``` ## API 参考 | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/api/v1/threats/lookup?domain=` | GET | 域名威胁风险查询 —— 实时钓鱼检测 | | `/api/v1/threats/ip?ip=` | GET | IP 信誉检查 —— C2 和僵尸网络检测 | | `/api/v1/threats/feed` | GET | 最新威胁指标源 | | `/api/v1/cves/{cve_id}` | GET | CVE 风险分析,包含漏洞利用概率 | | `/api/v1/cves/recent` | GET | 来自 NVD 的最新严重 CVE | | `/api/v1/cves/search?keyword=` | GET | 通过关键字搜索 CVE | | `/health` | GET | 健康检查 | | `/info` | GET | API 信息和端点 | 所有端点前 1,000 次请求免费。无需注册。 ## 使用示例 ### Python ``` import httpx client = httpx.Client(base_url="http://localhost:8000") # 域名风险查询 resp = client.get("/api/v1/threats/lookup", params={"domain": "login-secure-paypal.com"}) print(resp.json()) # { # "domain": "login-secure-paypal.com", # "risk_score": 94.0, # "threat_type": "phishing", # "confidence": 0.95, # "related_domains": ["secure-paypa1-login.com", "paypal-auth-secure.net"] # } # CVE 风险分析 resp = client.get("/api/v1/cves/CVE-2024-3400") print(resp.json()) # { # "cve_id": "CVE-2024-3400", # "cvss": 10.0, # "exploit_probability": 1.0, # "risk": "critical", # "patch_urgency": "critical", # "ransomware_risk": false # } ``` ### curl ``` curl "http://localhost:8000/api/v1/threats/lookup?domain=suspicious-site.xyz" curl "http://localhost:8000/api/v1/threats/ip?ip=185.220.101.42" curl "http://localhost:8000/api/v1/threats/feed?page=1&page_size=10" curl "http://localhost:8000/api/v1/cves/CVE-2024-3400" curl "http://localhost:8000/api/v1/cves/recent?limit=5" curl "http://localhost:8000/api/v1/cves/search?keyword=apache" ``` ## x402 支付流程 当设置 `X402_ENABLED=true` 时,情报端点需要付费: ``` Agent sends GET /api/v1/threats/lookup?domain=example.com | Server returns HTTP 402 + payment requirements (USDC amount, wallet, network) | Agent wallet signs USDC payment via EIP-3009 | Agent retries request with PAYMENT-SIGNATURE header | Server verifies payment via facilitator, returns intelligence response ``` 在开发/测试环境中,可设置 `X402_ENABLED=false` 以禁用支付功能。 ## 生产特性 - **输入验证** —— 域名格式、IP 地址格式、CVE ID 格式验证 - **速率限制** —— 可通过 `THREAT_RATE_LIMIT` / `CVE_RATE_LIMIT` 为每个端点进行配置 - **安全标头** —— X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy, Cache-Control - **CORS** —— 可通过 `ALLOWED_ORIGINS` 进行配置 - **结构化日志** —— 请求方法、路径、状态、持续时间 (毫秒) - **错误处理** —— 优雅的 400/404/502/504 响应,不暴露堆栈跟踪 - **NVD 超时** —— 可通过 `NVD_TIMEOUT_SECONDS` 进行配置 (默认 15 秒) - **缓存容错** —— 缓存失败会被记录,但不会阻塞请求 - **健康检查** —— 深度健康检查,用于验证数据库连接性 - **Docker** —— 多阶段构建,非 root 用户,健康检查,带有 4 个 worker 的 gunicorn ## 架构 ``` sentinelx402/ ├── app/ │ ├── main.py # FastAPI app + middleware stack │ ├── config.py # Environment configuration │ ├── database.py # Async SQLAlchemy engine │ ├── cache.py # Redis / in-memory cache layer │ ├── x402_setup.py # Payment route configuration │ ├── models/ # SQLAlchemy ORM models │ ├── schemas/ # Pydantic request/response models │ ├── routers/ # API route handlers + validation │ ├── services/ # Business logic + scoring + NVD integration │ └── data/ # Mock threat data + seed scripts ├── tests/ # 31 tests (unit + integration) ├── docker-compose.yml # Production: API + PostgreSQL + Redis ├── docker-compose.dev.yml # Dev: just PostgreSQL + Redis ├── Dockerfile # Multi-stage, non-root, health checks └── mcp.json # Agent discovery metadata ``` ## 配置 所有设置均通过环境变量 (或 `.env` 文件) 进行: | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `DATABASE_URL` | `sqlite+aiosqlite:///./sentinelx402.db` | 数据库连接字符串 | | `REDIS_URL` | (空) | Redis URL,为空则使用内存缓存 | | `X402_ENABLED` | `false` | 启用 x402 支付中间件 | | `WALLET_ADDRESS` | — | 您的 USDC 收款钱包地址 | | `FACILITATOR_URL` | `https://x402.org/facilitator` | x402 协调器端点 | | `NETWORK_ID` | `eip155:84532` | Base Sepolia (测试网) | | `NVD_API_KEY` | (空) | 用于提高速率限制的 NVD API 密钥 | | `ENVIRONMENT` | `development` | `development` / `production` | | `LOG_LEVEL` | `INFO` | 日志级别 | | `ALLOWED_ORIGINS` | (空) | CORS 源,以逗号分隔 | | `THREAT_RATE_LIMIT` | `60/minute` | 威胁端点的速率限制 | | `CVE_RATE_LIMIT` | `30/minute` | CVE 端点的速率限制 | | `NVD_TIMEOUT_SECONDS` | `15` | NVD API 请求超时时间 | ## 测试 ``` pip install ".[dev]" pytest -v ``` 31 个测试,覆盖评分算法、输入验证、API 端点、安全标头和错误处理。 ## 技术栈 - **后端**:FastAPI + Uvicorn (开发) / Gunicorn (生产) - **数据库**:SQLite (开发) / PostgreSQL 16 (生产) - **缓存**:内存 (开发) / Redis 7 (生产) - **支付**:x402 协议 (基于 Base 链的 USDC) - **CVE 数据**:通过 nvdlib 调用 NVD API - **速率限制**:slowapi ## 许可证 AGPL-3.0 —— 您可以自由使用和修改本代码,但如果您将修改后的版本作为网络服务部署,则必须公开您的源代码。 托管版 SentinelX402 服务所使用的专有评分算法、扩展品牌数据集、多源情报源集成以及针对印度的威胁数据不包含在本代码库中。 **需要完整的生产版本?** 请使用托管的 API:https://sentinelx402-production.up.railway.app —— 前 1,000 次请求免费。
标签:AI安全代理, C2服务器检测, CISA项目, CVE风险分析, DAST, IP信誉, IP 地址批量处理, SIEM丰富, SOC自动化, 免费API, 域名安全检测, 威胁情报, 安全API, 安全合规, 开发者工具, 恶意软件分析, 情报IOC, 搜索引擎查询, 无密钥API, 无线安全, 测试用例, 漏洞优先级评估, 网络代理, 网络安全, 网络钓鱼检测, 自动化防御, 请求拦截, 逆向工具, 隐私保护, 风险评分