CheckEmailAuthenticity
Checks the authenticity of an email based on the email's SPF, DMARC, and DKIM.
python · Phishing
Details
| ID | CheckEmailAuthenticity |
|---|---|
| Language | python |
| From Version | 5.0.0 |
| Docker Image | demisto/python3:3.12.13.10404775 |
| Tags | phishing ews email |
README
Checks the authenticity of an email based on the email’s SPF, DMARC, and DKIM.
Script Data
| Name | Description |
|---|---|
| Script Type | python3 |
| Tags | phishing, ews, email |
| Cortex XSOAR Version | 5.0.0 |
Used In
This script is used in the following playbooks and scripts.
- Agari Message Remediation - Agari Phishing Defense
- Email Headers Check - Generic
- Phishing - Generic v3
- Phishing Investigation - Generic v2
- Report Categorization - Cofense Triage v3
Inputs
| Argument Name | Description |
|---|---|
| headers | A list of dictionaries of headers in the form of “Header name”:”Header value”. |
| original_authentication_header | The header that holds the original Authentication-Results header value. This can be used when an intermediate server changes the original email and holds the original header value in a different header. Note - Use this only if you trust the server creating this header. |
| SPF_override_none | Override value for SPF=None. |
| SPF_override_neutral | Override value for SPF=neutral. |
| SPF_override_pass | Override value for SPF=pass. |
| SPF_override_fail | Override value for SPF=fail. |
| SPF_override_softfail | Override value for SPF=softfail. |
| SPF_override_temperror | Override value for SPF=temperror. |
| SPF_override_permerror | Override value for SPF=permerror. |
| DKIM_override_none | Override value for DKIM=none. |
| DKIM_override_pass | Override value for DKIM=pass. |
| DKIM_override_fail | Override value for DKIM=fail. |
| DKIM_override_policy | Override value for DKIM=policy. |
| DKIM_override_neutral | Override value for DKIM=neutral. |
| DKIM_override_temperror | Override value for DKIM=temperror. |
| DKIM_override_permerror | Override value for DKIM=permerror. |
| DMARC_override_none | Override value for DMARC=none. |
| DMARC_override_pass | Override value for DMARC=pass. |
| DMARC_override_fail | Override value for DMARC=fail. |
| DMARC_override_temperror | Override value for DMARC=temperror. |
| DMARC_override_permerror | Override value for DMARC=permerror. |
Outputs
| Path | Description | Type |
|---|---|---|
| Email.SPF.MessageID | SPF ID | String |
| Email.SPF.Validation-Result | Validation Result. Possible values are “None”, “Neutral”, “Pass”, “Fail”, “SoftFail”, “TempError”, and “PermError”. | String |
| Email.SPF.Reason | Reason for the SPF result, which is located in the headers of the email. | String |
| Email.SPF.Sender-IP | Email sender IP address. | String |
| Email.DKIM.Message-ID | DKIM ID. | String |
| Email.DKIM.Reason | DKIM reason (if found). | String |
| Email.DMARC.Message-ID | DMARC ID. | String |
| Email.DMARC.Validation-Result | DMARC reason. Possible values are “None”, “Pass”, “Fail”, “Temperror”, and “Permerror”. | String |
| Email.DMARC.Tags | DMARC Tags (if found) | String |
| Email.DMARC.From-Domain | Sender’s Domain | String |
| Email.DKIM.Signing-Domain | Sender’s Domain | String |
| Email.AuthenticityCheck | Possible values are be: Fail / Suspicious / Undetermined / Pass | Unknown |
| Email.DKIM | DKIM information extracted from the email. | Unknown |
| Email.SPF | SPF information extracted from the email. | Unknown |
| Email.DMARC | DMARC information extracted from the email. | Unknown |
| Email.DKIM.Validation-Result | Validation result. Possible values are “None”, “Pass”, “Fail”, “Policy”, “Neutral”, “Temperror”, and “Permerror”. | Unknown |
args: - auto: PREDEFINED description: A list of dictionaries of headers in the form of "Header name":"Header value". isArray: true name: headers predefined: - admin - auto: PREDEFINED description: The header that holds the original Authentication-Results header value. This can be used when an intermediate server changes the original email and holds the original header value in a different header. Note - Use this only if you trust the server creating this header. name: original_authentication_header - auto: PREDEFINED description: Override value for SPF=None. name: SPF_override_none predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for SPF=neutral. name: SPF_override_neutral predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for SPF=pass. name: SPF_override_pass predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for SPF=fail. name: SPF_override_fail predefined: - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for SPF=softfail. name: SPF_override_softfail predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for SPF=temperror. name: SPF_override_temperror predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: 'Override value for SPF=permerror. ' name: SPF_override_permerror predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=none. name: DKIM_override_none predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=pass. name: DKIM_override_pass predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=fail. name: DKIM_override_fail predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=policy. name: DKIM_override_policy predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=neutral. name: DKIM_override_neutral predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=temperror. name: DKIM_override_temperror predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DKIM=permerror. name: DKIM_override_permerror predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DMARC=none. name: DMARC_override_none predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DMARC=pass. name: DMARC_override_pass predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DMARC=fail. name: DMARC_override_fail predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DMARC=temperror. name: DMARC_override_temperror predefined: - Fail - Suspicious - Undetermined - Pass - auto: PREDEFINED description: Override value for DMARC=permerror. name: DMARC_override_permerror predefined: - Fail - Suspicious - Undetermined - Pass comment: Checks the authenticity of an email based on the email's SPF, DMARC, and DKIM. commonfields: id: CheckEmailAuthenticity version: -1 enabled: true name: CheckEmailAuthenticity outputs: - contextPath: Email.SPF.MessageID description: SPF ID. type: String - contextPath: Email.SPF.Validation-Result description: 'Validation Result. Possible values are "None", "Neutral", "Pass", "Fail", "SoftFail", "TempError", and "PermError". ' type: String - contextPath: Email.SPF.Reason description: Reason for the SPF result, which is located in the headers of the email. type: String - contextPath: Email.SPF.Sender-IP description: Email sender IP address. type: String - contextPath: Email.DKIM.Message-ID description: DKIM ID. type: String - contextPath: Email.DKIM.Reason description: DKIM reason (if found). type: String - contextPath: Email.DMARC.Message-ID description: DMARC ID. type: String - contextPath: Email.DMARC.Validation-Result description: DMARC reason. Possible values are "None", "Pass", "Fail", "Temperror", and "Permerror". type: String - contextPath: Email.DMARC.Tags description: DMARC Tags (if found). type: String - contextPath: Email.DMARC.From-Domain description: Sender's Domain. type: String - contextPath: Email.DKIM.Signing-Domain description: Sender's Domain. type: String - contextPath: Email.AuthenticityCheck description: 'Possible values are be: Fail / Suspicious / Undetermined / Pass.' type: Unknown - contextPath: Email.DKIM description: DKIM information extracted from the email. type: Unknown - contextPath: Email.SPF description: SPF information extracted from the email. type: Unknown - contextPath: Email.DMARC description: DMARC information extracted from the email. type: Unknown - contextPath: Email.DKIM.Validation-Result description: Validation result. Possible values are "None", "Pass", "Fail", "Policy", "Neutral", "Temperror", and "Permerror". type: Unknown script: '-' tags: - phishing - ews - email timeout: '0' type: python subtype: python3 dockerimage: demisto/python3:3.12.13.10404775 runas: DBotWeakRole fromversion: 5.0.0 tests: - No tests