tshriraj-del/redwing-operator
GitHub: tshriraj-del/redwing-operator
基于 FastAPI 的金融欺诈检测后端平台,集 ML 评分引擎、自主 AI agent、规则工厂与多方数据集成于一体,为反欺诈团队提供实时交易判定与合规报送能力。
Stars: 0 | Forks: 0
# RedWing Operator
RedWing 欺诈防范平台的 FastAPI 后端。运行在 8000 端口,提供 ML 评分引擎、自主 AI 欺诈 agent、规则工厂 pipeline、LLM 代理、网络图谱 API 和 XAI 引擎。
## 环境要求
- Python 3.9+
- 位于 `~/pulseml_models/` 的 ML 后端 - 提供训练好的模型**以及**共享的特征基础(`features.py`, `graph_layer.py`)。Operator 会导入这些文件,从而确保其特征计算与训练时完全一致,消除训练-服务偏差(training-serving skew)。可以通过 `REDWING_MODELS_DIR` 环境变量覆盖此路径。
如果存在重新训练且无偏差的模型(`xgboost_retrained.pkl` +
`scaler_retrained.pkl`),Operator 会优先使用,否则回退到原始模型。
## 设置说明
```
pip install -r requirements.txt
```
在此目录下创建 `.env` 文件:
```
# LLM - 由 Rule Factory 和 /llm/proxy endpoint 使用
ANTHROPIC_API_KEY=sk-ant-...
# 可选:为 proxy 切换到不同的 LLM provider
# LLM_PROVIDER=openai # openai | groq | mistral
# LLM_API_KEY=sk-...
# LLM_MODEL=gpt-4o
# Integration Hub - 在接入每个 agency 时添加凭证
# OFAC_API_KEY=
# FINCEN_API_KEY=
# FINCEN_ORG_ID=
# EWS_API_KEY=
# EWS_ORG_ID=
# THREATMETRIX_API_KEY=
# THREATMETRIX_ORG_ID=
# PLAID_CLIENT_ID=
# PLAID_SECRET=
# FBI_IC3_API_KEY=
```
启动服务器:
```
python -m uvicorn main:app --port 8000 --reload
```
自主 SyntheticID agent 会在启动时自动运行(要求 `~/pulseml_models/` 中有训练好的模型)。
## 接口列表
### 系统
| Method | Path | Description |
|--------|------|-------------|
| GET | `/health` | 系统状态、模型信息、交易笔数 |
| GET | `/patterns` | 完整的欺诈规则库(静态规则 + 已部署规则) |
### 评分
| Method | Path | Description |
|--------|------|-------------|
| POST | `/score` | 对单笔交易进行评分(XGBoost + 规则引擎) |
| GET | `/monitor/stream` | 实时交易评分的 SSE 流 |
| GET | `/alerts` | 近期的高置信度欺诈警报 |
### 自主 Agent (SyntheticID)
| Method | Path | Description |
|--------|------|-------------|
| GET | `/agent/status` | Agent 状态 - 运行情况、拦截/标记/放行的计数、运行时间 |
| GET | `/agent/events` | SSE 扇出 - 实时拦截/标记/放行决策(基于客户端的队列) |
| POST | `/agent/start` | 启动 agent(幂等操作,会校验模型可用性) |
| POST | `/agent/stop` | 优雅停止 agent 循环 |
| GET | `/agent/config` | 当前 agent 配置(阈值、开关、速度) |
| PUT | `/agent/config` | 实时更新配置 - 无需重启 |
| GET | `/agent/cases` | 案例审查队列;支持 `?status=pending\|approved\|declined` |
| POST | `/agent/cases/{case_id}/resolve` | 批准或拒绝被标记的案例(分析师干预操作) |
| POST | `/agent/override/{tx_id}` | 对特定交易的直接操作覆盖 |
**Agent 配置 schema:**
```
{
"block_threshold": 0.65,
"flag_threshold": 0.45,
"per_threat": {
"card_testing_bot": { "block": 0.60, "flag": 0.40, "enabled": true },
"credential_stuffing": { "block": 0.65, "flag": 0.45, "enabled": true },
"ato_bot": { "block": 0.70, "flag": 0.50, "enabled": true },
"synthetic_identity_farm": { "block": 0.70, "flag": 0.50, "enabled": true },
"deepfake_bypass": { "block": 0.80, "flag": 0.60, "enabled": true },
"adversarial_ml": { "block": 0.75, "flag": 0.55, "enabled": true }
},
"toggles": {
"self_learning": true,
"auto_deploy_rules": false,
"high_alert_mode": false,
"zero_tolerance_bot": false,
"human_review_required": false
},
"speed": 0.25
}
```
### 网络图谱
| Method | Path | Description |
|--------|------|-------------|
| GET | `/network/graph` | 欺诈团伙图谱 - 源自交易数据的节点和边 |
| GET | `/network/typologies` | 可供过滤的独特欺诈类型 |
### 规则工厂
| Method | Path | Description |
|--------|------|-------------|
| GET | `/rule-factory/gaps` | ML 触发但规则未命中的交易 |
| POST | `/rule-factory/run` | 运行完整 pipeline:差距提取 → LLM 规则生成 → 回测 → 保存 |
| GET | `/rule-factory/rules` | 所有已生成的规则及其状态和回测指标 |
| POST | `/rule-factory/deploy/{rule_id}` | 将影子规则提升为已部署状态 |
| POST | `/rule-factory/retire/{rule_id}` | 废弃某条规则 |
| POST | `/rule-factory/test` | 在保存前对候选规则进行回测 |
### XAI 引擎
| Method | Path | Description |
|--------|------|-------------|
| POST | `/xai/explain` | 针对某笔交易的 SHAP 解释 |
| GET | `/xai/governance` | 模型漂移 + 欧盟《人工智能法案》 + SR 26-02 治理报告 |
### LLM 代理
| Method | Path | Description |
|--------|------|-------------|
| POST | `/llm/proxy` | 在服务器端路由 LLM 请求 - 支持 Anthropic、OpenAI、Groq、Mistral。API key 永远不会接触浏览器。 |
| POST | `/llm/stream` | LLM 代理的流式传输变体(SSE) |
### 集成中心
| Method | Path | Description |
|--------|------|-------------|
| GET | `/integrations/connectors` | 列出所有 15 个连接器及其配置状态 |
| GET | `/integrations/health` | 所有连接器的健康检查 |
| POST | `/integrations/enrich` | 通过选定的连接器并发地对交易进行信息补充 |
| POST | `/integrations/report` | 向选定机构提交 SAR、CTR 或欺诈举报 |
## 集成中心
集成中心连接外部机构和征信局,用于交易信息补充和监管报告。所有 15 个连接器均已注册,但在 `.env` 中添加凭据之前,它们会返回 `UNCONFIGURED` 状态。
**征信局** - Equifax, Experian, TransUnion
**金融情报** - FinCEN (SAR/CTR), OFAC SDN 筛查, FCA
**反欺诈联盟** - Early Warning Services, ThreatMetrix, NICE Actimize
**执法机构** - FBI IC3, INTERPOL, Europol EC3
**开放银行** - Plaid, Finicity, TrueLayer
## RedWing 平台组成部分
| Repo | Role |
|------|------|
| [redwing-fraud-os](https://github.com/tshriraj-del/redwing-fraud-os) | React 指挥中心 - 仪表盘、所有分析师工具、SyntheticID Agent UI |
| [redwing-operator](https://github.com/tshriraj-del/redwing-operator) | 本仓库 - FastAPI 后端、ML 评分、自主 agent、规则工厂 |
| [fraudsense](https://github.com/tshriraj-del/fraudsense) | 独立的基于 LLM 的欺诈调查 copilot |
| [rulebreaker](https://github.com/tshriraj-del/rulebreaker) | 独立的对抗性规则压力测试工具 |
| [sar-writer](https://github.com/tshriraj-del/sar-writer) | 独立的 FinCEN SAR 叙述生成器 |
标签:Apex, AV绕过, C2, FastAPI, Python, TCP/UDP协议, Web后端, 反欺诈, 无后门, 机器学习, 逆向工具, 风控系统