[orange-cyberdefense-enrichment-v3] internal-enrichment connector update#5873
Conversation
Contributor License Agreement✅ CLA signed 💚 Thank you @ocd-acauchy for signing the Contributor License Agreement! Your pull request can now be reviewed and merged. We appreciate your contribution to Filigran's open source projects! ❤️ This is an automated message from the Filigran CLA Bot. |
There was a problem hiding this comment.
Pull request overview
Updates the orange-cyberdefense-enrichment-v3 internal-enrichment connector by aligning dependencies with the stable Datalake library release, hardening identity handling during STIX import, and refreshing documentation screenshots for OpenCTI v7.
Changes:
- Bump
datalake-scriptsfrom3.0.0rc7to3.0.0. - Avoid
KeyErrorwhen checkingidentity_class/nameon identity objects by using.get(...). - Update README screenshot section headings and replace a screenshot asset.
Reviewed changes
Copilot reviewed 3 out of 8 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
internal-enrichment/orange-cyberdefense-enrichment-v3/src/requirements.txt |
Pins datalake-scripts to the stable 3.0.0 release. |
internal-enrichment/orange-cyberdefense-enrichment-v3/src/main.py |
Makes identity matching more resilient to missing keys during STIX object processing. |
internal-enrichment/orange-cyberdefense-enrichment-v3/media/Indicator_2.png |
Updates screenshot asset referenced by the README. |
internal-enrichment/orange-cyberdefense-enrichment-v3/README.md |
Adjusts screenshot section headings for v7 docs and references updated images. |
Comments suppressed due to low confidence (1)
internal-enrichment/orange-cyberdefense-enrichment-v3/src/main.py:450
self._process_object()can returnNone(e.g., for sightings whenocd_enrich_add_sightingsis false), but this loop dereferencesprocessed_object["type"]before theif processed_object is None: continueguard. This can raise a runtime exception. Move theNonecheck immediately after_process_object()(before any indexing), or make_process_object()always return a dict and use.get("type")defensively.
if (
self.ocd_enrich_add_createdby
and processed_object["type"] == "identity"
and processed_object.get("identity_class", None) == "organization"
and processed_object.get("name", None) == "Orange Cyberdefense"
):
self.identity = processed_object # pylint: disable=W0201
if processed_object is None:
continue
Ninoxe
left a comment
There was a problem hiding this comment.
Hi again @ocd-acauchy !
I think you can guess what I'm going to say: everything is good, but it has a conflict to resolve, just like the other PRs.
Thank you!
* chore: bump version of datalake python library * fix: bug with import of some identity objects * doc: update screenshots for v7
f03d428 to
10b96a6
Compare
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## master #5873 +/- ##
==========================================
- Coverage 39.22% 0.09% -39.13%
==========================================
Files 2082 1626 -456
Lines 124471 97657 -26814
==========================================
- Hits 48819 94 -48725
- Misses 75652 97563 +21911
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Proposed changes
Related issues
N/A
Checklist
Further comments
N/A
Closes #6120