שילוב של APIVoid עם Google SecOps

במאמר הזה מוסבר איך לשלב את APIVoid עם Google Security Operations ‏ (Google SecOps).

לפני שמתחילים

לפני שמגדירים את השילוב של APIVoid ב-Google SecOps לגרסה 2, ודאו שיש לכם את הפרטים הבאים:

  • חשבון APIVoid v2: חשבון פעיל עם גישה לשירותי API v2.

  • ‫מפתח API של APIVoid v2: מפתח API חדש שנוצר במיוחד לממשקי API בגרסה 2 ממרכז הבקרה של המשתמש ב-APIVoid.

  • נקודות קצה מעודכנות ל-API: היכרות עם כתובות ה-URL המעודכנות של נקודות הקצה ל-API בגרסה 2, לשירותי APIVoid הספציפיים שבהם אתם מתכננים להשתמש (למשל, IP Reputation API,‏ Domain Reputation API).

יצירת מפתח API של APIVoid v2

כדי ליצור מפתח API של APIVoid v2:

  1. נכנסים למרכז הבקרה למשתמשים ב-APIVoid.

  2. עוברים לקטע מפתחות API. (המיקום עשוי להשתנות בהתאם לעדכונים במרכז הבקרה).

  3. יוצרים מפתח API חדש. מעתיקים מיד את המפתח ושומרים אותו במקום מאובטח. יכול להיות שהיא תוצג רק פעם אחת.

רשת

תפקיד יציאת ברירת המחדל כיוון פרוטוקול
API ערכים מרובים להעברת נתונים apikey

פרמטרים של שילוב

כדי להגדיר את השילוב, משתמשים בפרמטרים הבאים:

שם הפרמטר סוג ערך ברירת המחדל חובה תיאור
שם המכונה String לא רלוונטי לא שם המכונה שרוצים להגדיר לה את השילוב.
תיאור String לא רלוונטי לא תיאור המכונה.
הרמה הבסיסית (root) של ה-API String https://endpoint.apivoid.com כן הכתובת של המכונה של APIVoid.
מפתח API סיסמה לא רלוונטי כן מפתח API שנוצר במסוף של APIVoid.
אימות SSL תיבת סימון התיבה לא מסומנת לא צריך לסמן את התיבה הזו אם חיבור ה-APIVoid דורש אימות SSL.
הפעלה מרחוק תיבת סימון התיבה לא מסומנת לא מסמנים את השדה כדי להפעיל את השילוב שהוגדר מרחוק. אחרי שמסמנים את התיבה, מופיעה האפשרות לבחור את המשתמש המרוחק (הנציג).

איך מגדירים שילובים ב-Google SecOps

אם צריך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של אינטגרציה, אפשר להשתמש בו בפלייבוקים. במאמר תמיכה במספר מופעים מוסבר איך להגדיר מספר מופעים ולתמוך בהם.

פעולות

מידע נוסף על פעולות זמין במאמרים מענה לפעולות בהמתנה משולחן העבודה והפעלה ידנית של פעולה בבקשת התמיכה.

קבלת מוניטין של דומיין

בדיקות מוניטין של דומיין בודקות אם דומיין מסוים נכלל ברשימת חסימה פופולרית ומהימנה של דומיינים, כמו URLVir,‏ ThreatLog,‏ OpenPhish,‏ Spam404,‏ PhishTank,‏ ZeuS Tracker ועוד. שירותי רשימת החסימה של כמה דומיינים מזהים אתרים שעלולים להיות זדוניים ושמקורם בתרמית, שמעורבים בהפצת תוכנות זדוניות, באירועי פישינג ובחנויות וירטואליות מזויפות.

פרמטרים

שם הפרמטר סוג ערך ברירת המחדל חובה תיאור
סף String 0 כן סף הסיכון של הדומיין. הסף חייב להיות ערך מספרי. דוגמה: 3
יצירת תובנות תיבת סימון סימן אישור כן מציינים אם הפעולה צריכה ליצור תובנות או לא.

תרחישים לדוגמה

