howler-api 3.4.0.dev962__tar.gz → 3.4.0.dev971__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 (204) hide show
  1. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/PKG-INFO +1 -1
  2. howler_api-3.4.0.dev971/howler/odm/models/ecs/file.py +83 -0
  3. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/process.py +3 -3
  4. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/pyproject.toml +1 -1
  5. howler_api-3.4.0.dev962/howler/odm/models/ecs/file.py +0 -83
  6. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/README.md +0 -0
  7. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/__init__.py +0 -0
  8. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/__init__.py +0 -0
  9. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/add_label.py +0 -0
  10. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/add_to_bundle.py +0 -0
  11. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/change_field.py +0 -0
  12. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/demote.py +0 -0
  13. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/example_plugin.py +0 -0
  14. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/prioritization.py +0 -0
  15. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/promote.py +0 -0
  16. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/remove_from_bundle.py +0 -0
  17. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/remove_label.py +0 -0
  18. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/actions/transition.py +0 -0
  19. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/__init__.py +0 -0
  20. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/base.py +0 -0
  21. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/socket.py +0 -0
  22. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/__init__.py +0 -0
  23. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/action.py +0 -0
  24. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/analytic.py +0 -0
  25. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/auth.py +0 -0
  26. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/clue.py +0 -0
  27. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/configs.py +0 -0
  28. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/dossier.py +0 -0
  29. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/help.py +0 -0
  30. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/hit.py +0 -0
  31. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/notebook.py +0 -0
  32. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/overview.py +0 -0
  33. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/search.py +0 -0
  34. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/template.py +0 -0
  35. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/tool.py +0 -0
  36. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/user.py +0 -0
  37. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/utils/__init__.py +0 -0
  38. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/utils/etag.py +0 -0
  39. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/api/v1/view.py +0 -0
  40. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/app.py +0 -0
  41. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/README.md +0 -0
  42. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/__init__.py +0 -0
  43. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/classification.py +0 -0
  44. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/classification.yml +0 -0
  45. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/exceptions.py +0 -0
  46. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/loader.py +0 -0
  47. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/logging/__init__.py +0 -0
  48. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/logging/audit.py +0 -0
  49. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/logging/format.py +0 -0
  50. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/net.py +0 -0
  51. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/net_static.py +0 -0
  52. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/random_user.py +0 -0
  53. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/common/swagger.py +0 -0
  54. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/config.py +0 -0
  55. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/cronjobs/__init__.py +0 -0
  56. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/cronjobs/action_queue_worker.py +0 -0
  57. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/cronjobs/retention.py +0 -0
  58. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/cronjobs/rules.py +0 -0
  59. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/cronjobs/view_cleanup.py +0 -0
  60. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/README.md +0 -0
  61. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/__init__.py +0 -0
  62. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/bulk.py +0 -0
  63. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/collection.py +0 -0
  64. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/constants.py +0 -0
  65. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/exceptions.py +0 -0
  66. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/howler_store.py +0 -0
  67. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/migrations/fix_process.py +0 -0
  68. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/operations.py +0 -0
  69. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/schemas.py +0 -0
  70. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/store.py +0 -0
  71. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/support/__init__.py +0 -0
  72. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/support/build.py +0 -0
  73. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/support/schemas.py +0 -0
  74. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/datastore/types.py +0 -0
  75. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/error.py +0 -0
  76. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/README.md +0 -0
  77. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/__init__.py +0 -0
  78. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/generate_mitre.py +0 -0
  79. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/generate_sigma_rules.py +0 -0
  80. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/generate_tlds.py +0 -0
  81. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/reindex_data.py +0 -0
  82. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/external/wipe_databases.py +0 -0
  83. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/gunicorn_config.py +0 -0
  84. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/healthz.py +0 -0
  85. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/__init__.py +0 -0
  86. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/azure.py +0 -0
  87. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/discover.py +0 -0
  88. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/hit.py +0 -0
  89. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/oauth.py +0 -0
  90. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/search.py +0 -0
  91. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/workflow.py +0 -0
  92. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/helper/ws.py +0 -0
  93. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/README.md +0 -0
  94. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/__init__.py +0 -0
  95. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/base.py +0 -0
  96. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/charter.txt +0 -0
  97. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/helper.py +0 -0
  98. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/howler_enum.py +0 -0
  99. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/__init__.py +0 -0
  100. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/action.py +0 -0
  101. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/analytic.py +0 -0
  102. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/assemblyline.py +0 -0
  103. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/aws.py +0 -0
  104. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/azure.py +0 -0
  105. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/cbs.py +0 -0
  106. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/clue.py +0 -0
  107. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/config.py +0 -0
  108. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/dossier.py +0 -0
  109. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/__init__.py +0 -0
  110. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/agent.py +0 -0
  111. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/autonomous_system.py +0 -0
  112. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/client.py +0 -0
  113. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/cloud.py +0 -0
  114. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/code_signature.py +0 -0
  115. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/container.py +0 -0
  116. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/dns.py +0 -0
  117. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/egress.py +0 -0
  118. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/elf.py +0 -0
  119. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/email.py +0 -0
  120. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/error.py +0 -0
  121. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/event.py +0 -0
  122. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/faas.py +0 -0
  123. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/geo.py +0 -0
  124. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/group.py +0 -0
  125. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/hash.py +0 -0
  126. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/host.py +0 -0
  127. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/http.py +0 -0
  128. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/ingress.py +0 -0
  129. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/interface.py +0 -0
  130. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/network.py +0 -0
  131. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/observer.py +0 -0
  132. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/organization.py +0 -0
  133. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/os.py +0 -0
  134. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/pe.py +0 -0
  135. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/registry.py +0 -0
  136. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/related.py +0 -0
  137. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/rule.py +0 -0
  138. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/server.py +0 -0
  139. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/threat.py +0 -0
  140. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/tls.py +0 -0
  141. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/url.py +0 -0
  142. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/user.py +0 -0
  143. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/user_agent.py +0 -0
  144. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/ecs/vulnerability.py +0 -0
  145. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/gcp.py +0 -0
  146. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/hit.py +0 -0
  147. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/howler_data.py +0 -0
  148. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/lead.py +0 -0
  149. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/localized_label.py +0 -0
  150. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/overview.py +0 -0
  151. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/pivot.py +0 -0
  152. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/template.py +0 -0
  153. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/user.py +0 -0
  154. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/models/view.py +0 -0
  155. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/random_data.py +0 -0
  156. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/odm/randomizer.py +0 -0
  157. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/patched.py +0 -0
  158. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/plugins/__init__.py +0 -0
  159. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/plugins/config.py +0 -0
  160. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/__init__.py +0 -0
  161. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/README.md +0 -0
  162. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/__init__.py +0 -0
  163. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/counters.py +0 -0
  164. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/events.py +0 -0
  165. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/hash.py +0 -0
  166. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/lock.py +0 -0
  167. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/queues/__init__.py +0 -0
  168. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/queues/comms.py +0 -0
  169. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/queues/multi.py +0 -0
  170. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/queues/named.py +0 -0
  171. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/queues/priority.py +0 -0
  172. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/set.py +0 -0
  173. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/remote/datatypes/user_quota_tracker.py +0 -0
  174. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/security/__init__.py +0 -0
  175. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/security/socket.py +0 -0
  176. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/security/utils.py +0 -0
  177. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/__init__.py +0 -0
  178. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/action_service.py +0 -0
  179. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/analytic_service.py +0 -0
  180. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/auth_service.py +0 -0
  181. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/config_service.py +0 -0
  182. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/dossier_service.py +0 -0
  183. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/event_service.py +0 -0
  184. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/hit_service.py +0 -0
  185. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/jwt_service.py +0 -0
  186. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/lucene_service.py +0 -0
  187. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/notebook_service.py +0 -0
  188. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/overview_service.py +0 -0
  189. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/template_service.py +0 -0
  190. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/services/user_service.py +0 -0
  191. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/telemetry.py +0 -0
  192. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/__init__.py +0 -0
  193. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/annotations.py +0 -0
  194. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/chunk.py +0 -0
  195. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/compat.py +0 -0
  196. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/constants.py +0 -0
  197. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/dict_utils.py +0 -0
  198. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/isotime.py +0 -0
  199. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/list_utils.py +0 -0
  200. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/lucene.py +0 -0
  201. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/path.py +0 -0
  202. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/socket_utils.py +0 -0
  203. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/str_utils.py +0 -0
  204. {howler_api-3.4.0.dev962 → howler_api-3.4.0.dev971}/howler/utils/uid.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: howler-api
