assemblyline 4.7.2.dev43__tar.gz → 4.7.2.dev45__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 (179) hide show
  1. {assemblyline-4.7.2.dev43/assemblyline.egg-info → assemblyline-4.7.2.dev45}/PKG-INFO +1 -1
  2. assemblyline-4.7.2.dev45/assemblyline/VERSION +1 -0
  3. assemblyline-4.7.2.dev45/assemblyline/common/net.py +131 -0
  4. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45/assemblyline.egg-info}/PKG-INFO +1 -1
  5. assemblyline-4.7.2.dev43/assemblyline/VERSION +0 -1
  6. assemblyline-4.7.2.dev43/assemblyline/common/net.py +0 -93
  7. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/LICENCE.md +0 -0
  8. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/MANIFEST.in +0 -0
  9. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/README.md +0 -0
  10. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/__init__.py +0 -0
  11. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/cachestore/__init__.py +0 -0
  12. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/__init__.py +0 -0
  13. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/archiving.py +0 -0
  14. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/attack_map.py +0 -0
  15. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/backupmanager.py +0 -0
  16. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/banner.py +0 -0
  17. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/bundling.py +0 -0
  18. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/caching.py +0 -0
  19. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/chunk.py +0 -0
  20. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/classification.py +0 -0
  21. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/classification.yml +0 -0
  22. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/cleanup_filestore.py +0 -0
  23. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/codec.py +0 -0
  24. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/comms.py +0 -0
  25. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/constants.py +0 -0
  26. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/custom.magic +0 -0
  27. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/custom.yara +0 -0
  28. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/dict_utils.py +0 -0
  29. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/digests.py +0 -0
  30. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/dispatcher.py +0 -0
  31. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/entropy.py +0 -0
  32. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/exceptions.py +0 -0
  33. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/file.py +0 -0
  34. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/forge.py +0 -0
  35. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/heuristics.py +0 -0
  36. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/hexdump.py +0 -0
  37. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/identify.py +0 -0
  38. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/identify_defaults.py +0 -0
  39. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/importing.py +0 -0
  40. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/iprange.py +0 -0
  41. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/isotime.py +0 -0
  42. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/log.py +0 -0
  43. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/logformat.py +0 -0
  44. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/lucene.lark +0 -0
  45. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/memory_zip.py +0 -0
  46. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/metrics.py +0 -0
  47. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/net_static.py +0 -0
  48. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/null.py +0 -0
  49. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/path.py +0 -0
  50. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/postprocess.py +0 -0
  51. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/random_user.py +0 -0
  52. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/security.py +0 -0
  53. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/signaturing.py +0 -0
  54. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/str_utils.py +0 -0
  55. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/tag_safelist.yml +0 -0
  56. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/tagging.py +0 -0
  57. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/threading.py +0 -0
  58. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/uid.py +0 -0
  59. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/version.py +0 -0
  60. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/__init__.py +0 -0
  61. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/al.py +0 -0
  62. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/alert.py +0 -0
  63. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/common.py +0 -0
  64. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/__init__.py +0 -0
  65. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/bulk.py +0 -0
  66. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/collection.py +0 -0
  67. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/exceptions.py +0 -0
  68. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/helper.py +0 -0
  69. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/store.py +0 -0
  70. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/__init__.py +0 -0
  71. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/build.py +0 -0
  72. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/schemas.py +0 -0
  73. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/__init__.py +0 -0
  74. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/__init__.py +0 -0
  75. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/azure.py +0 -0
  76. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/base.py +0 -0
  77. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/ftp.py +0 -0
  78. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/http.py +0 -0
  79. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/local.py +0 -0
  80. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/s3.py +0 -0
  81. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/sftp.py +0 -0
  82. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/__init__.py +0 -0
  83. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/base.py +0 -0
  84. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/common.py +0 -0
  85. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/__init__.py +0 -0
  86. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/alert.py +0 -0
  87. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/alerter_heartbeat.py +0 -0
  88. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/archive_heartbeat.py +0 -0
  89. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/changes.py +0 -0
  90. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/dispatcher_heartbeat.py +0 -0
  91. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/dispatching.py +0 -0
  92. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/elastic_heartbeat.py +0 -0
  93. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/expiry_heartbeat.py +0 -0
  94. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/ingest_heartbeat.py +0 -0
  95. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/metrics.py +0 -0
  96. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/retrohunt_heartbeat.py +0 -0
  97. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/scaler_heartbeat.py +0 -0
  98. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/scaler_status_heartbeat.py +0 -0
  99. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/service_heartbeat.py +0 -0
  100. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/service_timing_heartbeat.py +0 -0
  101. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/submission.py +0 -0
  102. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/task.py +0 -0
  103. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/vacuum_heartbeat.py +0 -0
  104. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/__init__.py +0 -0
  105. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/actions.py +0 -0
  106. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/alert.py +0 -0
  107. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/apikey.py +0 -0
  108. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/badlist.py +0 -0
  109. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/cached_file.py +0 -0
  110. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/config.py +0 -0
  111. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/emptyresult.py +0 -0
  112. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/error.py +0 -0
  113. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/file.py +0 -0
  114. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/filescore.py +0 -0
  115. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/heuristic.py +0 -0
  116. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/__init__.py +0 -0
  117. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/file.py +0 -0
  118. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/filetypes/__init__.py +0 -0
  119. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/filetypes/pe.py +0 -0
  120. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/ontology.py +0 -0
  121. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/__init__.py +0 -0
  122. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/antivirus.py +0 -0
  123. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/http.py +0 -0
  124. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/malware_config.py +0 -0
  125. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/network.py +0 -0
  126. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/process.py +0 -0
  127. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/sandbox.py +0 -0
  128. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/signature.py +0 -0
  129. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/replay.py +0 -0
  130. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/result.py +0 -0
  131. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/retrohunt.py +0 -0
  132. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/safelist.py +0 -0
  133. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/service.py +0 -0
  134. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/service_delta.py +0 -0
  135. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/signature.py +0 -0
  136. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/statistics.py +0 -0
  137. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission.py +0 -0
  138. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission_summary.py +0 -0
  139. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission_tree.py +0 -0
  140. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/tagging.py +0 -0
  141. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user.py +0 -0
  142. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user_favorites.py +0 -0
  143. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user_settings.py +0 -0
  144. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/workflow.py +0 -0
  145. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/__init__.py +0 -0
  146. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/create_test_data.py +0 -0
  147. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/sample_rules.yar +0 -0
  148. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/sample_suricata.rules +0 -0
  149. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/randomizer.py +0 -0
  150. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/py.typed +0 -0
  151. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/__init__.py +0 -0
  152. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/__init__.py +0 -0
  153. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/cache.py +0 -0
  154. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/counters.py +0 -0
  155. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/daily_quota_tracker.py +0 -0
  156. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/events.py +0 -0
  157. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/exporting_counter.py +0 -0
  158. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/hash.py +0 -0
  159. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/lock.py +0 -0
  160. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/__init__.py +0 -0
  161. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/comms.py +0 -0
  162. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/multi.py +0 -0
  163. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/named.py +0 -0
  164. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/priority.py +0 -0
  165. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/set.py +0 -0
  166. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/user_quota_tracker.py +0 -0
  167. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/__init__.py +0 -0
  168. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/cli.py +0 -0
  169. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/pubsub_reader.py +0 -0
  170. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/suricata_importer.py +0 -0
  171. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/yara_importer.py +0 -0
  172. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/SOURCES.txt +0 -0
  173. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/dependency_links.txt +0 -0
  174. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/entry_points.txt +0 -0
  175. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/requires.txt +0 -0
  176. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/top_level.txt +0 -0
  177. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/pyproject.toml +0 -0
  178. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/setup.cfg +0 -0
  179. {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline
3
- Version: 4.7.2.dev43
3
+ Version: 4.7.2.dev45
4
4
  Summary: Assemblyline 4 - Automated malware analysis framework
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-base
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.7.2.dev45
@@ -0,0 +1,131 @@
1
+ from ipaddress import ip_address, IPv4Network
2
+ import socket
3
+ import os
4
+ import functools
5
+
6
+
7
+ from assemblyline.common.net_static import TLDS_ALPHA_BY_DOMAIN, TLDS_SPECIAL_BY_DOMAIN
8
+ SYSTEM_LOCAL_TLD = os.getenv('SYSTEM_LOCAL_TLD', '')
9
+
10
+
11
+ def is_valid_port(value: int) -> bool:
12
+ try:
13
+ if 1 <= int(value) <= 65535:
14
+ return True
15
+ except ValueError:
16
+ pass
17
+
18
+ return False
19
+
20
+
21
+ @functools.cache
22
+ def find_top_level_domains() -> set[str]:
23
+ """Combine (once and memoize) the three different sources of TLD."""
24
+ single_label_special = {d for d in TLDS_SPECIAL_BY_DOMAIN if '.' not in d}
25
+ local_tlds = {
26
+ tld.strip().strip('.').upper()
27
+ for tld in SYSTEM_LOCAL_TLD.split(";")
28
+ if tld.strip().strip('.')
29
+ }
30
+ return TLDS_ALPHA_BY_DOMAIN | single_label_special | local_tlds
31
+
32
+
33
+ def is_valid_domain(domain: str) -> bool:
34
+ """
35
+ Validate a domain name.
36
+
37
+ Checks:
38
+ - No @ symbol
39
+ - Each label contains only alphanumeric characters or hyphens
40
+ - No leading or trailing hyphens in labels
41
+ - TLD is a recognized top-level domain
42
+ """
43
+ if "@" in domain or not domain:
44
+ return False
45
+
46
+ labels = domain.split(".")
47
+ for label in labels:
48
+ if not label or label.startswith("-") or label.endswith("-"):
49
+ return False
50
+ if not all(c.isalnum() or c == "-" for c in label):
51
+ return False
52
+
53
+ if len(labels) < 2:
54
+ return False
55
+
56
+ tld = labels[-1].upper()
57
+ if not tld.isascii():
58
+ try:
59
+ tld = tld.encode('idna').decode('ascii').upper()
60
+ except ValueError:
61
+ return False
62
+
63
+ combined_tlds = find_top_level_domains()
64
+ if tld in combined_tlds:
65
+ return True
66
+
67
+ domain_upper = domain.upper()
68
+ return any(domain_upper.endswith(d) for d in TLDS_SPECIAL_BY_DOMAIN)
69
+
70
+
71
+ def is_valid_ip(ip: str) -> bool:
72
+ parts = ip.split(".")
73
+ if len(parts) == 4:
74
+ for p in parts:
75
+ try:
76
+ if not (0 <= int(p) <= 255):
77
+ return False
78
+ except ValueError:
79
+ return False
80
+
81
+ if int(parts[0]) == 0:
82
+ return False
83
+
84
+ if int(parts[3]) == 0:
85
+ return False
86
+
87
+ return True
88
+
89
+ return False
90
+
91
+
92
+ def is_ip_in_network(ip: str, network: IPv4Network) -> bool:
93
+ if not is_valid_ip(ip):
94
+ return False
95
+
96
+ return ip_address(ip) in network
97
+
98
+
99
+ def is_valid_email(email: str) -> bool:
100
+ """
101
+ Validate an email address.
102
+
103
+ Checks:
104
+ - Exactly one @ symbol
105
+ - Non-empty local and domain parts
106
+ - Domain passes is_valid_domain()
107
+ - Unquoted local part: no leading/trailing dots, no consecutive dots
108
+ - Quoted local part (e.g., "user..name"): allowed as-is
109
+ """
110
+ if email.count("@") != 1:
111
+ return False
112
+
113
+ local, domain = email.rsplit("@", 1)
114
+
115
+ if not local or not domain:
116
+ return False
117
+
118
+ if not is_valid_domain(domain):
119
+ return False
120
+
121
+ if local.startswith('"') and local.endswith('"'):
122
+ return len(local) > 2
123
+
124
+ if local.startswith(".") or local.endswith(".") or ".." in local:
125
+ return False
126
+
127
+ return True
128
+
129
+
130
+ def get_hostname() -> str:
131
+ return socket.gethostname()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline
3
- Version: 4.7.2.dev43
3
+ Version: 4.7.2.dev45
4
4
  Summary: Assemblyline 4 - Automated malware analysis framework
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-base
6
6
  Author: CCCS Assemblyline development team
@@ -1 +0,0 @@
1
- 4.7.2.dev43
@@ -1,93 +0,0 @@
1
- from ipaddress import ip_address, IPv4Network
2
- import socket
3
- import os
4
- import functools
5
-
6
-
7
- from assemblyline.common.net_static import TLDS_ALPHA_BY_DOMAIN, TLDS_SPECIAL_BY_DOMAIN
8
- SYSTEM_LOCAL_TLD = os.getenv('SYSTEM_LOCAL_TLD', '')
9
-
10
-
11
- def is_valid_port(value: int) -> bool:
12
- try:
13
- if 1 <= int(value) <= 65535:
14
- return True
15
- except ValueError:
16
- pass
17
-
18
- return False
19
-
20
-
21
- @functools.cache
22
- def find_top_level_domains():
23
- """Combine (once and memoize) the three different sources of TLD."""
24
- combined_tlds = TLDS_ALPHA_BY_DOMAIN.union({d for d in TLDS_SPECIAL_BY_DOMAIN if '.' not in d})
25
- local_tld = [tld.strip().strip('.').upper() for tld in SYSTEM_LOCAL_TLD.split(";")]
26
- combined_tlds |= {tld for tld in local_tld if tld}
27
- return combined_tlds
28
-
29
-
30
- def is_valid_domain(domain: str) -> bool:
31
- if "@" in domain:
32
- return False
33
-
34
- if "." in domain:
35
- domain = domain.upper()
36
- tld = domain.split(".")[-1]
37
- if not tld.isascii():
38
- try:
39
- tld = tld.encode('idna').decode('ascii').upper()
40
- except ValueError:
41
- return False
42
-
43
- combined_tlds = find_top_level_domains()
44
- if tld in combined_tlds:
45
- # Single term TLD check
46
- return True
47
-
48
- elif any(domain.endswith(d) for d in TLDS_SPECIAL_BY_DOMAIN):
49
- # Multi-term TLD check
50
- return True
51
-
52
- return False
53
-
54
-
55
- def is_valid_ip(ip: str) -> bool:
56
- parts = ip.split(".")
57
- if len(parts) == 4:
58
- for p in parts:
59
- try:
60
- if not (0 <= int(p) <= 255):
61
- return False
62
- except ValueError:
63
- return False
64
-
65
- if int(parts[0]) == 0:
66
- return False
67
-
68
- if int(parts[3]) == 0:
69
- return False
70
-
71
- return True
72
-
73
- return False
74
-
75
-
76
- def is_ip_in_network(ip: str, network: IPv4Network) -> bool:
77
- if not is_valid_ip(ip):
78
- return False
79
-
80
- return ip_address(ip) in network
81
-
82
-
83
- def is_valid_email(email: str) -> bool:
84
- parts = email.split("@")
85
- if len(parts) == 2:
86
- if is_valid_domain(parts[1]):
87
- return True
88
-
89
- return False
90
-
91
-
92
- def get_hostname() -> str:
93
- return socket.gethostname()