אחד מהתרחישים לדוגמה של Domain Reputation API הוא לבדוק אם האתרים של הלקוח מוחרגים, לבדוק כתובות URL שנשלחו על ידי משתמשים באפליקציה או לזהות אתרים שעלולים להיות זדוניים ולא בטוחים.

הפעלה ב-

הפעולה הזו פועלת על הישויות הבאות:

  • שם המארח
  • כתובת URL

תוצאות הפעולה

העשרת ישויות

סימון ישות כחשודה אם מספר המנועים השליליים שווה לסף שצוין או גבוה ממנו.

שם שדה ההעשרה לוגיקה – מתי להחיל
alexa_top_100k מוחזר אם הוא קיים בתוצאת ה-JSON
domain_length מוחזר אם הוא קיים בתוצאת ה-JSON
alexa_top_10k מוחזר אם הוא קיים בתוצאת ה-JSON
רשימות חסימה מוחזר אם הוא קיים בתוצאת ה-JSON
שרת מוחזר אם הוא קיים בתוצאת ה-JSON
מארח מוחזר אם הוא קיים בתוצאת ה-JSON
most_abused_tld מוחזר אם הוא קיים בתוצאת ה-JSON
alexa_top_250k מוחזר אם הוא קיים בתוצאת ה-JSON
תובנות
חוּמרה תיאור
אזהרה נוצרת תובנת אזהרה כדי ליידע על הסטטוס הזדוני של הישות המועשרת. ההתראה נוצרת כשמספר המנועים שזוהו שווה לסף המינימלי של חשד שנקבע לפני הסריקה, או חורג ממנו.
תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות לערכים דוגמה
הפעולה בוצעה נכון/לא נכון success:False
תוצאת JSON
[
    {
        "EntityResult": {
            "alexa_top_100k": false,
            "domain_length": 17,
            "alexa_top_10k": false,
            "blacklists": {
                "scantime": "0.07",
                "detection_rate": "0%",
                "detections": 0,
                "engines_count": 29,
                "engines": [{
                    "engine": "ThreatLog",
                    "detected": false,
                    "confidence": "high",
                    "reference": "http://www.threatlog.com/"
                }, {
                    "engine": "Threat Sourcing",
                    "detected": false,
                    "confidence": "high",
                    "reference": "https://www.threatsourcing.com/"
                }, {
                    "engine": "URLVir",
                    "detected": false,
                    "confidence": "high",
                    "reference": "http://www.urlvir.com/"
                }]},
            "server": {
                "region_name": null,
                "reverse_dns": " ",
                "ip": " ",
                "isp": null,
                "continent_code": null,
                "latitude": null,
                "city_name": null,
                "longitude": null,
                "country_code": null,
                "country_name": null,
                "continent_name": null
            },
            "host": "example.com",
            "most_abused_tld": false,
            "alexa_top_250k": false
        },
        "Entity": "example.com"
    }, {
        "EntityResult": {
            "alexa_top_100k": false,
            "domain_length": 9,
            "alexa_top_10k": false,
            "blacklists": {
                "scantime": "0.03",
                "detection_rate": "0%",
                "detections": 0,
                "engines_count": 29,
                "engines": [{
                    "engine": "ThreatLog",
                    "detected": false,
                    "confidence": "high",
                    "reference": "http://www.threatlog.com/"
                }, {
                    "engine": "Threat Sourcing",
                    "detected": false,
                    "confidence": "high",
                    "reference": "https://www.threatsourcing.com/"
                }, {
                    "engine": "URLVir",
                    "detected": false,
                    "confidence": "high",
                    "reference": "http://www.urlvir.com/"
                }]},
            "server": {
                "region_name": null,
                "reverse_dns": " ",
                "ip": " ",
                "isp": null,
                "continent_code": null,
                "latitude": null,
                "city_name": null,
                "longitude": null,
                "country_code": null,
                "country_name": null,
                "continent_name": null
            },
            "host": "192.0.2.1",
            "most_abused_tld": false,
            "alexa_top_250k": false
        },
        "Entity": "192.0.2.1"
    }
]