3
- Version: 3.4.0.dev962
3
+ Version: 3.4.0.dev971
4
4
  Summary: Howler - API server
5
5
  License: MIT
6
6
  Keywords: howler,alerting,gc,canada,cse-cst,cse,cst,cyber,cccs
@@ -0,0 +1,83 @@
1
+ from howler import odm
2
+ from howler.odm.models.ecs.code_signature import CodeSignature
3
+ from howler.odm.models.ecs.elf import ELF
4
+ from howler.odm.models.ecs.hash import Hashes
5
+ from howler.odm.models.ecs.pe import PE
6
+
7
+ # from howler.odm.models.ecs.x509 import X509
8
+
9
+ FILE_TYPE = ["file", "dir", "symlink"]
10
+
11
+
12
+ @odm.model(
13
+ index=True,
14
+ store=True,
15
+ description="A file is defined as a set of information that has been created on, or has existed on a filesystem.",
16
+ )
17
+ class File(odm.Model):
18
+ accessed: str | None = odm.Optional(odm.Date(description="Last time the file was accessed."))
19
+ attributes: list[str] | None = odm.Optional(odm.List(odm.Keyword(), description="Array of file attributes."))
20
+ created: str | None = odm.Optional(odm.Date(description="File creation time."))
21
+ ctime: str | None = odm.Optional(odm.Date(description="Last time the file attributes or metadata changed."))
22
+ device: str | None = odm.Optional(odm.Keyword(description="Device that is the source of the file."))
23
+ directory: str | None = odm.Optional(
24
+ odm.Keyword(
25
+ description="Directory where the file is located. It should include the drive letter, when appropriate."
26
+ )
27
+ )
28
+ drive_letter: str | None = odm.Optional(
29
+ odm.Keyword(description="Drive letter where the file is located. This field is only relevant on Windows.")
30
+ )
31
+ extension: str | None = odm.Optional(odm.Keyword(description="File extension, excluding the leading dot."))
32
+ fork_name: str | None = odm.Optional(
33
+ odm.Keyword(description="A fork is additional data associated with a filesystem object.")
34
+ )
35
+ gid: str | None = odm.Optional(odm.Keyword(description="Primary group ID (GID) of the file."))
36
+ group: str | None = odm.Optional(odm.Keyword(description="Primary group name of the file."))
37
+ inode: str | None = odm.Optional(odm.Keyword(description="Inode representing the file in the filesystem."))
38
+ mime_type: str | None = odm.Optional(
39
+ odm.Keyword(
40
+ description="MIME type should identify the format of the file or stream of "
41
+ "bytes using IANA official types, where possible."
42
+ )
43
+ )
44
+ mode: str | None = odm.Optional(odm.Keyword(description="Mode of the file in octal representation."))
45
+ mtime: str | None = odm.Optional(odm.Date(description="Last time the file content was modified."))
46
+ name: str | None = odm.Optional(
47
+ odm.Keyword(description="Name of the file including the extension, without the directory.")
48
+ )
49
+ owner: str | None = odm.Optional(odm.Keyword(description="File owner’s username."))
50
+ path: str | None = odm.Optional(
51
+ odm.Keyword(
52
+ description="Full path to the file, including the file name. "
53
+ "It should include the drive letter, when appropriate."
54
+ )
55
+ )
56
+ size: int | None = odm.Long(description="File size in bytes.", optional=True)
57
+ target_path: str | None = odm.Optional(odm.Keyword(description="Target path for symlinks."))
58
+ type: str | None = odm.Optional(odm.Enum(values=FILE_TYPE, description="File type (file, dir, or symlink)."))
59
+ uid: str | None = odm.Optional(
60
+ odm.Keyword(description="The user ID (UID) or security identifier (SID) of the file owner.")
61
+ )
62
+
63
+ code_signature: CodeSignature | None = odm.Optional(
64
+ odm.Compound(
65
+ CodeSignature,
66
+ description="These fields contain information about binary code signatures.",
67
+ )
68
+ )
69
+ elf: ELF | None = odm.Optional(
70
+ odm.Compound(
71
+ ELF,
72
+ description="These fields contain Linux Executable Linkable Format (ELF) metadata.",
73
+ )
74
+ )
75
+ hash: Hashes | None = odm.Optional(
76
+ odm.Compound(
77
+ Hashes,
78
+ description="Hashes, usually file hashes.",
79
+ )
80
+ )
81
+ pe: PE | None = odm.Optional(
82
+ odm.Compound(PE, description="These fields contain Windows Portable Executable (PE) metadata.")
83
+ )
@@ -79,7 +79,7 @@ class ParentParentProcess(odm.Model):
79
79
  odm.Compound(PE),
