howler-sentinel-plugin 0.2.0.dev512__tar.gz → 0.2.0.dev519__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/PKG-INFO +1 -1
  2. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/pyproject.toml +1 -1
  3. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/routes/ingest.py +5 -6
  4. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/LICENSE +0 -0
  5. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/README.md +0 -0
  6. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/__init__.py +0 -0
  7. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/actions/azure_emit_hash.py +0 -0
  8. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/actions/send_to_sentinel.py +0 -0
  9. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/actions/update_defender_xdr_alert.py +0 -0
  10. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/actions/update_defender_xdr_incident.py +0 -0
  11. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/config.py +0 -0
  12. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/manifest.yml +0 -0
  13. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/mapping/sentinel_incident.py +0 -0
  14. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/mapping/xdr_alert.py +0 -0
  15. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/mapping/xdr_alert_evidence.py +0 -0
  16. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/odm/__init__.py +0 -0
  17. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/odm/hit.py +0 -0
  18. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/odm/models/sentinel.py +0 -0
  19. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/routes/__init__.py +0 -0
  20. {howler_sentinel_plugin-0.2.0.dev512 → howler_sentinel_plugin-0.2.0.dev519}/sentinel/utils/tenant_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: howler-sentinel-plugin
3
- Version: 0.2.0.dev512
3
+ Version: 0.2.0.dev519
4
4
  Summary: A howler plugin for integration with Microsoft's Sentinel API
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "howler-sentinel-plugin"
3
- version = "0.2.0.dev512"
3
+ version = "0.2.0.dev519"
4
4
  description = "A howler plugin for integration with Microsoft's Sentinel API"
5
5
  authors = [{ name = "CCCS", email = "analysis-development@cyber.gc.ca" }]
6
6
  license = { text = "MIT" }
@@ -253,17 +253,15 @@ def _create_new_incident(
253
253
  )
254
254
 
255
255
  case_service.append_case_item(
256
- case.case_id,
256
+ case,
257
257
  item_type="hit",
258
258
  item_value=bundle_odm.howler.id,
259
259
  item_name=analytic,
260
260
  )
261
261
 
262
- # Re-fetch the case to get the latest saved state, then create the
263
- # "hits" folder so children can be nested inside it.
264
- case = datastore().case.get(case.case_id) or case
262
+ # Create the "hits" folder before adding children beneath it.
265
263
  hits_folder = case_service.get_parent_from_path(case, "hits", create_if_missing=True)
266
- datastore().case.save(case.case_id, case)
264
+ case.save()
267
265
 
268
266
  for child_id in child_hit_ids:
269
267
  child_hit = hit_service.get_hit(child_id, as_odm=True)
@@ -271,7 +269,7 @@ def _create_new_incident(
271
269
  child_name = f"{child_hit.howler.analytic} ({child_id})"
272
270
  try:
273
271
  case_service.append_case_item(
274
- case.case_id,
272
+ case,
275
273
  item_type="hit",
276
274
  item_value=child_id,
277
275
  item_parent=hits_folder.id if hits_folder else None,
@@ -280,6 +278,7 @@ def _create_new_incident(
280
278
  except Exception:
281
279
  logger.exception("Failed to add child hit %s to case", child_id)
282
280
 
281
+ case.save()
283
282
  datastore().case.commit()
284
283
 
285
284
  datastore().hit.commit()