קבלת המוניטין של כתובת ה-IP

‫IP Reputation API מזהה כתובות IP שעלולות להיות זדוניות, שבדרך כלל משמשות לספאם, להתקפות על אתרים או לפעילות שמקורה בתרמית.

פרמטרים

פרמטר סוג ערך ברירת המחדל חובה תיאור
סף String לא רלוונטי כן סף הסיכון של כתובת ה-IP. הסף חייב להיות ערך מספרי. דוגמה: 3.
יצירת תובנות תיבת סימון סימן אישור כן מציינים אם הפעולה צריכה ליצור תובנות או לא.

הפעלה ב-

הפעולה הזו פועלת על הישות "כתובת IP".

תוצאות הפעולה

העשרת ישויות

סימון ישות כחשודה אם מספר המנועים השליליים שווה לסף שצוין או גבוה ממנו.

שם שדה ההעשרה לוגיקה – מתי להחיל
מידע מוחזר אם הוא קיים בתוצאת ה-JSON
רשימות חסימה מוחזר אם הוא קיים בתוצאת ה-JSON
אנונימיות מוחזר אם הוא קיים בתוצאת ה-JSON
ip מוחזר אם הוא קיים בתוצאת ה-JSON
תובנות
חוּמרה תיאור
אזהרה נוצרת תובנת אזהרה שמודיעה על הסטטוס הזדוני של ה-hash המועשר. התובנה נוצרת כשמספר המנועים שזוהו שווה לסף המינימלי של החשד שנקבע לפני הסריקה, או חורג ממנו.
תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות לערכים דוגמה
הפעולה בוצעה נכון/לא נכון success:False
תוצאת JSON
[
    {
        "EntityResult": {
            "information": {
                "is_proxy": false,
                "is_vpn": false,
                "region_name": "Zhejiang",
                "is_webproxy": false,
                "latitude": 28.680280685424805,
                "isp": "ChinaNet Zhejiang Province Network",
                "continent_code": "AS",
                "is_tor": false,
                "reverse_dns": " ",
                "detections": 18,
                "engines_count": 76,
                "longitude": 121.44277954101562,
                "city_name": "Jiaojiang",
                "country_name": "China",
                "continent_name": "Asia",
                "detection_rate": "24%",
                "country_code": "CN",
                "is_hosting": false
            },
            "blacklists": {
                "scantime": "0.57",
                "detection_rate":
                "24%",
                "detections": 18,
                "engines_count": 76,
                "engines": [{
                    "engine": "PlonkatronixBL",
                    "detected": false,
                    "reference": "http://bl.plonkatronix.com/"
                }, {
                    "engine": "Engine",
                    "detected": true,
                    "reference": "https://home.nuug.no/~engine/"
                }, {"engine": "Malc0de",
                    "detected": false,
                    "reference": "http://malc0de.com/database/index.php"
                   }]},
            "anonymity": {
                "is_tor": false,
                "is_proxy": false,
                "is_vpn": false,
                "is_webproxy": false,
                "is_hosting": false
            },
            "ip": "192.0.2.1"
        },
        "Entity": "192.0.2.1"
    }
]

קבלת מוניטין של כתובת URL

קבלת מוניטין הבטיחות וציון הסיכון של כתובת URL.

פרמטרים

שם הפרמטר סוג ערך ברירת המחדל חובה תיאור
סף מספר שלם לא רלוונטי כן

סף הסיכון של כתובת ה-URL. הסף חייב להיות ערך מספרי. דוגמה: 3

תרחישים לדוגמה

מנתח נתונים יכול לאחזר את המוניטין של כתובת ה-URL, בדומה לאחזור המוניטין של דומיין או של כתובת IP.

הפעלה ב-

הפעולה הזו פועלת על ישות כתובת ה-URL.

תוצאות הפעולה

העשרת ישויות

סימון ישות כחשודה אם מספר המנועים השליליים שווה לסף שצוין או גבוה ממנו. if data.get("report", {}).get("risk_score", {}).get("result") > threshold