80
80
  description="Windows Portable Executable (PE) metadata.",
81
81
  )
82
- pid = odm.Optional(odm.Integer(description="Process id."))
82
+ pid = odm.Optional(odm.Long(description="Process id."))
83
83
  same_as_process = odm.Optional(
84
84
  odm.Boolean(
85
85
  description="This boolean is used to identify if a leader process is the same as the top level process."
@@ -141,7 +141,7 @@ class ParentProcess(odm.Model):
141
141
  odm.Compound(PE),
142
142
  description="Windows Portable Executable (PE) metadata.",
143
143
  )
144
- pid = odm.Optional(odm.Integer(description="Process id."))
144
+ pid = odm.Optional(odm.Long(description="Process id."))
145
145
  same_as_process = odm.Optional(
146
146
  odm.Boolean(
147
147
  description="This boolean is used to identify if a leader process is the same as the top level process."
@@ -203,7 +203,7 @@ class Process(odm.Model):
203
203
  odm.Compound(PE),
204
204
  description="Windows Portable Executable (PE) metadata.",
205
205
  )
206
- pid = odm.Optional(odm.Integer(description="Process id."))
206
+ pid = odm.Optional(odm.Long(description="Process id."))
207
207
  same_as_process = odm.Optional(
208
208
  odm.Boolean(
209
209
  description="This boolean is used to identify if a leader process is the same as the top level process."
@@ -152,7 +152,7 @@ suppress-none-returning = true
152
152
  [tool.poetry]
153
153
  package-mode = true
154
154
  name = "howler-api"
155
- version = "3.4.0.dev962"
155
+ version = "3.4.0.dev971"
156
156
  description = "Howler - API server"
157
157
  authors = [
158
158
  "Canadian Centre for Cyber Security <howler@cyber.gc.ca>",
@@ -1,83 +0,0 @@
1
- from typing import Optional
2
-
3
- from howler import odm
4
- from howler.odm.models.ecs.code_signature import CodeSignature
5
- from howler.odm.models.ecs.elf import ELF
6
- from howler.odm.models.ecs.hash import Hashes
7
- from howler.odm.models.ecs.pe import PE
8
-
9
- # from howler.odm.models.ecs.x509 import X509
10
-
11
- FILE_TYPE = ["file", "dir", "symlink"]
12
-
13
-
14
- @odm.model(
15
- index=True,
16
- store=True,
17
- description="A file is defined as a set of information that has been created on, or has existed on a filesystem.",
18
- )
19
- class File(odm.Model):
20
- accessed: Optional[str] = odm.Optional(odm.Date(description="Last time the file was accessed."))
21
- attributes: Optional[list[str]] = odm.Optional(odm.List(odm.Keyword(), description="Array of file attributes."))
22
- created: Optional[str] = odm.Optional(odm.Date(description="File creation time."))
23
- ctime: Optional[str] = odm.Optional(odm.Date(description="Last time the file attributes or metadata changed."))
24
- device: Optional[str] = odm.Optional(odm.Keyword(description="Device that is the source of the file."))
25
- directory: Optional[str] = odm.Optional(
26
- odm.Keyword(
27
- description="Directory where the file is located. It should include the drive letter, when appropriate."
28
- )
29
- )
30
- drive_letter: Optional[str] = odm.Optional(
31
- odm.Keyword(description="Drive letter where the file is located. This field is only relevant on Windows.")
32
- )
33
- extension: Optional[str] = odm.Optional(odm.Keyword(description="File extension, excluding the leading dot."))
34
- fork_name: Optional[str] = odm.Optional(
35
- odm.Keyword(description="A fork is additional data associated with a filesystem object.")
36
- )
37
- gid: Optional[str] = odm.Optional(odm.Keyword(description="Primary group ID (GID) of the file."))
38
- group: Optional[str] = odm.Optional(odm.Keyword(description="Primary group name of the file."))
39
- inode: Optional[str] = odm.Optional(odm.Keyword(description="Inode representing the file in the filesystem."))
40
- mime_type: Optional[str] = odm.Optional(
41
- odm.Keyword(
42
- description="MIME type should identify the format of the file or stream of "
43
- "bytes using IANA official types, where possible."
44
- )
45
- )
46
- mode: Optional[str] = odm.Optional(odm.Keyword(description="Mode of the file in octal representation."))
47
- mtime: Optional[str] = odm.Optional(odm.Date(description="Last time the file content was modified."))
48
- name: Optional[str] = odm.Optional(
49
- odm.Keyword(description="Name of the file including the extension, without the directory.")
50
- )
51
- owner: Optional[str] = odm.Optional(odm.Keyword(description="File owner’s username."))
52
- path: Optional[str] = odm.Optional(
53
- odm.Keyword(
54
- description="Full path to the file, including the file name. "
55
- "It should include the drive letter, when appropriate."
56
- )
57
- )
58
- size: Optional[int] = odm.Integer(description="File size in bytes.", optional=True)
59
- target_path: Optional[str] = odm.Optional(odm.Keyword(description="Target path for symlinks."))
60
- type: Optional[str] = odm.Optional(odm.Enum(values=FILE_TYPE, description="File type (file, dir, or symlink)."))
61
- uid: Optional[str] = odm.Optional(
62
- odm.Keyword(description="The user ID (UID) or security identifier (SID) of the file owner.")
63
- )
64
-
65
- code_signature: Optional[CodeSignature] = odm.Optional(
66
- odm.Compound(
67
- CodeSignature,
68
- description="These fields contain information about binary code signatures.",
69
- )
70
- )
71
- elf: Optional[ELF] = odm.Optional(
72
- odm.Compound(
73
- ELF,
74
- description="These fields contain Linux Executable Linkable Format (ELF) metadata.",
75
- )
76
- )
77
- hash: Optional[Hashes] = odm.Optional(
78
- odm.Compound(
79
- Hashes,
80
- description="These fields contain Windows Portable Executable (PE) metadata.",
81
- )
82
- )
83
- pe: Optional[PE] = odm.Optional(odm.Compound(PE, description="Hashes, usually file hashes."))