Google SecOps와 APIVoid 통합

이 문서에서는 APIVoid를 Google Security Operations (Google SecOps)와 통합하는 방법을 설명합니다.

통합 버전: 12.0

시작하기 전에

v2용 Google SecOps에서 APIVoid 통합을 구성하기 전에 다음이 있는지 확인하세요.

  • APIVoid v2 계정: v2 API 서비스에 액세스할 수 있는 활성 계정입니다.

  • APIVoid v2 API 키: APIVoid 사용자 대시보드에서 v2 API용으로 특별히 생성된 새 API 키입니다.

  • 업데이트된 API 엔드포인트: 사용할 특정 APIVoid 서비스 (예: IP 평판 API, 도메인 평판 API)의 업데이트된 v2 API 엔드포인트 URL을 잘 알고 있어야 합니다.

APIVoid v2 API 키 생성

APIVoid v2 API 키를 생성하려면 다음 단계를 완료하세요.

  1. APIVoid 사용자 대시보드에 로그인합니다.

  2. API 키 섹션으로 이동합니다. (위치는 대시보드 업데이트에 따라 다를 수 있습니다.)

  3. 새 API 키를 생성합니다. 키를 즉시 복사하여 안전하게 저장합니다. 한 번만 표시될 수 있습니다.

네트워크

함수 기본 포트 방향 프로토콜
API Multivalues 아웃바운드 apikey

통합 매개변수

다음 매개변수를 사용하여 통합을 구성합니다.

매개변수 이름 유형 기본값 필수 항목 설명
인스턴스 이름 문자열 해당 사항 없음 No 통합을 구성할 인스턴스의 이름입니다.
설명 문자열 해당 사항 없음 No 인스턴스에 대한 설명입니다.
API 루트 문자열 https://endpoint.apivoid.com APIVoid 인스턴스의 주소입니다.
API 키 비밀번호 해당 사항 없음 APIVoid 콘솔에서 생성된 API 키입니다.
SSL 확인 체크박스 선택 해제 아니요 APIVoid 연결에 SSL 확인이 필요한 경우 이 체크박스를 사용합니다.
원격 실행 체크박스 선택 해제 No 구성된 통합을 원격으로 실행하려면 필드를 선택합니다. 선택하면 원격 사용자(에이전트)를 선택하는 옵션이 나타납니다.

Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.

필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 여러 인스턴스 지원을 참고하세요.

작업

작업에 대한 자세한 내용은 내 Workdesk에서 대기 중인 작업에 응답수동 작업 실행을 참고하세요.

도메인 평판 가져오기

URLVir, ThreatLog, OpenPhish, Spam404, PhishTank, ZeuS Tracker 등 인기 있고 신뢰할 수 있는 도메인 차단 목록 서비스에서 도메인이 제외된 경우 도메인 평판 확인을 받습니다. 여러 도메인 차단목록 서비스는 멀웨어 배포, 피싱 사건, 가짜 온라인 상점과 관련된 악성 및 사기성 웹사이트를 식별합니다.

매개변수

매개변수 이름 유형 기본값 필수 항목 설명
기준 문자열 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 결과에 존재하는 경우에 반환
통계
심각도 설명
주의 보강된 엔티티의 악성 상태를 알리기 위해 경고 통계가 생성됩니다. 탐지된 엔진 수가 스캔 전에 설정된 최소 의심 기준점 이상인 경우에 생성됩니다.
스크립트 결과
스크립트 결과 이름 값 옵션
성공 True/False 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 주소를 감지합니다.

매개변수

매개변수 유형 기본값 필수 항목 설명
기준 문자열 해당 사항 없음 IP 위험 기준입니다. 기준점은 숫자 값이어야 합니다. 예: 3.
통계 만들기 체크박스 선택 작업에서 통계를 생성해야 하는지 여부를 지정합니다.

실행

이 작업은 IP 주소 항목에서 실행됩니다.

작업 결과

항목 보강

부정적인 엔진 수가 지정된 기준 이상이면 항목을 의심스러운 것으로 표시합니다.

보강 필드 이름 로직 - 적용 시기
정보 JSON 결과에 존재하는 경우에 반환
블랙리스트 JSON 결과에 존재하는 경우에 반환
익명성 JSON 결과에 존재하는 경우에 반환
ip JSON 결과에 존재하는 경우에 반환
통계
심각도 설명
주의 보강된 해시의 악성 상태를 알리기 위해 경고 통계가 생성됩니다. 이 통계는 감지된 엔진 수가 스캔 전에 설정된 최소 의심 기준점과 같거나 이를 초과하는 경우에 생성됩니다.
스크립트 결과
스크립트 결과 이름 값 옵션
성공 True/False 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

사용 사례

분석가는 도메인 또는 IP 주소의 평판을 가져오는 방법과 유사하게 URL 평판을 가져올 수 있습니다.

실행

이 작업은 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 True/False 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. 누락된 항목 (데이터 없음): '다음 항목의 평판을 찾을 수 없습니다: <entities identifer list>'
  4. URL 항목이 없는 알림: 'APIVoid: URL이 없습니다.'
일반
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의 고화질 스크린샷을 캡처합니다.

매개변수

해당 사항 없음

사용 사례

분석가는 PNG 또는 JPG 이미지 형식으로 모든 웹사이트 또는 URL의 고품질 스크린샷을 캡처할 수 있습니다.

실행

이 작업은 사용자 항목에서 실행됩니다.

작업 결과

항목 보강

부정적인 엔진 수가 지정된 임곗값 이상이면 항목을 의심스러운 것으로 표시합니다. is_suspicious: if data.get("score") > threshold

보강 필드 이름 로직 - 적용 시기
도메인 JSON 결과에 존재하는 경우에 반환
should_block JSON 결과에 존재하는 경우에 반환
점수 JSON 결과에 존재하는 경우에 반환
일회용 JSON 결과에 존재하는 경우에 반환
has_mx_records JSON 결과에 존재하는 경우에 반환
has_spf_records JSON 결과에 존재하는 경우에 반환
스크립트 결과
스크립트 결과 이름 값 옵션
is_success True/False 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: 스크린샷을 캡처할 URL 엔티티가 없습니다.'
  5. 큰 항목 (첨부 파일 크기 > 3MB): '다음 항목에 스크린샷을 첨부 파일로 추가할 수 없습니다: <<항목 식별자 목록>>'
일반
첨부파일

데이터가 있으면 새 파일 객체를 만듭니다.

  1. 첨부파일 제목: '스크린샷 - {0}'.format(entity.identifier)
  2. 파일 이름은 접미사 (https/http)가 없는 URL + '_capture.<file format>'이어야 합니다.
  3. 스크린샷이 base64 인코딩 문자열로 반환됨 --> 파일 콘텐츠는 b64decode(data.get('base64_file'))이어야 함
  4. try, except를 추가해야 합니다. 플랫폼에서 3MB 제한이 있기 때문입니다. 오류가 발생한 경우 로거에 관련 메시지를 추가합니다.
일반

연결을 테스트합니다.

매개변수

해당 사항 없음

실행

이 작업은 모든 항목에서 실행됩니다.

작업 결과

스크립트 결과
스크립트 결과 이름 값 옵션
성공 True/False 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 True/False 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: 다음 항목의 정보를 가져왔습니다. <entities identifer list>
  2. 실패한 항목: '다음 항목에서 오류가 발생했습니다. <항목 식별자 목록>'
  3. 누락된 항목 (데이터 없음): '다음 항목의 정보를 찾을 수 없습니다: <entities identifer list>'
  4. URL 엔티티가 없는 알림: 'APIVoid: 이메일이 없습니다.'
일반
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 전문가로부터 답변을 받으세요.