שם שדה ההעשרה לוגיקה – מתי להחיל
domain_blacklist מוחזר אם הוא קיים בתוצאת ה-JSON
html_forms מוחזר אם הוא קיים בתוצאת ה-JSON
server_details מוחזר אם הוא קיים בתוצאת ה-JSON
response_headers מוחזר אם הוא קיים בתוצאת ה-JSON
הפניה לכתובת אחרת מוחזר אם הוא קיים בתוצאת ה-JSON
file_type מוחזר אם הוא קיים בתוצאת ה-JSON
risk_score מוחזר אם הוא קיים בתוצאת ה-JSON
security_checks מוחזר אם הוא קיים בתוצאת ה-JSON
geo_location מוחזר אם הוא קיים בתוצאת ה-JSON
url_parts מוחזר אם הוא קיים בתוצאת ה-JSON
site_category מוחזר אם הוא קיים בתוצאת ה-JSON
web_page מוחזר אם הוא קיים בתוצאת ה-JSON
dns_records מוחזר אם הוא קיים בתוצאת ה-JSON
תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות לערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
[
    {
        "EntityResult": {
            "domain_blacklist": {
                "detections": 0,
                "engines": [{
                    "detected": false,
                        "name": "SpamhausDBL", "reference": "https://www.spamhaus.org/lookup/"
                    }, {
                        "detected": false,
                        "name": "ThreatLog",
                        "reference": "http://www.threatlog.com/"
                    }, {
                        "detected": false,
                        "name": "OpenPhish",
                        "reference": "http://www.openphish.com/"
                    }, {
                        "detected": false,
                        "name": "PhishTank",
                        "reference": "http://www.phishtank.com/"
                    }, {
                        "detected": false,
                        "name": "Phishing.Database",
                        "reference": "https://github.com/mitchellkrogza/Phishing.Database"
                    }, {
                        "detected": false,
                        "name": "PhishStats",
                        "reference": "https://phishstats.info/"
                    }, {
                        "detected": false,
                        "name": "URLVir",
                        "reference": "http://www.urlvir.com/"
                    }, {
                        "detected": false,
                        "name": "URLhaus",
                        "reference": "https://urlhaus.abuse.ch/"
                    }, {
                        "detected": false,
                        "name": "RPiList Not Serious",
                        "reference": "https://github.com/RPiList/specials"
                    }, {
                        "detected": false,
                        "name": "precisionsec",
                        "reference": "https://precisionsec.com/"
                    }, {
                        "detected": false,
                        "name": "AntiSocial Blacklist",
                        "reference": "https://theantisocialengineer.com/"
                    }, {
                        "detected": false,
                        "name": "PhishFeed",
                        "reference": "https://phishfeed.com/"
                    }, {
                        "detected": false,
                        "name": "Spam404",
                        "reference": "https://www.spam404.com/"
                    }]},
            "html_forms": {
                "number_of_total_input_fields": 0,
                "email_field_present": false,
                "number_of_total_forms": 0,
                "password_field_present": false,
                "two_text_inputs_in_a_form": false,
                "credit_card_field_present": false
            },
            "server_details": {
                "continent_name": "Asia",
                "hostname": "example.com",
                "region_name": "Seoul-teukbyeolsi",
                "ip": "192.0.2.141",
                "isp": "Example Corporation",
                "continent_code": "AS",
                "country_name": "Korea (Republic of)",
                "city_name": "Seoul",
                "longitude": 126.97782897949219,
                "country_code": "KR",
                "latitude": 37.568260192871094
            },
            "response_headers": {
                "status": "HTTP/1.1 404 Not Found",
                "content-length": "177",
                "code": 404,
                "server": "nginx/1.4.6 (Ubuntu)",
                "connection": "keep-alive",
                "date": "Wed, 15 Jul 2020 08:21:54 GMT",
                "content-type": "text/html"
            },
            "redirection": {
                "url": null,
                "found": false,
                "external": false
            },
            "file_type": {
                "headers": "HTML",
                "extension": "HTML",
                "signature": " "
            },
            "risk_score": {
                "result": 10
            },
            "security_checks": {
                "is_suspended_page": false,
                "is_defaced_heuristic": false,
                "is_windows_exe_file": false,
                "is_credit_card_field": false,
                "is_windows_exe_file_on_free_hosting": false,
                "is_masked_linux_elf_file": false,
                "is_exe_on_directory_listing": false,
                "is_php_on_directory_listing": false,
                "is_masked_windows_exe_file": false,
                "is_sinkholed_domain": false,
                "is_robots_noindex": false,
                "is_windows_exe_file_on_free_dynamic_dns": false,
                "is_doc_on_directory_listing": false,
                "is_non_standard_port": false,
                "is_linux_elf_file_on_free_dynamic_dns": false,
                "is_suspicious_domain": false, "is_suspicious_url_pattern": false,
                "is_china_country": false,
                "is_risky_geo_location": false,
                "is_pdf_on_directory_listing": false,
                "is_valid_https": false,
                "is_external_redirect": false, "is_windows_exe_file_on_ipv4": false,
                "is_phishing_heuristic": false,
                "is_linux_elf_file_on_ipv4": false,
                "is_email_address_on_url_query": false,
                "is_uncommon_clickable_url": false,
                "is_most_abused_tld": false,
                "is_domain_blacklisted": false,
                "is_host_an_ipv4": false,
                "is_linux_elf_file_on_free_hosting": false,
                "is_zip_on_directory_listing": false,
                "is_password_field": false,
                "is_linux_elf_file": false,
                "is_empty_page_title": false,
                "is_directory_listing": false,
                "is_masked_file": false,
                "is_suspicious_file_extension": false,
                "is_suspicious_content": false
            },
            "geo_location": {
                "countries": ["KR"]
            },
            "url_parts": {
                "host_nowww": "example.com",
                "host": "www.example.com",
                "path": "/dynamic/example.html",
                "query": null,
                "scheme": "http",
                "port": 80},
            "site_category": {
                "is_vpn_provider": false,
                "is_url_shortener": false,
                "is_anonymizer": false,
                "is_torrent": false,
                "is_free_dynamic_dns": false,
                "is_free_hosting": false
            },
            "web_page": {
                "keywords": "",
                "description": "",
                "title": "404 Not Found"
            },
            "dns_records": {
                "ns": {
                    "records": [{
                        "country_name": "Korea (Republic of)",
                        "ip": "192.0.2.95",
                        "isp": "Example Corporation",
                        "target": "example.com",
                        "country_code": "KR"
                    }, {
                        "country_name": "Korea (Republic of)",
                        "ip": "192.0.2.26",
                        "isp": "LX",
                        "target": "example.com",
                        "country_code": "KR"
                    }]},
                "mx": {
                    "records": []
                }}},
        "Entity": "www.example.com:80/dynamic/example.html"
    }
]
קיר נרתיק הטעינה
סוג התוצאות תיאור סוג
הודעת פלט*
  1. ישויות שהפעולה הצליחה לגביהן: "APIVoid: אוחזר המוניטין של הישויות הבאות: <רשימת מזהי ישויות>
  2. ישויות שנכשלו: "אירעה שגיאה בישויות הבאות: <רשימת מזהי ישויות>"
  3. ישויות חסרות (אין נתונים): "לא נמצא מוניטין לישויות הבאות: <רשימת מזהי ישויות>"
  4. התראה בלי ישויות של כתובות URL: "APIVoid: No URLs found."‎
כללי
קיר פניות בפורמט CSV

אם יש נתונים, יוצרים טבלת CSV חדשה של ישויות:

  1. דוח רשימת חסימה של דומיינים: data.get("report",{}).get("domain_blacklist",{}).get("engines", [])
כללי
העשרה

אם יש נתונים זמינים, צריך להוסיף את הפרטים הבאים כהעשרת ישות: (חשוב להוסיף את הקידומת "APIVoid")

  1. geo_location: data.get("report",{}).get("geo_location",{}).get("countries", [])
  2. is_suspicious_domain: data.get("report",{}).get("security_checks",{}).get("is_suspicious_domain")
  3. is_domain_blacklisted: data.get("report",{}).get("security_checks",{}).get("is_domain_blacklisted")
  4. is_risky_geo_location: data.get("report",{}).get("security_checks",{}).get("is_risky_geo_location")
  5. risk_score: data.get("report", {}).get("risk_score", {}).get("result")
  6. is_external_redirect: data.get("report",{}).get("security_checks",{}).get("is_external_redirect")
ישות

צילום מסך

צלמו צילום מסך באיכות גבוהה של כל אתר או כתובת URL.

פרמטרים

לא רלוונטי

תרחישים לדוגמה

אנליסט יכול לצלם צילומי מסך באיכות גבוהה של כל אתר או כתובת URL, בפורמט תמונה PNG או JPG.

