File size: 606 Bytes
bc2b09a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from __future__ import annotations
from dataclasses import dataclass
from typing import Optional, List
import pandas as pd
from mcp import mcp_fetch_sanctions, mcp_fetch_high_risk_mcc
from modules.sanctions import DEMO_SANCTIONS

@dataclass
class ThreatIntel:
    sanctions_df: Optional[pd.DataFrame]
    high_risk_mcc: List[str]

    @staticmethod
    def load() -> "ThreatIntel":
        sanc = mcp_fetch_sanctions()
        mcc = mcp_fetch_high_risk_mcc() or ["HIGH_RISK","GAMBLING","CRYPTO_EXCHANGE","ESCORTS","CASINO"]
        return ThreatIntel(sanctions_df=sanc or DEMO_SANCTIONS, high_risk_mcc=mcc)