-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Gophish Integration #5
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
base: eval-pr-1444-target-1758210056979
Are you sure you want to change the base?
feat: Gophish Integration #5
Conversation
…for campaign data
…aign from Gophish API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 issues found across 3 files
Prompt for AI agents (all 4 issues)
Understand the root cause of the following 4 issues and fix them.
<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml">
<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml:6">
doc_url anchor references listing campaigns instead of campaign results; link likely misleading.</violation>
</file>
<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml">
<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:21">
Remove trailing slash from the endpoint to align with other Gophish commands and avoid potential redirects.
DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low-impact style/consistency issue; trailing slash unlikely to cause functional problems or meaningful redirects. Not worth reporting per guidelines.</violation>
<violation number="2" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:26">
Fix typo in comment: replace "exeed" with "exceed" (twice) for clarity.</violation>
</file>
<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign.yml">
<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign.yml:6">
doc_url points to the list endpoint section ("get-campaigns") instead of the single campaign action. Link to the campaigns page root or the correct anchor for single campaign.</violation>
</file>
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai
to give feedback, ask questions, or re-run the review.
title: Get campaign results | ||
description: Get a campaign's results from Gophish. | ||
display_group: Gophish | ||
doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc_url anchor references listing campaigns instead of campaign results; link likely misleading.
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml at line 6:
<comment>doc_url anchor references listing campaigns instead of campaign results; link likely misleading.</comment>
<file context>
@@ -0,0 +1,29 @@
+ title: Get campaign results
+ description: Get a campaign's results from Gophish.
+ display_group: Gophish
+ doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
+ namespace: tools.gophish
+ name: get_campaign_results
</file context>
[internal] Confidence score: 8/10
[internal] Posted by: General AI Review Agent
headers: | ||
Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }} | ||
|
||
# This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in comment: replace "exeed" with "exceed" (twice) for clarity.
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 26:
<comment>Fix typo in comment: replace "exeed" with "exceed" (twice) for clarity.</comment>
<file context>
@@ -0,0 +1,38 @@
+ headers:
+ Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }}
+
+ # This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps.
+ - ref: parse_campaigns_list
+ action: core.script.run_python
</file context>
[internal] Confidence score: 10/10
[internal] Posted by: General AI Review Agent
- ref: list_campaigns | ||
action: core.http_request | ||
args: | ||
url: ${{ inputs.base_url }}/api/campaigns/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove trailing slash from the endpoint to align with other Gophish commands and avoid potential redirects.
DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• GPT-5: Low-impact style/consistency issue; trailing slash unlikely to cause functional problems or meaningful redirects. Not worth reporting per guidelines.
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 21:
<comment>Remove trailing slash from the endpoint to align with other Gophish commands and avoid potential redirects.
DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Low-impact style/consistency issue; trailing slash unlikely to cause functional problems or meaningful redirects. Not worth reporting per guidelines.</comment>
<file context>
@@ -0,0 +1,38 @@
+ - ref: list_campaigns
+ action: core.http_request
+ args:
+ url: ${{ inputs.base_url }}/api/campaigns/
+ method: GET
+ headers:
</file context>
[internal] Confidence score: 8/10
[internal] Posted by: General AI Review Agent
title: Get campaign | ||
description: Get a campaign from Gophish. | ||
display_group: Gophish | ||
doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc_url points to the list endpoint section ("get-campaigns") instead of the single campaign action. Link to the campaigns page root or the correct anchor for single campaign.
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign.yml at line 6:
<comment>doc_url points to the list endpoint section ("get-campaigns") instead of the single campaign action. Link to the campaigns page root or the correct anchor for single campaign.</comment>
<file context>
@@ -0,0 +1,29 @@
+ title: Get campaign
+ description: Get a campaign from Gophish.
+ display_group: Gophish
+ doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
+ namespace: tools.gophish
+ name: get_campaign
</file context>
[internal] Confidence score: 8/10
[internal] Posted by: General AI Review Agent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3 issues found across 3 files
Prompt for AI agents (all 3 issues)
Understand the root cause of the following 3 issues and fix them.
<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml">
<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml:6">
doc_url points to the "get-campaigns" (list campaigns) section, but this action retrieves campaign results; link is likely incorrect.</violation>
</file>
<file name="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml">
<violation number="1" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:26">
Typo in comment: "exeed" should be "exceed" (appears twice on this line).</violation>
<violation number="2" location="packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml:35">
Trailing whitespace at end of line. Remove to adhere to style and avoid noisy diffs.
*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: functionalImpact.*
DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Minor formatting-only issue; negligible impact. Filter out.</violation>
</file>
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai
to give feedback, ask questions, or re-run the review.
title: Get campaign results | ||
description: Get a campaign's results from Gophish. | ||
display_group: Gophish | ||
doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doc_url points to the "get-campaigns" (list campaigns) section, but this action retrieves campaign results; link is likely incorrect.
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/get_campaign_results.yml at line 6:
<comment>doc_url points to the "get-campaigns" (list campaigns) section, but this action retrieves campaign results; link is likely incorrect.</comment>
<file context>
@@ -0,0 +1,29 @@
+ title: Get campaign results
+ description: Get a campaign's results from Gophish.
+ display_group: Gophish
+ doc_url: https://docs.getgophish.com/api-documentation/campaigns#get-campaigns
+ namespace: tools.gophish
+ name: get_campaign_results
</file context>
[internal] Confidence score: 8/10
[internal] Posted by: General AI Review Agent
headers: | ||
Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }} | ||
|
||
# This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo in comment: "exeed" should be "exceed" (appears twice on this line).
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 26:
<comment>Typo in comment: "exeed" should be "exceed" (appears twice on this line).</comment>
<file context>
@@ -0,0 +1,38 @@
+ headers:
+ Authorization: Bearer ${{ SECRETS.gophish.GOPHISH_API_KEY }}
+
+ # This is needed because the API will return results and timelines for all campaigns. This can exeed the max size of workflow data steps very easily. For example a campaign with 1,000 recipients will return 11,000 lines of just results, in addition to the at least 1000 timeline items which are each another 8 lines of data. Very quickly this can exeed the max size of workflow data steps.
+ - ref: parse_campaigns_list
+ action: core.script.run_python
</file context>
[internal] Confidence score: 10/10
[internal] Posted by: General AI Review Agent
script: | | ||
def main(data): | ||
return [ | ||
{"id": campaign["id"], "name": campaign["name"]} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trailing whitespace at end of line. Remove to adhere to style and avoid noisy diffs.
DEV MODE: This violation would have been filtered out by screening filters. Failing filters: functionalImpact.
DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• GPT-5: Minor formatting-only issue; negligible impact. Filter out.
Prompt for AI agents
Address the following comment on packages/tracecat-registry/tracecat_registry/templates/tools/gophish/list_campaigns.yml at line 35:
<comment>Trailing whitespace at end of line. Remove to adhere to style and avoid noisy diffs.
*DEV MODE: This violation would have been filtered out by screening filters. Failing filters: functionalImpact.*
DEV MODE: This violation would have been filtered out by GPT-5.
Reasoning:
• **GPT-5**: Minor formatting-only issue; negligible impact. Filter out.</comment>
<file context>
@@ -0,0 +1,38 @@
+ script: |
+ def main(data):
+ return [
+ {"id": campaign["id"], "name": campaign["name"]}
+ for campaign in data
+ ]
</file context>
[internal] Confidence score: 9/10
[internal] Posted by: General AI Review Agent
Created an integration for Gophish which is an Open-Source Phishing Framework.
Created all commands and documented that are in the API Docs: https://docs.getgophish.com/api-documentation/
List of Commands:
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
gophish
Screenshots / Recordings
Steps to QA
Run the following Workflow:
testing-gophish.yaml
Summary by cubic
Adds a full Gophish integration to manage campaigns, groups, landing pages, sending profiles, and templates. Also updates docs and adds a Gophish icon.
New Features
Migration