MCPcopy Create free account
hub / github.com/CScorza/IntelOSINT / analyze_gmail_osint

Method analyze_gmail_osint

IntelOSINT.py:12959–13119  ·  view source on GitHub ↗

Analizza una Gmail per estrarre: - UserID (numeric user ID) - Reviews pubbliche - Account associati su altri servizi - Informazioni da data breach - Profili pubblici associati

(self, email, include_holehe=False)

Source from the content-addressed store, hash-verified

12957 }
12958
12959 def analyze_gmail_osint(self, email, include_holehe=False):
12960 """
12961 Analizza una Gmail per estrarre:
12962 - UserID (numeric user ID)
12963 - Reviews pubbliche
12964 - Account associati su altri servizi
12965 - Informazioni da data breach
12966 - Profili pubblici associati
12967 """
12968 email = (email or "").strip()
12969 if "@" not in email:
12970 return {
12971 "username": email,
12972 "type": "Gmail OSINT",
12973 "info": {"Status": "Email non valida"},
12974 "main_img": "https://cdn-icons-png.flaticon.com/512/281/281764.png",
12975 "status_code": 400,
12976 "url": ""
12977 }
12978
12979 info = {}
12980 status_code = 200
12981 local, _, domain = email.partition("@")
12982
12983 # 0. ENRICHMENT DA LOOKUP GOOGLE ACCOUNT (GAIA / NOME / FOTO)
12984 try:
12985 gmail_lookup = self.analyze_gmail(email) if domain in ["gmail.com", "googlemail.com"] else None
12986 if gmail_lookup and isinstance(gmail_lookup.get("info"), dict):
12987 ginfo = gmail_lookup.get("info", {})
12988 gaia_value = ginfo.get("Gaia ID") or ginfo.get(" Gaia ID")
12989 nome_value = ginfo.get("Nome") or ginfo.get(" Nome")
12990 if gaia_value:
12991 info["Gaia ID"] = gaia_value
12992 if nome_value:
12993 info["Nome"] = nome_value
12994 name_bits = [p for p in re.split(r"\s+", str(nome_value).strip()) if p]
12995 if name_bits:
12996 info["Nome Account Primo Campo"] = name_bits[0]
12997 if len(name_bits) > 1:
12998 info["Nome Account Altri Campi"] = " ".join(name_bits[1:])
12999 if ginfo.get("Profile Photo"):
13000 info["Profile Photo"] = str(ginfo.get("Profile Photo"))
13001 if ginfo.get("Email"):
13002 info["Email Verificata Lookup"] = str(ginfo.get("Email"))
13003 if ginfo.get("Status"):
13004 info["Google Lookup"] = str(ginfo.get("Status"))
13005 except Exception:
13006 pass
13007
13008 # 1. RICERCA PROFILI PUBBLICI SU GOOGLE (disattivata per performance)
13009
13010 # 2. RICERCA USERID SU SERVIZI GOOGLE
13011 try:
13012 # Tentativo di trovare UserID tramite Google Maps/Play Store reviews
13013 maps_url = "https://www.google.com/maps/contrib/"
13014 info["Google Maps Reviewer URL"] = f"{maps_url} (ricerca manuale con email)"
13015 info["Google Maps Search"] = f"https://www.google.com/maps/search/{urllib.parse.quote(email)}"
13016

Callers 1

searchFunction · 0.80

Calls 2

analyze_gmailMethod · 0.95
holehe_scanMethod · 0.95

Tested by

no test coverage detected