הפעלה ב-

הפעולה הזו פועלת על הישות "משתמש".

תוצאות הפעולה

העשרת ישויות

מסמנים ישות כחשודה אם מספר המנועים השליליים שווה לסף שצוין או גבוה ממנו. is_suspicious: if data.get("score") > threshold

שם שדה ההעשרה לוגיקה – מתי להחיל
דומיין מוחזר אם הוא קיים בתוצאת ה-JSON
should_block מוחזר אם הוא קיים בתוצאת ה-JSON
ציון מוחזר אם הוא קיים בתוצאת ה-JSON
חד-פעמי מוחזר אם הוא קיים בתוצאת ה-JSON
has_mx_records מוחזר אם הוא קיים בתוצאת ה-JSON
has_spf_records מוחזר אם הוא קיים בתוצאת ה-JSON
תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות לערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
[
    {
        "EntityResult": {
            "domain": "example.com",
            "valid_tld": true,
            "email": "user@example.co",
            "role_address": false,
            "should_block": false,
            "risky_tld": false,
            "dirty_words_username": false,
            "suspicious_domain": false,
            "score": 100,
            "educational_domain": false,
            "dirty_words_domain": false,
            "did_you_mean": " ",
            "username": "user",
            "valid_format": true,
            "is_spoofable ": false,
            "disposable": false,
            "government_domain": false,
            "has_spf_records": true,
            "domain_popular": false,
            "has_mx_records": true,
            "china_free_email": false,
            "free_email": false,
            "russian_free_email": false,
            "police_domain": false,
            "dmarc_enforced": false,
            "suspicious_username": false
        },
        "Entity": "USER@EXAMPLE.COM"
    }
]
קיר נרתיק הטעינה
סוג התוצאות תיאור סוג
הודעת פלט*
  1. ישויות שנוספו בהצלחה: "APIVoid: נוספו צילומי מסך לישויות הבאות: <רשימת מזהי ישויות>"
  2. ישויות שנכשלו: "אירעה שגיאה בישויות הבאות: <רשימת מזהי ישויות>"
  3. ישויות חסרות (אין נתונים): "לא נמצאו צילומי מסך של הישויות הבאות: <רשימת מזהי ישויות>"
  4. התראה ללא ישויות של כתובות URL: "APIVoid: No URL entities found for capturing screenshots"‎ (לא נמצאו ישויות של כתובות URL לצילום מסך).
  5. לישויות גדולות (גודל קובץ מצורף > 3MB): "לא הצלחנו להוסיף צילומי מסך כקבצים מצורפים בישויות הבאות: <<רשימת מזהי ישויות>>"
כללי
קבצים מצורפים

אם יש נתונים, יוצרים אובייקט קובץ חדש:

  1. כותרת הקובץ המצורף: 'צילום מסך – {0}'.format(entity.identifier)
  2. שם הקובץ צריך להיות כתובת ה-URL בלי הסיומת (https/http) + ‏ '_capture.<פורמט קובץ>'
  3. screenshot is returned in base64 encoded string --> file content should be b64decode(data.get('base64_file'))‎
  4. אל תשכחו להוסיף try, except – יש לנו מגבלה של 3MB מהפלטפורמה. אם יש שגיאה, מוסיפים הודעה רלוונטית ליומן.
