Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proofpoint ThreatProtection integration content-pack. #35270

Conversation

ahopstetter-sce
Copy link
Contributor

@ahopstetter-sce ahopstetter-sce commented Jul 5, 2024

Contributing to Cortex XSOAR Content

Make sure to register your contribution by filling the contribution registration form

The Pull Request will be reviewed only after the contribution registration form is filled.

Status

  • Ready (For review and merge)

Description

This is a new XSOAR content-pack contribution containing the XSOAR commands necessary to interact with the Proofpoint ThreatProtection API.

Related Issues

fixes: link to the issue

Must have

  • Tests
  • Documentation

@CLAassistant
Copy link

CLAassistant commented Jul 5, 2024

CLA assistant check
All committers have signed the CLA.

@content-bot content-bot added Contribution Thank you! Contributions are always welcome! External PR Xsoar Support Level Indicates that the contribution is for XSOAR supported pack labels Jul 5, 2024
@content-bot content-bot changed the base branch from master to contrib/ahopstetter-sce_xsoar-contrib_ahopstetter-sce_and_randomizerxd-ProofpointThreatProtection July 5, 2024 19:48
@content-bot content-bot added Community Contribution Form Filled Whether contribution form filled or not. labels Jul 5, 2024
@thefrieddan1
Copy link
Contributor

@ahopstetter-sce Thank you for your contribution.
The level of the code and test cover is indeed in XSOAR support level.
I do have a comment about the test,
There is usage of uvicorn server on http:// and port 8000
On which XSOAR server did you test it? Or did you test it only locally?
On XSOAR8 and XSIAM its not possible for integration (unless privileged system integrations) to spin up an internal server with a dedicated port on localhost. (It is a change from XSAOR6).
This is due to the move to hosted servers on GCP.
Please change the test to be without an internal server so it will run on our build machines.
To do so you can mock the responses from client without actually reaching a server.

Please let me know what you think.
Thanks.

name: cluster_id
required: true
type: 0
description: Threat Protection APIs are REST APIs that allow our Proofpoint On Demand customers to retrieve, add, update or delete certain PoD configurations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Threat Protection APIs are REST APIs that allow our Proofpoint On Demand customers to retrieve, add, update or delete certain PoD configurations.
description: Threat Protection APIs are REST APIs that allow Proofpoint On Demand customers to retrieve, add, update or delete certain PoD configurations.

- add
- delete
required: true
description: add or delete.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: add or delete.
description: The action to perform.

- $helo
- $rcpt
required: true
description: Supported Attributes for the Organizational Safe List.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Supported Attributes for the Organizational Safe List.
description: Supported attributes for the Organizational Safe List.

Is this for the Safe List or the Block list?

- contain
- not_contain
required: true
description: Supported Operators for the Organizational Safe List.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: Supported Operators for the Organizational Safe List.
description: Supported operators for the Organizational Safe List.

Is this for the Safe List or the Block List?

- not_contain
required: true
description: Supported Operators for the Organizational Safe List.
- description: Entry to be added to list.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which list? Safe List or Block List?
Please specify.


