txt2stix 1.1.9__tar.gz → 1.1.11__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 (264) hide show
  1. {txt2stix-1.1.9 → txt2stix-1.1.11}/PKG-INFO +3 -11
  2. {txt2stix-1.1.9 → txt2stix-1.1.11}/README.md +1 -9
  3. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/extractions/ai/config.yaml +1 -1
  4. {txt2stix-1.1.9 → txt2stix-1.1.11}/pyproject.toml +2 -2
  5. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_indicator.py +11 -27
  6. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/attack_flow.py +1 -1
  7. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/bundler.py +1 -1
  8. {txt2stix-1.1.9 → txt2stix-1.1.11}/.env.example +0 -0
  9. {txt2stix-1.1.9 → txt2stix-1.1.11}/.env.markdown +0 -0
  10. {txt2stix-1.1.9 → txt2stix-1.1.11}/.github/workflows/create-release.yml +0 -0
  11. {txt2stix-1.1.9 → txt2stix-1.1.11}/.github/workflows/run-tests.yml +0 -0
  12. {txt2stix-1.1.9 → txt2stix-1.1.11}/.gitignore +0 -0
  13. {txt2stix-1.1.9 → txt2stix-1.1.11}/LICENSE +0 -0
  14. {txt2stix-1.1.9 → txt2stix-1.1.11}/docs/README.md +0 -0
  15. {txt2stix-1.1.9 → txt2stix-1.1.11}/docs/stix-mapping.md +0 -0
  16. {txt2stix-1.1.9 → txt2stix-1.1.11}/docs/txt2stix.png +0 -0
  17. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/__init__.py +0 -0
  18. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/extractions/lookup/config.yaml +0 -0
  19. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/extractions/pattern/config.yaml +0 -0
  20. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/helpers/mimetype_filename_extension_list.csv +0 -0
  21. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/helpers/stix_relationship_types.txt +0 -0
  22. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/helpers/tlds.txt +0 -0
  23. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/helpers/windows_registry_key_prefix.txt +0 -0
  24. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/_README.md +0 -0
  25. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/_generate_lookups.py +0 -0
  26. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/attack_pattern.txt +0 -0
  27. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/campaign.txt +0 -0
  28. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/country_iso3166_alpha2.txt +0 -0
  29. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/course_of_action.txt +0 -0
  30. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/disarm_id_v1_6.txt +0 -0
  31. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/disarm_name_v1_6.txt +0 -0
  32. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/extensions.txt +0 -0
  33. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/identity.txt +0 -0
  34. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/infrastructure.txt +0 -0
  35. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/intrusion_set.txt +0 -0
  36. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/malware.txt +0 -0
  37. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_atlas_id_v4_9_0.txt +0 -0
  38. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_atlas_name_v4_9_0.txt +0 -0
  39. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_enterprise_aliases_v18_0.txt +0 -0
  40. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_enterprise_id_v18_0.txt +0 -0
  41. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_enterprise_name_v18_0.txt +0 -0
  42. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_ics_aliases_v18_0.txt +0 -0
  43. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_ics_id_v18_0.txt +0 -0
  44. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_ics_name_v18_0.txt +0 -0
  45. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_mobile_aliases_v18_0.txt +0 -0
  46. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_mobile_id_v18_0.txt +0 -0
  47. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_attack_mobile_name_v18_0.txt +0 -0
  48. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_capec_id_v3_9.txt +0 -0
  49. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_capec_name_v3_9.txt +0 -0
  50. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_cwe_id_v4_18.txt +0 -0
  51. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/mitre_cwe_name_v4_18.txt +0 -0
  52. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/sector_aliases_v1_0.txt +0 -0
  53. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/threat_actor.txt +0 -0
  54. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/tld.txt +0 -0
  55. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/lookups/tool.txt +0 -0
  56. {txt2stix-1.1.9 → txt2stix-1.1.11}/includes/tests/test_cases.yaml +0 -0
  57. {txt2stix-1.1.9 → txt2stix-1.1.11}/requirements.txt +0 -0
  58. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/README.md +0 -0
  59. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/ai_country.txt +0 -0
  60. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/ai_mitre_attack_enterprise.txt +0 -0
  61. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/ai_mitre_attack_ics.txt +0 -0
  62. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/ai_mitre_attack_mobile.txt +0 -0
  63. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/ai_mitre_capec.txt +0 -0
  64. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/ai_mitre_cwe.txt +0 -0
  65. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/all_cases.txt +0 -0
  66. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_autonomous_system_number.txt +0 -0
  67. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_all.txt +0 -0
  68. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_amex.txt +0 -0
  69. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_diners.txt +0 -0
  70. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_discover.txt +0 -0
  71. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_jcb.txt +0 -0
  72. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_mastercard.txt +0 -0
  73. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_union_pay.txt +0 -0
  74. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_bank_card_visa.txt +0 -0
  75. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_country_alpha2.txt +0 -0
  76. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cpe_uri.txt +0 -0
  77. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cryptocurrency_btc_transaction.txt +0 -0
  78. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cryptocurrency_btc_wallet.txt +0 -0
  79. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cryptocurrency_eth_transaction.txt +0 -0
  80. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cryptocurrency_eth_wallet.txt +0 -0
  81. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cryptocurrency_xmr_transaction.txt +0 -0
  82. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cryptocurrency_xmr_wallet.txt +0 -0
  83. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_cve_id.txt +0 -0
  84. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_directory_unix.txt +0 -0
  85. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_directory_unix_file.txt +0 -0
  86. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_directory_windows.txt +0 -0
  87. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_directory_windows_with_file.txt +0 -0
  88. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_disarm.txt +0 -0
  89. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_disarm_name.txt +0 -0
  90. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_domain_name_only.txt +0 -0
  91. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_domain_name_subdomain.txt +0 -0
  92. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_email_address.txt +0 -0
  93. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_hash_md5.txt +0 -0
  94. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_hash_sha_1.txt +0 -0
  95. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_hash_sha_224.txt +0 -0
  96. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_hash_sha_256.txt +0 -0
  97. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_hash_sha_384.txt +0 -0
  98. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_hash_sha_512.txt +0 -0
  99. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_file_name.txt +0 -0
  100. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_host_name.txt +0 -0
  101. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_host_name_file.txt +0 -0
  102. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_host_name_path.txt +0 -0
  103. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_host_name_subdomain.txt +0 -0
  104. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_host_name_url.txt +0 -0
  105. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_iban_number.txt +0 -0
  106. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_ipv4_address_cidr.txt +0 -0
  107. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_ipv4_address_only.txt +0 -0
  108. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_ipv4_address_port.txt +0 -0
  109. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_ipv6_address_cidr.txt +0 -0
  110. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_ipv6_address_only.txt +0 -0
  111. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_ipv6_address_port.txt +0 -0
  112. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mac_address.txt +0 -0
  113. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_atlas.txt +0 -0
  114. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_atlas_name.txt +0 -0
  115. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_enterprise.txt +0 -0
  116. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_enterprise_aliases.txt +0 -0
  117. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_enterprise_name.txt +0 -0
  118. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_ics.txt +0 -0
  119. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_ics_aliases.txt +0 -0
  120. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_ics_name.txt +0 -0
  121. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_mobile.txt +0 -0
  122. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_mobile_aliases.txt +0 -0
  123. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_attack_mobile_name.txt +0 -0
  124. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_capec.txt +0 -0
  125. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_capec_name.txt +0 -0
  126. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_cwe.txt +0 -0
  127. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_mitre_cwe_name.txt +0 -0
  128. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_phone_number.txt +0 -0
  129. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_sector_aliases.txt +0 -0
  130. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_url.txt +0 -0
  131. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_url_file.txt +0 -0
  132. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_url_path.txt +0 -0
  133. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_user_agent.txt +0 -0
  134. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/generic_windows_registry_key.txt +0 -0
  135. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_attack_pattern.txt +0 -0
  136. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_campaign.txt +0 -0
  137. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_course_of_action.txt +0 -0
  138. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_identity.txt +0 -0
  139. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_infrastructure.txt +0 -0
  140. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_intrusion_set.txt +0 -0
  141. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_malware.txt +0 -0
  142. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_threat_actor.txt +0 -0
  143. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/extraction_types/lookup_tool.txt +0 -0
  144. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/ai_index_position.txt +0 -0
  145. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/attack_flow_demo.txt +0 -0
  146. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/attack_navigator_demo.txt +0 -0
  147. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/bad_vulmatch_lookups.txt +0 -0
  148. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/basic_relationship.txt +0 -0
  149. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/char_length_too_long.txt +0 -0
  150. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/descriptive_for_ai_relationships_1.txt +0 -0
  151. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/disarm_demo.txt +0 -0
  152. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/embedded_img_ignore.txt +0 -0
  153. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/embedded_link_ignore.txt +0 -0
  154. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/ip1.txt +0 -0
  155. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/ip2.txt +0 -0
  156. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/known_whitelist_match.txt +0 -0
  157. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/mitre_attack_enterprise_ai_demo.txt +0 -0
  158. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/mitre_attack_enterprise_lookup_demo.txt +0 -0
  159. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/mixed_extractions.txt +0 -0
  160. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/not_security_content.txt +0 -0
  161. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/test_ai_hash_error_with_stix2_lib.txt +0 -0
  162. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/test_aliases.txt +0 -0
  163. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/test_extraction_boundary.txt +0 -0
  164. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/manually_generated_reports/test_extraction_escapes.txt +0 -0
  165. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/APT28-Center-of-Storm-2017.txt +0 -0
  166. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/Bitdefender-Labs-Report-X-creat6958-en-EN.txt +0 -0
  167. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/FireEyeAPT39.txt +0 -0
  168. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/France_CERT_APT31_Pakdoor_TLPWHITE.txt +0 -0
  169. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/Group-IB_Ransomware_Uncovered_whitepaper_eng.txt +0 -0
  170. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.txt +0 -0
  171. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/TA22-0126-QAKBOT-analysis-TLP-GREEN.txt +0 -0
  172. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/dinners_card.txt +0 -0
  173. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/mandiant-apt1.txt +0 -0
  174. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/data/real_intel_reports/mykings_report_final.txt +0 -0
  175. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/manual-tests/cases-ai-relationships.md +0 -0
  176. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/manual-tests/cases-extraction-type-ai.md +0 -0
  177. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/manual-tests/cases-extraction-type-lookup.md +0 -0
  178. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/manual-tests/cases-extraction-type-pattern.md +0 -0
  179. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/manual-tests/cases-standard-tests.md +0 -0
  180. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/scripts/generate_simple_extraction_test_cases_txt_files.py +0 -0
  181. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/__init__.py +0 -0
  182. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_attack_flow.py +0 -0
  183. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_bundler.py +0 -0
  184. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_extractors.py +0 -0
  185. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_lookups.py +0 -0
  186. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_main.py +0 -0
  187. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_retriever.py +0 -0
  188. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_run_txt2stix.py +0 -0
  189. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/test_utils.py +0 -0
  190. {txt2stix-1.1.9 → txt2stix-1.1.11}/tests/src/utils.py +0 -0
  191. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/__init__.py +0 -0
  192. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/__init__.py +0 -0
  193. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/anthropic.py +0 -0
  194. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/base.py +0 -0
  195. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/deepseek.py +0 -0
  196. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/gemini.py +0 -0
  197. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/openai.py +0 -0
  198. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/openrouter.py +0 -0
  199. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/prompts.py +0 -0
  200. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/ai_extractor/utils.py +0 -0
  201. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/common.py +0 -0
  202. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/credential_checker.py +0 -0
  203. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/extractions.py +0 -0
  204. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/indicator.py +0 -0
  205. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/lookups.py +0 -0
  206. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/__init__.py +0 -0
  207. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/__init__.py +0 -0
  208. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/base_extractor.py +0 -0
  209. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/README.md +0 -0
  210. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/__init__.py +0 -0
  211. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/amex_card_extractor.py +0 -0
  212. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/diners_card_extractor.py +0 -0
  213. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/discover_card_extractor.py +0 -0
  214. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/jcb_card_extractor.py +0 -0
  215. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/master_card_extractor.py +0 -0
  216. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/union_card_extractor.py +0 -0
  217. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/card/visa_card_extractor.py +0 -0
  218. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/crypto/__init__.py +0 -0
  219. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/crypto/btc_extractor.py +0 -0
  220. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/directory/__init__.py +0 -0
  221. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/directory/unix_directory_extractor.py +0 -0
  222. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/directory/unix_file_path_extractor.py +0 -0
  223. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/directory/windows_directory_path_extractor.py +0 -0
  224. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/directory/windows_file_path_extractor.py +0 -0
  225. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/domain/__init__.py +0 -0
  226. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/domain/domain_extractor.py +0 -0
  227. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/domain/hostname_extractor.py +0 -0
  228. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/domain/sub_domain_extractor.py +0 -0
  229. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/__init__.py +0 -0
  230. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/md5_extractor.py +0 -0
  231. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/sha1_extractor.py +0 -0
  232. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/sha224_extractor.py +0 -0
  233. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/sha2_256_exactor.py +0 -0
  234. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/sha2_512_exactor.py +0 -0
  235. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/sha3_256_exactor.py +0 -0
  236. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/hashes/sha3_512_exactor.py +0 -0
  237. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/helper.py +0 -0
  238. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/__init__.py +0 -0
  239. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/ipv4_cidr_extractor.py +0 -0
  240. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/ipv4_extractor.py +0 -0
  241. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/ipv4_port_extractor.py +0 -0
  242. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/ipv6_cidr_extractor.py +0 -0
  243. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/ipv6_extractor.py +0 -0
  244. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/ip/ipv6_port_extractor.py +0 -0
  245. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/__init__.py +0 -0
  246. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/asn_extractor.py +0 -0
  247. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/cpe_extractor.py +0 -0
  248. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/cve_extractor.py +0 -0
  249. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/email_extractor.py +0 -0
  250. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/filename_extractor.py +0 -0
  251. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/iban_extractor.py +0 -0
  252. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/mac_address_extractor.py +0 -0
  253. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/phonenumber_extractor.py +0 -0
  254. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/user_agent_extractor.py +0 -0
  255. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/others/windows_registry_key_extractor.py +0 -0
  256. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/url/__init__.py +0 -0
  257. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/url/url_extractor.py +0 -0
  258. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/url/url_file_extractor.py +0 -0
  259. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/pattern/extractors/url/url_path_extractor.py +0 -0
  260. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/retriever.py +0 -0
  261. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/stix.py +0 -0
  262. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/txt2stix.py +0 -0
  263. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix/utils.py +0 -0
  264. {txt2stix-1.1.9 → txt2stix-1.1.11}/txt2stix.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: txt2stix
3
- Version: 1.1.9
3
+ Version: 1.1.11
4
4
  Summary: txt2stix is a Python script that is designed to identify and extract IoCs and TTPs from text files, identify the relationships between them, convert them to STIX 2.1 objects, and output as a STIX 2.1 bundle.
5
5
  Project-URL: Homepage, https://github.com/muchdogesec/txt2stix
6
6
  Project-URL: Issues, https://github.com/muchdogesec/txt2stix/issues
@@ -24,7 +24,7 @@ Requires-Dist: python-dotenv>=1.0.1
24
24
  Requires-Dist: requests>=2.32.4
25
25
  Requires-Dist: schwifty>=2024.6.1
26
26
  Requires-Dist: stix2-validator
27
- Requires-Dist: stix2extensions
27
+ Requires-Dist: stix2extensions>=2.0.1
28
28
  Requires-Dist: tld>=0.13
29
29
  Requires-Dist: tldextract>=5.1.2
30
30
  Requires-Dist: validators>=0.28.3
@@ -211,17 +211,9 @@ If you would like to understand how txt2stix works in more detail, please refer
211
211
 
212
212
  This documentation is paticularly helpful to read for those of you wanting to add your own custom extractions.
213
213
 
214
- ## Useful supporting tools
215
-
216
- * [A Quick Start Guide to txt2stix](https://www.dogesec.com/blog/txt2stix_quickstart_guide/)
217
- * [An example of how to use txt2stix with Attack Flows](https://www.dogesec.com/blog/understading_structure_attack_flows/)
218
- * [STIX2 Python Library](https://pypi.org/project/stix2/): APIs for serializing and de-serializing STIX2 JSON content
219
- * [STIX 2 Pattern Validator](https://pypi.org/project/stix2-patterns/): a tool for checking the syntax of the Cyber Threat Intelligence (CTI) STIX Pattern expressions
220
- * [STIX Viewer](https://github.com/traut/stixview): Quickly load bundles produced from your report
221
-
222
214
  ## Support
223
215
 
224
- [Minimal support provided via the DOGESEC community](https://community.dogesec.com/).
216
+ [Minimal support provided via the dogesec community](https://community.dogesec.com/).
225
217
 
226
218
  ## License
227
219
 
@@ -165,17 +165,9 @@ If you would like to understand how txt2stix works in more detail, please refer
165
165
 
166
166
  This documentation is paticularly helpful to read for those of you wanting to add your own custom extractions.
167
167
 
168
- ## Useful supporting tools
169
-
170
- * [A Quick Start Guide to txt2stix](https://www.dogesec.com/blog/txt2stix_quickstart_guide/)
171
- * [An example of how to use txt2stix with Attack Flows](https://www.dogesec.com/blog/understading_structure_attack_flows/)
172
- * [STIX2 Python Library](https://pypi.org/project/stix2/): APIs for serializing and de-serializing STIX2 JSON content
173
- * [STIX 2 Pattern Validator](https://pypi.org/project/stix2-patterns/): a tool for checking the syntax of the Cyber Threat Intelligence (CTI) STIX Pattern expressions
174
- * [STIX Viewer](https://github.com/traut/stixview): Quickly load bundles produced from your report
175
-
176
168
  ## Support
177
169
 
178
- [Minimal support provided via the DOGESEC community](https://community.dogesec.com/).
170
+ [Minimal support provided via the dogesec community](https://community.dogesec.com/).
179
171
 
180
172
  ## License
181
173
 
@@ -881,7 +881,7 @@ ai_mitre_cwe:
881
881
  ai_sector:
882
882
  type: ai
883
883
  dogesec_web: true
884
- name: 'Attack Pattern'
884
+ name: 'Sectors'
885
885
  description: 'Detect which sectors from a fixed sector list are referenced anywhere in the input text.'
886
886
  notes: 'lookup_sector_aliases legacy extraction also exists if you cannot use AI'
887
887
  created: 2020-01-01
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "txt2stix"
7
- version = "1.1.9"
7
+ version = "1.1.11"
8
8
  authors = [{ name = "dogesec" }]
9
9
  maintainers = [{ name = "dogesec" }]
10
10
  description = "txt2stix is a Python script that is designed to identify and extract IoCs and TTPs from text files, identify the relationships between them, convert them to STIX 2.1 objects, and output as a STIX 2.1 bundle."
@@ -23,7 +23,7 @@ dependencies = [
23
23
  "requests>=2.32.4",
24
24
  "python-dotenv>=1.0.1",
25
25
  "schwifty>=2024.6.1",
26
- "stix2extensions",
26
+ "stix2extensions>=2.0.1",
27
27
  "tld>=0.13",
28
28
  "tldextract>=5.1.2",
29
29
  "validators>=0.28.3",
@@ -339,13 +339,13 @@ all_extractors = get_all_extractors()
339
339
  "DE29100500001061045672",
340
340
  "pattern_iban_number",
341
341
  {
342
- "bank-account--bedcfd65-c65b-5ded-9fa0-c9bfe17d57d0",
342
+ "relationship--97947636-acc1-5a2f-971f-cfeee373e75e",
343
+ "bank-account--4e351d05-b4f5-5d7e-b51e-66e92021ba5a",
343
344
  "indicator--816dfb00-4107-5dd0-be00-4607400f4df3",
344
- "relationship--78a4214c-9cb2-5efb-b581-30f1f18c0671",
345
345
  "location--8d8abee9-2855-57ea-9df9-5251079802e6",
346
346
  },
347
347
  {
348
- "bank-account--bedcfd65-c65b-5ded-9fa0-c9bfe17d57d0",
348
+ "bank-account--4e351d05-b4f5-5d7e-b51e-66e92021ba5a",
349
349
  },
350
350
  id="bank-account",
351
351
  ),
@@ -364,36 +364,21 @@ all_extractors = get_all_extractors()
364
364
  ],
365
365
  ## payment-card, with issuer-name
366
366
  pytest.param(
367
- "5555555555554444",
367
+ "4142414241424142",
368
368
  "pattern_bank_card_mastercard",
369
369
  {
370
- "location--24ff45f2-9cd3-554c-a53c-2ed70bb17cb8",
371
- "payment-card--45b2fea7-587b-5ccf-a9b2-e0fa748d6423",
372
- "relationship--03a31907-32ae-5f83-80a7-37dbe0ed61c2",
373
- "indicator--d85b6d0d-116d-5518-8b59-dd018d060bda",
374
- "relationship--174da36f-c5d9-5eea-b024-8fcdba87ce56",
375
- "identity--7d46a822-1e99-5c73-ac5e-dec6400977ab",
370
+ "location--e68e76c5-60f1-506e-b495-86adb8ec0a5b",
371
+ "payment-card--0e1fb108-12c0-5357-9265-d0bcdd90c4bd",
372
+ "relationship--acd8efa8-3702-5c74-bb9c-ddb9720ca799",
373
+ "indicator--12f0d365-0b5d-53c4-9b23-2032db90887c",
374
+ "relationship--f372a1f8-397a-57f1-a14c-fe808dd286cd",
375
+ "identity--643665ba-f411-5f6f-aa8a-40bb2003529d",
376
376
  },
377
377
  {
378
- "payment-card--45b2fea7-587b-5ccf-a9b2-e0fa748d6423",
378
+ "payment-card--0e1fb108-12c0-5357-9265-d0bcdd90c4bd",
379
379
  },
380
380
  id="payment-card, with issuer-name",
381
381
  ),
382
- ## payment-card, no issuer-name
383
- pytest.param(
384
- "376654224631002",
385
- "pattern_bank_card_amex",
386
- {
387
- "identity--643246fc-9204-5b4b-976d-2e605b355c24",
388
- "payment-card--683af74c-c39f-5ca1-8366-7781f8ac7685",
389
- "relationship--57b4a9eb-2e8c-5826-b11f-add6a436d203",
390
- "indicator--ce0cb0ba-608e-52fa-9c98-9bff146caef8",
391
- },
392
- {
393
- "payment-card--683af74c-c39f-5ca1-8366-7781f8ac7685",
394
- },
395
- id="payment-card, no issuer-name",
396
- ),
397
382
  ],
398
383
  )
399
384
  def test_build_observables(value, extractor_name, expected_objects, expected_rels):
@@ -402,7 +387,6 @@ def test_build_observables(value, extractor_name, expected_objects, expected_rel
402
387
  objects, relationships = build_observables(
403
388
  mock_bundler, extractor.stix_mapping, indicator, value, extractor
404
389
  )
405
- print({obj["id"] for obj in objects})
406
390
  assert {obj["id"] for obj in objects} == set(expected_objects)
407
391
  assert {id for id in relationships} == set(expected_rels)
408
392
 
@@ -7,7 +7,7 @@ from txt2stix import txt2stixBundler
7
7
  from txt2stix.ai_extractor.base import BaseAIExtractor
8
8
  from txt2stix.common import UUID_NAMESPACE
9
9
  from txt2stix.retriever import STIXObjectRetriever
10
- from stix2extensions.attack_action import AttackAction, AttackFlow
10
+ from stix2extensions import AttackAction, AttackFlow
11
11
  from .utils import AttackFlowList
12
12
 
13
13
  def parse_flow(report, flow: AttackFlowList, techniques, tactics):
@@ -133,7 +133,7 @@ class txt2stixBundler:
133
133
  "phone-number": None,
134
134
  "weakness": None,
135
135
  }
136
- EXTENSION_DEFINITION_BASE_URL = "https://raw.githubusercontent.com/muchdogesec/stix2extensions/main/extension-definitions"
136
+ EXTENSION_DEFINITION_BASE_URL = "https://raw.githubusercontent.com/muchdogesec/stix2extensions/main/automodel_generated/extension-definitions"
137
137
  ATTACK_FLOW_SMO_URL = "https://github.com/muchdogesec/stix2extensions/raw/refs/heads/main/remote-definitions/attack-flow.json"
138
138
  report = None
139
139
  identity = None
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes