Repository navigation
OpenCTI 3.0.0: reputation commands, creation commands and fixes - #46336
romain-filigran wants to merge 9 commits into
Conversation
- Add the ip, domain, email, url and file reputation commands: observable and indicator lookup, relationships (context, markdown, XSOAR relationships) and a DBot score from x_opencti_score with suspicious/malicious thresholds. - Add the creation commands (malware, vulnerability, intrusion set, threat actor group, campaign, grouping, report, incident response) and opencti-add-object-to-container. - Fix opencti-observable-field-update with recent pycti versions. - Use the demisto/opencti image (pycti 6.9.0), tested with OpenCTI 6.9.0 and 7.261. - Update the integration logo and the pack description. - Add unit tests and real command examples to the README.
|
|
|
Thank you for your contribution. Your generosity and caring are unrivaled! Make sure to register your contribution by filling the Contribution Registration form, so our content wizard @kamalq97 will know the proposed changes are ready to be reviewed. |
|
Hi @romain-filigran, thanks for contributing to the XSOAR marketplace. To receive credit for your generous contribution please follow this link. |
🤖 AI-Powered Code Review AvailableHi @kamalq97, you can leverage AI-powered code review to assist with this PR! Available Commands:
|
|
Hi @ilappe, Sorry for the long silence on #43522, and thank you for your patience. This PR resumes and continues the work of #43522, which was closed for inactivity. It is based on the current master as a single commit, since the base branch of #43522 is now several months behind. It addresses the review comments of #43522 (pre-commit failures, context paths, defaultValue, date formats, release notes wording, unit tests) and adds:
It is ready for review. Thanks |
|
@marketplace-ai-reviewer start review |
|
🤖 Analysis started. Please wait for results... |
🤖 AI Review DisclaimerThis review was generated by an AI-powered tool and may contain inaccuracies. Please be advised, and we extend our sincere apologies for any inconvenience this may cause. |
marketplace-ai-reviewer
left a comment
There was a problem hiding this comment.
Hi there, thank you for your contribution!
Overall, the updates look great, but there are a few key areas that need attention across the pack:
- YAML & Documentation: Fix schema casing issues (use lowercase
defaultvalue) and standardize parameter descriptions in the YAML, then regenerate the README usingdemisto-sdk generate-docsto fix missing table columns and command examples. - Release Notes & Code: Ensure command references in the release notes follow Cortex XSOAR entity styling (
***command***), use safe argument parsing viaarg_to_number(), and log full tracebacks for errors. - Assets & Config: Clean up the entry in
.secrets-ignoreto only list the secret value, and consider adjusting the integration logo for better contrast and legibility.
Please take a look at these updates, and let us know once you've had a chance to review them!
Additionally, please address the following file-level notes:
Packs/OpenCTI/Integrations/OpenCTI/OpenCTI_image.png: The logo suffers from low contrast and legibility issues. The 'OpenCTI' text is dark blue against a dark background, making it difficult to read, and the subtext 'by Filigran' is unreadable at small scale. Please consider updating the image with higher-contrast text and removing or simplifying small subtext so the logo remains clearly legible at integration thumbnail sizes.
@ilappe please review and approve the results generated by the AI Reviewer by responding 👍 on this comment.
| name: malware_types | ||
| required: false | ||
| - auto: PREDEFINED | ||
| defaultValue: "false" |
There was a problem hiding this comment.
| defaultValue: "false" | |
| defaultvalue: "false" |
Cortex XSOAR YAML schema keys are case-sensitive. Please use defaultvalue in lowercase instead of defaultValue.
| type: String | ||
| - arguments: | ||
| - auto: PREDEFINED | ||
| defaultValue: grouping |
There was a problem hiding this comment.
| defaultValue: grouping | |
| defaultvalue: grouping |
Cortex XSOAR YAML schema keys are case-sensitive. Please use defaultvalue in lowercase instead of defaultValue.
|
Hi @ilappe, Most of the comments are now fixed and pushed (8 commits), with a reply on each thread. I have one question about the two defaultValue comments (opencti-malware-create / is_family and opencti-add-object-to-container / container_type): should we really change defaultValue to defaultvalue there? As far as I understand, these are command arguments, and the demisto-sdk schema uses defaultValue (camelCase) for command arguments, while the lowercase defaultvalue is used for integration configuration parameters. The 17 other command arguments of this integration, and the command arguments of the other integrations in the repository, all use defaultValue. With defaultvalue, the default would most likely be ignored, for example by demisto-sdk generate-docs, which reads defaultValue. Could you confirm which one you expect? I’m happy to change it if needed. Thanks! |
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
Related Issues
Description
New major version of the OpenCTI pack (3.0.0), contributed by Filigran, the company behind OpenCTI.
This PR supersedes #43522, which was closed for inactivity. It is rebased on the current
masteras a single commit, and it addresses the review comments of #43522 (pre-commit failures, context paths,defaultValue, date formats, release notes wording, unit tests).Reputation commands (new)
x_opencti_score): good up to the Suspicious score threshold (default 20), suspicious up to the Malicious score threshold (default 70), malicious above it, unknown when the value is unknown to OpenCTI. The default thresholds give the same verdicts as the FeedOpenCTI pack.EntityRelationship) when Create relationships is enabled.IP,Domain,Account.Email,URL,File,DBotScore) plusOpenCTI.ObservableandOpenCTI.Indicator.Creation commands (new)
Fixes
update_fieldnow expects aninputlist). It is fixed.Docker image and compatibility
Testing
demisto-sdk validate -ganddemisto-sdk pre-commit(including the docker hooks) pass locally.Notes for reviewers
Packs/OpenCTI/.secrets-ignorelists test values flagged by the secrets scanner: documentation IP (203.0.113.42), test hashes, a GraphQL pagination cursor and context paths.Must have
relates: https://jira-dc.paloaltonetworks.com/browse/CIAC-18820