כללי

פינג

בודקים את הקישוריות.

פרמטרים

לא רלוונטי

הפעלה ב-

הפעולה הזו פועלת בכל הישויות.

תוצאות הפעולה

תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות לערכים דוגמה
הפעולה בוצעה נכון/לא נכון success:False

אימות של כתובת האימייל

בודקים אם כתובת אימייל היא חד-פעמית, אם יש לה רשומות MX ועוד.

פרמטרים

שם הפרמטר סוג ערך ברירת המחדל חובה תיאור
סף מספר שלם לא רלוונטי כן

סף הסיכון של האימייל. הסף חייב להיות ערך מספרי.

דוגמה: 3

תרחישים לדוגמה

מנתח נתונים יכול לבדוק אם כתובת אימייל היא חד-פעמית, לקבל רשומות MX ועוד.

הפעלה ב-

הפעולה הזו פועלת על הישות "משתמש".

תוצאות הפעולה

העשרת ישויות

מסמנים ישות כחשודה אם מספר המנועים השליליים שווה לסף שצוין או גבוה ממנו. is_suspicious: if data.get("score") > threshold

שם שדה ההעשרה לוגיקה – מתי להחיל
דומיין מוחזר אם הוא קיים בתוצאת ה-JSON
should_block מוחזר אם הוא קיים בתוצאת ה-JSON
ציון מוחזר אם הוא קיים בתוצאת ה-JSON
חד-פעמי מוחזר אם הוא קיים בתוצאת ה-JSON
has_mx_records מוחזר אם הוא קיים בתוצאת ה-JSON
has_spf_records מוחזר אם הוא קיים בתוצאת ה-JSON
תוצאת הסקריפט
שם תוצאת הסקריפט אפשרויות לערכים דוגמה
is_success נכון/לא נכון is_success:False
תוצאת JSON
[
    {
        "EntityResult": {
            "domain": "example.com",
            "valid_tld": true,
            "email": "user@example.com",
            "role_address": false,
            "should_block": false,
            "risky_tld": false,
            "dirty_words_username": false,
            "suspicious_domain": false,
            "score": 100,
            "educational_domain": false,
            "dirty_words_domain": false,
            "did_you_mean": " ",
            "username": "user",
            "valid_format": true,
            "is_spoofable ": false,
            "disposable": false,
            "government_domain": false,
            "has_spf_records": true,
            "domain_popular": false,
            "has_mx_records": true,
            "china_free_email": false,
            "free_email": false,
            "russian_free_email": false,
            "police_domain": false,
            "dmarc_enforced": false,
            "suspicious_username": false
        },
        "Entity": "USER@EXAMPLE.COm"
    }
]
קיר נרתיק הטעינה
סוג התוצאות תיאור סוג
הודעת פלט*
  1. ישויות שהצליחו: "APIVoid: אוחזר מידע על הישויות הבאות: <רשימת מזהי ישויות>
  2. ישויות שנכשלו: "אירעה שגיאה בישויות הבאות: <רשימת מזהי ישויות>"
  3. ישויות חסרות (אין נתונים): "לא מצאנו מידע על הישויות הבאות: <רשימת מזהי ישויות>"
  4. התראה בלי ישויות של כתובות URL: "APIVoid: No emails found."‎
כללי
קיר פניות בפורמט CSV תוכן קובץ ה-CSV: נתוני ישות(דוגמה בהמשך) כללי
העשרה

אם יש נתונים זמינים, צריך להוסיף את הפרטים הבאים כהעשרת ישות: (חשוב להוסיף את הקידומת "APIVoid")

  1. suspicious_domain: data.get("suspicious_domain")‎
  2. should_block: data.get("should_block")
  3. score: data.get("score")
  4. disposable: data.get("disposable")‎
  5. has_mx_records: data.get("has_mx_records")
  6. has_spf_records: data.get("has_spf_records")‎
ישות

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.