Use the key and secret generated from the Admin Portal ([See API Key Management](https://help.proofpoint.com/Admin_Portal/Settings/API_Key_Management)) to generate an authentication token. The token is valid for 1 hour.

Click the <b>+Create New</b> button to display the <b>Create New Threat Protection API Key</b> dialog box for the cluster. Add a descriptive name for the key. The Cluster ID and Expiration Date for the key display in the dialog box. Keys are valid for one year from the date they are generated. Click <b>Generate Key</b> to create the key and secret.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Click the <b>+Create New</b> button to display the <b>Create New Threat Protection API Key</b> dialog box for the cluster. Add a descriptive name for the key. The Cluster ID and Expiration Date for the key display in the dialog box. Keys are valid for one year from the date they are generated. Click <b>Generate Key</b> to create the key and secret.
1. Click <b>+Create New</b>. The <b>Create New Threat Protection API Key</b> dialog box for the cluster appears.
2. Add a descriptive name for the key.
3. Click <b>Generate Key</b> to create the key and secret.
4. The <b>Create New Threat Protection API Key</b> dialog box displays the key and secret for the currently-selected cluster. Click the page icon next to each cluster to copy the API key and Secret to the clipboard and store them in a safe place. The Secret will not be visible once you close this dialog box. <b>You will need the key and secret to obtain the authentication token for the API service</b>.
The Cluster ID and Expiration Date for the key display in the dialog box. Keys are valid for one year from the date they are generated.

Use the key and secret generated from the Admin Portal ([See API Key Management](https://help.proofpoint.com/Admin_Portal/Settings/API_Key_Management)) to generate an authentication token. The token is valid for 1 hour.

Click the <b>+Create New</b> button to display the <b>Create New Threat Protection API Key</b> dialog box for the cluster. Add a descriptive name for the key. The Cluster ID and Expiration Date for the key display in the dialog box. Keys are valid for one year from the date they are generated. Click <b>Generate Key</b> to create the key and secret.
- <b>Note</b>: Threat Protection API will honor the key and secret for a 7-day grace period when it expires to give you a chance to <b>Renew</b> it before permanently expiring it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- <b>Note</b>: Threat Protection API will honor the key and secret for a 7-day grace period when it expires to give you a chance to <b>Renew</b> it before permanently expiring it.
- <b>Note</b>: The Threat Protection API will honor the key and secret for a 7-day grace period when it expires to give you a chance to <b>Renew</b> it before permanently expiring it.

Comment on lines 14 to 15
---
View Integration Documentation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
---
View Integration Documentation

- <b>Note</b>: Threat Protection API will honor the key and secret for a 7-day grace period when it expires to give you a chance to <b>Renew</b> it before permanently expiring it.
- The ellipsis menu for each key provides two choices: <b>Renew</b> and <b>Revoke</b>. <b>Renew</b> will extend the key expiration for one more year. <b>Revoke</b> will permanently remove the key and it cannot be restored.

The <b>Create New Threat Protection API Key</b> dialog box displays the key and secret for the currently-selected cluster. Copy the API key and Secret to the clipboard by clicking the page icon next to each and store these in a safe place. The Secret will not be visible once you close this dialog box. <b>You will need the key and secret to obtain the authentication token for the API service</b>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The <b>Create New Threat Protection API Key</b> dialog box displays the key and secret for the currently-selected cluster. Copy the API key and Secret to the clipboard by clicking the page icon next to each and store these in a safe place. The Secret will not be visible once you close this dialog box. <b>You will need the key and secret to obtain the authentication token for the API service</b>.

@@ -0,0 +1,3 @@
# Proofpoint Threat Protection

Threat Protection APIs are REST APIs that allow our Proofpoint On Demand customers to retrieve, add, update or delete certain PoD configurations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Threat Protection APIs are REST APIs that allow our Proofpoint On Demand customers to retrieve, add, update or delete certain PoD configurations.
Threat Protection APIs are REST APIs that allow Proofpoint On Demand customers to retrieve, add, update or delete certain PoD configurations.

@ShirleyDenkberg
Copy link
Contributor

@ahopstetter-sce After implementing my comments/edits in the yml file, please regenerate the integration readme.
@thefrieddan1 Doc review completed.

@ahopstetter-sce
Copy link
Contributor Author

ahopstetter-sce commented Jul 8, 2024

@ahopstetter-sce Thank you for your contribution. The level of the code and test cover is indeed in XSOAR support level. I do have a comment about the test, There is usage of uvicorn server on http:// and port 8000 On which XSOAR server did you test it? Or did you test it only locally? On XSOAR8 and XSIAM its not possible for integration (unless privileged system integrations) to spin up an internal server with a dedicated port on localhost. (It is a change from XSAOR6). This is due to the move to hosted servers on GCP. Please change the test to be without an internal server so it will run on our build machines. To do so you can mock the responses from client without actually reaching a server.

Please let me know what you think. Thanks.

Hello @thefrieddan1 ,

I've added code to test load up the uvicorn server at module load time ... and upon failure .... the code reverts back to full client pytest.mocking responses. Previously only fastapi module load was tested at module load time, but the updated code actually test loads the binding of tcp port 8000 on the loopback. So that should fly on your test servers! :)

Adam

@ahopstetter-sce
Copy link
Contributor Author

ahopstetter-sce commented Jul 8, 2024

@ahopstetter-sce After implementing my comments/edits in the yml file, please regenerate the integration readme. @thefrieddan1 Doc review completed.

@ShirleyDenkberg ,

Thanks for your doc updates. I honestly upon review thought the _description.md file needed an almost complete redo. You may want to double check that one. Thanks! :)

Adam

…nd_randomizerxd-ProofpointThreatProtection' into xsoar-contrib_ahopstetter-sce_and_randomizerxd-ProofpointThreatProtection

### Proofpoint Threat Protection Integration Setup

To setup the Proofpoint Threat Protection API XSOAR integration, a Threat Protection API Key and its associated secret must be configured, along with the associated Proofpoint clusterID. ([See API Key Management](https://help.proofpoint.com/Admin_Portal/Settings/API_Key_Management)) for more information regarding Proofpoint Threat Protection API key generation and management.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To setup the Proofpoint Threat Protection API XSOAR integration, a Threat Protection API Key and its associated secret must be configured, along with the associated Proofpoint clusterID. ([See API Key Management](https://help.proofpoint.com/Admin_Portal/Settings/API_Key_Management)) for more information regarding Proofpoint Threat Protection API key generation and management.
To set up the Proofpoint Threat Protection API Corrtex XSOAR integration, a Threat Protection API Key and its associated secret must be configured, along with the associated Proofpoint clusterID. ([See API Key Management](https://help.proofpoint.com/Admin_Portal/Settings/API_Key_Management)) for more information regarding Proofpoint Threat Protection API key generation and management.

Copy link
Contributor Author

@ahopstetter-sce ahopstetter-sce Jul 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming Corrtex here should be Cortex @ShirleyDenkberg

#### To Create a new Threat Protection API Key

1. From within the Proofpoint Admin Portal, navigate to the API Key Management section.
2. Click <b>+Create New</b>. The <b>Create New Threat Protection API Key</b> dialog box for the cluster appears.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Click <b>+Create New</b>. The <b>Create New Threat Protection API Key</b> dialog box for the cluster appears.
2. Click **+Create New**. The Create New Threat Protection API Key dialog box for the cluster appears.

2. Click <b>+Create New</b>. The <b>Create New Threat Protection API Key</b> dialog box for the cluster appears.
3. Add a descriptive name for the key.
4. Click <b>Generate Key</b> to create the key and secret.
5. The <b>Create New Threat Protection API Key</b> dialog box displays the key and secret for the currently-selected cluster. Click the page icon next to each cluster to copy the API key and Secret to the clipboard and store them in a safe place. The Secret will not be visible once you close this dialog box. <b>You will need the key and secret to obtain the authentication token for the API service</b>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. The <b>Create New Threat Protection API Key</b> dialog box displays the key and secret for the currently-selected cluster. Click the page icon next to each cluster to copy the API key and Secret to the clipboard and store them in a safe place. The Secret will not be visible once you close this dialog box. <b>You will need the key and secret to obtain the authentication token for the API service</b>.
5. The Create New Threat Protection API Key dialog box displays the key and secret for the currently-selected cluster. Click the page icon next to each cluster to copy the API key and Secret to the clipboard and store them in a safe place. The Secret will not be visible once you close this dialog box. You will need the key and secret to obtain the authentication token for the API service.


#### To Manage previously generated Threat Protection API Keys

1. From within the Proofpoint Admin Portal, navigate to the API Key Management section.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. From within the Proofpoint Admin Portal, navigate to the API Key Management section.
1. In the Proofpoint Admin Portal, navigate to the API Key Management section.


To setup the Proofpoint Threat Protection API XSOAR integration, a Threat Protection API Key and its associated secret must be configured, along with the associated Proofpoint clusterID. ([See API Key Management](https://help.proofpoint.com/Admin_Portal/Settings/API_Key_Management)) for more information regarding Proofpoint Threat Protection API key generation and management.

#### To Create a new Threat Protection API Key
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### To Create a new Threat Protection API Key
#### To Create a New Threat Protection API Key

4. Click <b>Generate Key</b> to create the key and secret.
5. The <b>Create New Threat Protection API Key</b> dialog box displays the key and secret for the currently-selected cluster. Click the page icon next to each cluster to copy the API key and Secret to the clipboard and store them in a safe place. The Secret will not be visible once you close this dialog box. <b>You will need the key and secret to obtain the authentication token for the API service</b>.

#### To Manage previously generated Threat Protection API Keys
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### To Manage previously generated Threat Protection API Keys
#### To Manage Previously Generated Threat Protection API Keys

#### To Manage previously generated Threat Protection API Keys

1. From within the Proofpoint Admin Portal, navigate to the API Key Management section.
2. For each API key previously generated there is an ellipsis providing two choices of action: <b>Renew</b> and <b>Revoke</b>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. For each API key previously generated there is an ellipsis providing two choices of action: <b>Renew</b> and <b>Revoke</b>.
2. For each API key previously generated there is an ellipsis providing two choices of action: <b>Renew</b> and <b>Revoke</b>. Select the action as needed.

@ShirleyDenkberg
Copy link
Contributor

@ahopstetter-sce I reviewed the description file again. See my edits.

@ahopstetter-sce
Copy link
Contributor Author

ahopstetter-sce commented Jul 9, 2024

@ahopstetter-sce I reviewed the description file again. See my edits.

These edits have been committed and pushed. @ShirleyDenkberg

…nd_randomizerxd-ProofpointThreatProtection' into xsoar-contrib_ahopstetter-sce_and_randomizerxd-ProofpointThreatProtection
@content-bot
Copy link
Collaborator

For the Reviewer: Successfully created a pipeline in GitLab with url: https://gitlab.xdr.pan.local/xdr/cortex-content/content/-/pipelines/1165178

@content-bot content-bot removed the ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. label Jul 10, 2024
@thefrieddan1 thefrieddan1 added the ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. label Jul 16, 2024
@content-bot
Copy link
Collaborator

For the Reviewer: Trigger build request has been accepted for this contribution PR.

@content-bot
Copy link
Collaborator

For the Reviewer: Successfully created a pipeline in GitLab with url: https://gitlab.xdr.pan.local/xdr/cortex-content/content/-/pipelines/1181485

@content-bot content-bot removed the ready-for-instance-test In contribution PRs, this label will cause a trigger of a build with a modified pack from the PR. label Jul 16, 2024
Copy link
Contributor

@thefrieddan1 thefrieddan1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ahopstetter-sce
Thanks again for your contribution.
Here are the comments in accordance to the design doc:

  1. Separate the command add-or-delete into 2 different commands.
  2. Rename the get commands to list.
  3. Add pagination to the list commands.

commands:
- arguments: []
description: Get all entries in the Organizational Block List.
name: proofpoint-tp-blocklist-get
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proofpoint-tp-blocklist-list
API: GET /api/v1/emailProtection/modules/spam/ orgBlockList?clusterId=
description: Get all entries in the Organizational Block List
Args:
ArgumentName: page Type: integer isArray: No Required: No
ArgumentName: page_size Type: integer isArray: No Required: No defualtValue: 50 Notes: number of issues per page.
ArgumentName: limit Type: integer isArray: No Required: No defualtValue: is 25 maximum is 100 the number of items to be present in the response

Context output base path: ProofpointThreatProtection.Blocklist
Outputs: Full API response should be returned as output

required: true
- description: A short comment about the entry (max 150 chars). "comment" is ignored for the "delete" action.
name: comment
description: Add/Delete entry from the Organizational Block List.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separate the command add-or-delete into 2 different commands.

description: Standard HTTP response with status code 200.
- arguments: []
description: Get all entries in the Organizational Safe List.
name: proofpoint-tp-safelist-get
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proofpoint-tp-safelist-list
API: GET /api/v1/emailProtection/modules/spam/orgSafeList?clusterId=
Arguments:
ArgumentName: page, PossibleValues: Integer, IsArray: No, Required: No
ArgumentName: page_size, PossibleValues: Integer, IsArray: No, Required: No, DefaultValue: 50, Note: number of issued per page(optional)
ArgumentName: Integer, PossibleValues: Integer, IsArray: No, Required: No, DefaultValue: default is 25 maximum is 100, Note: the number of items to be present in the response.
Context output base path: ProofpointThreatProtection.Safelist
Outputs: Full API response should be returned as output

- description: A short comment about the entry (max 150 chars). "comment" is ignored for the "delete" action.
name: comment
description: Add/Delete entry from the Organizational Block List.
name: proofpoint-tp-blocklist-add-or-delete-entry
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proofpoint-tp-safelist-add-entry
API: POST /api/v1/emailProtection/modules/spam/orgSafeList?clusterId=
Inputs:
ArgumentName: action, PossibleValues: String:add, IsArray: No, Required: Yes, defaultValue: add, Note: (hardcoded not an arg)
ArgumentName: attribute, PossibleValues: String:from, hfrom, ip, host, help, rcpt, IsArray: No, Required: Yes, Note: See Table 1 (page 4)
ArgumentName: operator, PossibleValues: String: equal, not_equal, contain, not_contain, IsArray: No, Required: Yes, Note: See Table 1 (page 4)
ArgumentName: value, PossibleValues: String, IsArray: No, Required: Yes, Note: Entry to be added to list
ArgumentName: comment, PossibleValues: String, IsArray: No, Required: No, Note: A short comment about the entry (max 150 chars).

name: comment
description: Add/Delete entry from the Organizational Block List.
name: proofpoint-tp-blocklist-add-or-delete-entry
outputs:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proofpoint-tp-blocklist-delete-entry
API: POST /api/v1/emailProtection/modules/spam/orgBlockList?clusterId=
Inputs:
ArgumentName: action, PossibleValues: String:delete, IsArray: No, Required: Yes, defaultValue: delete, Note: (hardcoded not an arg)
ArgumentName: attribute, PossibleValues: String:from, hfrom, ip, host, help, rcpt, IsArray: No, Required: Yes, Note: See Table 2 (page 8)
ArgumentName: operator, PossibleValues: String: equal, not_equal, contain,not_contain, IsArray: No, Required: Yes, defaultValue: add, Note: See Table 2 (page 8)
ArgumentName: value, PossibleValues: String, IsArray: No, Required: Yes, Note: Entry to be added to list

@thefrieddan1
Copy link
Contributor

Hi @ahopstetter-sce
I didnt hear from you after my comments on your contribution.
Please let me know if there is anything I can help with?

Thanks

@RotemAmit
Copy link
Contributor

Hi @ahopstetter-sce,
we haven’t heard from you in a while.
Do you need any help with the pull request?
Please feel free to reach out to @DeanArbel or me here or on Slack.
Thanks again for contributing to our repo, we really appreciate your effort as part of this contribution, but we want to release this pack to the marketplace soon, so unless you answer by August 13th, we will close the contribution and continue the development as an inside effort.

@ahopstetter-sce
Copy link
Contributor Author

Hi @ahopstetter-sce Thanks again for your contribution. Here are the comments in accordance to the design doc:

  1. Separate the command add-or-delete into 2 different commands.
  2. Rename the get commands to list.
  3. Add pagination to the list commands.

Hey @thefrieddan1 .... sorry for the delayed response ..... yea I will get to work on these modifications for you ASAP ..... I was out for the last couple of weeks with a personal issue that suddently dominated my world but am over that now .... so in regaining focus I will get these items on my radar and work them to conclusion and get them pushed up as soon as humanly possible! :D Thanks!

@ahopstetter-sce
Copy link
Contributor Author

ahopstetter-sce commented Aug 20, 2024

Hi @ahopstetter-sce I didnt hear from you after my comments on your contribution. Please let me know if there is anything I can help with?

Thanks

Hey @thefrieddan1 .... I have all the requested changes implemented save one .... which is pagination ... are we implementing this in integrations where the underlying API does NOT support .... and only supports fetching the entire list in an API operation .... seems like an utter abuse of resources to implement a lipstick style client side pagination interface only to front end multiple "get all" calls to the API server-side? Is this what xsoar is desiring here?

@ahopstetter-sce
Copy link
Contributor Author

All requested items have been completed, commited and pushed.

@thefrieddan1 thefrieddan1 merged commit dfb547c into demisto:contrib/ahopstetter-sce_xsoar-contrib_ahopstetter-sce_and_randomizerxd-ProofpointThreatProtection Aug 25, 2024
15 of 16 checks passed
Copy link

Thank you for your contribution. Your external PR has been merged and the changes are now included in an internal PR for further review. The internal PR will be merged to the master branch within 3 business days.

thefrieddan1 added a commit that referenced this pull request Aug 25, 2024
* Proofpoint ThreatProtection integration content-pack. (#35270)

* Proofpoint ThreatProtection integration content-pack.

* Updates to pass XSOAR Circle-CI validation checks.

* Documentation review updates.

* Added pre-emptive testload of uvicorn server at pytest load time, enabling full client mock code if uvicorn run fails on load.

* Updates to the description.md.

* Bugfixs for auth headers.

* Rename get commands to list, split add/delete commands and fixup human readable returns.

* Added limit and all_results arguments to list commands.

* Fixed up the yaml file and updated the tests file to reflect new commands.

* change url display name

* add integration to conf.json

* revert conf.json changes.

---------

Co-authored-by: Danny_Fried <[email protected]>

* update conf.json

* bump docker image.

---------

Co-authored-by: ahopstetter-sce <[email protected]>
Co-authored-by: Danny_Fried <[email protected]>
maimorag pushed a commit that referenced this pull request Aug 27, 2024
* Proofpoint ThreatProtection integration content-pack. (#35270)

* Proofpoint ThreatProtection integration content-pack.

* Updates to pass XSOAR Circle-CI validation checks.

* Documentation review updates.

* Added pre-emptive testload of uvicorn server at pytest load time, enabling full client mock code if uvicorn run fails on load.

* Updates to the description.md.

* Bugfixs for auth headers.

* Rename get commands to list, split add/delete commands and fixup human readable returns.

* Added limit and all_results arguments to list commands.

* Fixed up the yaml file and updated the tests file to reflect new commands.

* change url display name

* add integration to conf.json

* revert conf.json changes.

---------

Co-authored-by: Danny_Fried <[email protected]>

* update conf.json

* bump docker image.

---------

Co-authored-by: ahopstetter-sce <[email protected]>
Co-authored-by: Danny_Fried <[email protected]>
xsoar-bot pushed a commit to xsoar-contrib/content that referenced this pull request Sep 10, 2024
* Proofpoint ThreatProtection integration content-pack. (demisto#35270)

* Proofpoint ThreatProtection integration content-pack.

* Updates to pass XSOAR Circle-CI validation checks.

* Documentation review updates.

* Added pre-emptive testload of uvicorn server at pytest load time, enabling full client mock code if uvicorn run fails on load.

* Updates to the description.md.

* Bugfixs for auth headers.

* Rename get commands to list, split add/delete commands and fixup human readable returns.

* Added limit and all_results arguments to list commands.

* Fixed up the yaml file and updated the tests file to reflect new commands.

* change url display name

* add integration to conf.json

* revert conf.json changes.

---------

Co-authored-by: Danny_Fried <[email protected]>

* update conf.json

* bump docker image.

---------

Co-authored-by: ahopstetter-sce <[email protected]>
Co-authored-by: Danny_Fried <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Community Contribution Form Filled Whether contribution form filled or not. Contribution Thank you! Contributions are always welcome! docs-approved External PR Xsoar Support Level Indicates that the contribution is for XSOAR supported pack
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants