txt2stix 1.2.4__tar.gz → 1.2.5__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.
- {txt2stix-1.2.4 → txt2stix-1.2.5}/PKG-INFO +1 -1
- {txt2stix-1.2.4 → txt2stix-1.2.5}/pyproject.toml +1 -1
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_bundler.py +14 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_main.py +93 -2
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/bundler.py +3 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/.env.example +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/.env.markdown +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/.github/workflows/create-release.yml +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/.github/workflows/run-tests.yml +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/.gitignore +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/LICENSE +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/README.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/docs/README.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/docs/stix-mapping.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/docs/txt2stix.png +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/extractions/ai/config.yaml +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/extractions/lookup/config.yaml +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/extractions/pattern/config.yaml +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/helpers/mimetype_filename_extension_list.csv +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/helpers/stix_relationship_types.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/helpers/tlds.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/helpers/windows_registry_key_prefix.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/_README.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/_generate_lookups.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/attack_pattern.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/campaign.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/country_iso3166_alpha2.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/course_of_action.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/disarm_id_v1_6.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/disarm_name_v1_6.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/extensions.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/identity.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/infrastructure.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/intrusion_set.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/malware.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_atlas_id_v4_9_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_atlas_name_v4_9_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_enterprise_aliases_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_enterprise_id_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_enterprise_name_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_ics_aliases_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_ics_id_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_ics_name_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_mobile_aliases_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_mobile_id_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_mobile_name_v18_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_capec_id_v3_9.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_capec_name_v3_9.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_cwe_id_v4_18.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_cwe_name_v4_18.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/sector_aliases_v1_0.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/threat_actor.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/tld.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/tool.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/includes/tests/test_cases.yaml +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/requirements.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/README.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_country.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_mitre_attack_enterprise.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_mitre_attack_ics.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_mitre_attack_mobile.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_mitre_capec.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_mitre_cwe.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/all_cases.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_autonomous_system_number.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_all.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_amex.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_diners.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_discover.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_jcb.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_mastercard.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_union_pay.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_visa.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_country_alpha2.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cpe_uri.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_btc_transaction.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_btc_wallet.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_eth_transaction.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_eth_wallet.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_xmr_transaction.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_xmr_wallet.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cve_id.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_directory_unix.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_directory_unix_file.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_directory_windows.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_directory_windows_with_file.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_disarm.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_disarm_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_domain_name_only.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_domain_name_subdomain.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_email_address.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_hash_md5.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_hash_sha_1.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_hash_sha_224.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_hash_sha_256.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_hash_sha_384.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_hash_sha_512.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_file_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_host_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_host_name_file.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_host_name_path.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_host_name_subdomain.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_host_name_url.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_iban_number.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_ipv4_address_cidr.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_ipv4_address_only.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_ipv4_address_port.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_ipv6_address_cidr.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_ipv6_address_only.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_ipv6_address_port.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mac_address.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_atlas.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_atlas_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_enterprise.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_enterprise_aliases.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_enterprise_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_ics.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_ics_aliases.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_ics_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_mobile.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_mobile_aliases.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_mobile_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_capec.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_capec_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_cwe.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_cwe_name.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_phone_number.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_sector_aliases.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_url.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_url_file.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_url_path.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_user_agent.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_windows_registry_key.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_attack_pattern.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_campaign.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_course_of_action.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_identity.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_infrastructure.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_intrusion_set.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_malware.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_threat_actor.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/lookup_tool.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/ai_index_position.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/attack_flow_demo.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/attack_navigator_demo.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/bad_vulmatch_lookups.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/basic_relationship.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/char_length_too_long.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/descriptive_for_ai_relationships_1.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/disarm_demo.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/embedded_img_ignore.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/embedded_link_ignore.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/ip1.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/ip2.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/known_whitelist_match.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/mitre_attack_enterprise_ai_demo.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/mitre_attack_enterprise_lookup_demo.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/mixed_extractions.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/not_security_content.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/test_ai_hash_error_with_stix2_lib.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/test_aliases.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/test_extraction_boundary.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/test_extraction_escapes.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/APT28-Center-of-Storm-2017.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/Bitdefender-Labs-Report-X-creat6958-en-EN.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/FireEyeAPT39.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/France_CERT_APT31_Pakdoor_TLPWHITE.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/Group-IB_Ransomware_Uncovered_whitepaper_eng.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/TA22-0126-QAKBOT-analysis-TLP-GREEN.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/dinners_card.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/mandiant-apt1.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/mykings_report_final.txt +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/manual-tests/cases-ai-relationships.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/manual-tests/cases-extraction-type-ai.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/manual-tests/cases-extraction-type-lookup.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/manual-tests/cases-extraction-type-pattern.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/manual-tests/cases-standard-tests.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/scripts/generate_simple_extraction_test_cases_txt_files.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_attack_flow.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_extractors.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_indicator.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_lookups.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_retriever.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_run_txt2stix.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/test_utils.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/tests/src/utils.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/anthropic.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/base.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/deepseek.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/gemini.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/openai.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/openrouter.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/prompts.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/ai_extractor/utils.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/attack_flow.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/common.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/credential_checker.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/extractions.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/indicator.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/lookups.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/base_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/README.md +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/amex_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/diners_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/discover_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/jcb_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/master_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/union_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/card/visa_card_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/crypto/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/crypto/btc_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/directory/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/directory/unix_directory_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/directory/unix_file_path_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/directory/windows_directory_path_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/directory/windows_file_path_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/domain/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/domain/domain_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/domain/hostname_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/domain/sub_domain_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/md5_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/sha1_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/sha224_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/sha2_256_exactor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/sha2_512_exactor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/sha3_256_exactor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/hashes/sha3_512_exactor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/helper.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/ipv4_cidr_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/ipv4_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/ipv4_port_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/ipv6_cidr_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/ipv6_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/ip/ipv6_port_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/asn_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/cpe_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/cve_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/email_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/filename_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/iban_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/mac_address_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/phonenumber_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/user_agent_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/others/windows_registry_key_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/url/__init__.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/url/url_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/url/url_file_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/pattern/extractors/url/url_path_extractor.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/retriever.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/stix.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/txt2stix.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix/utils.py +0 -0
- {txt2stix-1.2.4 → txt2stix-1.2.5}/txt2stix.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: txt2stix
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.5
|
|
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
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "txt2stix"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.5"
|
|
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."
|
|
@@ -114,6 +114,20 @@ def test_add_indicator(bundler):
|
|
|
114
114
|
assert bundler.id_map[extracted_dict["id"]] == mocked_related_refs
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
def test_add_indicator_rejects_empty_values(bundler):
|
|
118
|
+
"""Test that add_indicator raises MinorException for None or empty extracted values."""
|
|
119
|
+
extracted_dict_empty = {
|
|
120
|
+
"id": "ex-1",
|
|
121
|
+
"type": "test_type",
|
|
122
|
+
"value": ""
|
|
123
|
+
}
|
|
124
|
+
mocked_extractor = MagicMock()
|
|
125
|
+
bundler.all_extractors = dict(test_type=mocked_extractor)
|
|
126
|
+
|
|
127
|
+
with pytest.raises(MinorException, match="extracted value is empty"):
|
|
128
|
+
bundler.add_indicator(extracted_dict_empty, add_standard_relationship=False)
|
|
129
|
+
|
|
130
|
+
|
|
117
131
|
def test_add_indicator_sets_id_map():
|
|
118
132
|
extractor = MagicMock()
|
|
119
133
|
extractor.stix_mapping = "domain-name"
|
|
@@ -30,8 +30,10 @@ from txt2stix.txt2stix import (
|
|
|
30
30
|
processing_phase,
|
|
31
31
|
run_extractors,
|
|
32
32
|
extract_relationships,
|
|
33
|
+
validate_token_count,
|
|
33
34
|
)
|
|
34
|
-
from txt2stix.common import FatalException
|
|
35
|
+
from txt2stix.common import FatalException, MinorException
|
|
36
|
+
from txt2stix.bundler import txt2stixBundler
|
|
35
37
|
import argparse
|
|
36
38
|
|
|
37
39
|
|
|
@@ -434,4 +436,93 @@ def test_processing_phase_applies_extracts_and_relationships():
|
|
|
434
436
|
bundler.process_observables.assert_any_call([mock2])
|
|
435
437
|
assert "error" not in mock2 # ensure no error field removal in this test
|
|
436
438
|
assert "error" not in mock1 # ensure no error field removal in this test
|
|
437
|
-
bundler.process_relationships.assert_called_once_with(['r1'])
|
|
439
|
+
bundler.process_relationships.assert_called_once_with(['r1'])
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
def test_run_extractors():
|
|
443
|
+
"""Test run_extractors returns dict with id fields and handles AI extractor failures."""
|
|
444
|
+
text_content = "SAMPLE TEXT"
|
|
445
|
+
extractors_map = {
|
|
446
|
+
'lookup': {'lookup1': MagicMock()},
|
|
447
|
+
'pattern': {'pattern1': MagicMock()},
|
|
448
|
+
'ai': {'ai1': MagicMock()}
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
mock_ai_extractor1 = MagicMock()
|
|
452
|
+
mock_ai_extractor1.extractor_name = "ai_extractor_1"
|
|
453
|
+
mock_ai_extractor1.extract_objects.return_value = [{'type': 'ipv4', 'value': '1.1.1.1'}]
|
|
454
|
+
|
|
455
|
+
mock_ai_extractor2 = MagicMock()
|
|
456
|
+
mock_ai_extractor2.extractor_name = "ai_extractor_2"
|
|
457
|
+
mock_ai_extractor2.extract_objects.side_effect = Exception("AI extraction failed")
|
|
458
|
+
|
|
459
|
+
with patch('txt2stix.txt2stix.lookups.extract_all') as mock_lookup, \
|
|
460
|
+
patch('txt2stix.txt2stix.pattern.extract_all') as mock_pattern:
|
|
461
|
+
|
|
462
|
+
mock_lookup.return_value = [{'type': 'domain', 'value': 'example.com'}]
|
|
463
|
+
mock_pattern.return_value = [{'type': 'url', 'value': 'http://test.com'}]
|
|
464
|
+
|
|
465
|
+
result = run_extractors(extractors_map, text_content, ai_extractors=[mock_ai_extractor1, mock_ai_extractor2])
|
|
466
|
+
|
|
467
|
+
# Verify lookup and pattern were called
|
|
468
|
+
assert 'lookup' in result
|
|
469
|
+
assert 'pattern' in result
|
|
470
|
+
assert 'ai-ai_extractor_1' in result
|
|
471
|
+
|
|
472
|
+
# Verify all extracts have 'id' field
|
|
473
|
+
all_extracts = []
|
|
474
|
+
for extracts in result.values():
|
|
475
|
+
all_extracts.extend(extracts)
|
|
476
|
+
|
|
477
|
+
for i, extract in enumerate(all_extracts):
|
|
478
|
+
assert 'id' in extract
|
|
479
|
+
assert extract['id'].startswith('ex-')
|
|
480
|
+
|
|
481
|
+
# Verify AI extractor 2 failure was handled (should not be in results)
|
|
482
|
+
assert 'ai-ai_extractor_2' not in result
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
def test_extract_relationships():
|
|
486
|
+
"""Test extract_relationships calls AI session and handles exceptions."""
|
|
487
|
+
text = "TEXT_CONTENT"
|
|
488
|
+
all_extracts = {"lookup": [{'id': 'ex-0'}, {'id': 'ex-1'}], "ai": [{'id': 'ex-2'}, {'id': 'ex-3'}]}
|
|
489
|
+
mock_ai_session = MagicMock()
|
|
490
|
+
mock_ai_session.extract_relationships.return_value.model_dump.return_value = {
|
|
491
|
+
"relationships": [{'source': 'ex-0', 'target': 'ex-2'}]
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
relationships = extract_relationships(text, all_extracts, mock_ai_session)
|
|
495
|
+
|
|
496
|
+
# Verify extract_relationships was called with flattened list
|
|
497
|
+
called_args = mock_ai_session.extract_relationships.call_args
|
|
498
|
+
assert len(called_args[0][1]) == 4 # flattened list of 4 extracts
|
|
499
|
+
assert called_args[0][2] == RELATIONSHIP_TYPES
|
|
500
|
+
|
|
501
|
+
mock_ai_session.extract_relationships.return_value.model_dump.assert_called()
|
|
502
|
+
assert relationships == {"relationships": [{'source': 'ex-0', 'target': 'ex-2'}]}
|
|
503
|
+
|
|
504
|
+
# Test exception handling - should return None
|
|
505
|
+
mock_ai_session.extract_relationships.side_effect = Exception("AI failed")
|
|
506
|
+
assert extract_relationships(text, all_extracts, mock_ai_session) is None
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
def test_validate_token_count():
|
|
510
|
+
"""Test validate_token_count raises FatalException when limit exceeded."""
|
|
511
|
+
|
|
512
|
+
# Test case 1: Should not raise when under limit
|
|
513
|
+
mock_extractor1 = MagicMock()
|
|
514
|
+
mock_extractor1.extractor_name = "test_extractor_under_limit"
|
|
515
|
+
mock_extractor1.count_tokens.return_value = 500
|
|
516
|
+
|
|
517
|
+
# Use different input text to avoid lru_cache collision
|
|
518
|
+
validate_token_count(1000, "test input 1", [mock_extractor1])
|
|
519
|
+
|
|
520
|
+
# Test case 2: Should raise when over limit
|
|
521
|
+
mock_extractor2 = MagicMock()
|
|
522
|
+
mock_extractor2.extractor_name = "test_extractor_over_limit"
|
|
523
|
+
mock_extractor2.count_tokens.return_value = 1500
|
|
524
|
+
|
|
525
|
+
with pytest.raises(FatalException, match="exceeds INPUT_TOKEN_LIMIT"):
|
|
526
|
+
# Use different input text to avoid lru_cache collision
|
|
527
|
+
validate_token_count(1000, "test input 2", [mock_extractor2])
|
|
528
|
+
|
|
@@ -307,6 +307,9 @@ class txt2stixBundler:
|
|
|
307
307
|
extracted_value = extracted_dict["value"]
|
|
308
308
|
extracted_id = extracted_dict["id"]
|
|
309
309
|
|
|
310
|
+
if extracted_value is None or extracted_value == "":
|
|
311
|
+
raise MinorException(f"extracted value is empty")
|
|
312
|
+
|
|
310
313
|
indicator = self.new_indicator(extractor, stix_mapping, extracted_value)
|
|
311
314
|
# set id so it doesn''t need to be created in build_observables
|
|
312
315
|
if extracted_dict.get("indexes"):
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/includes/lookups/mitre_attack_enterprise_aliases_v18_0.txt
RENAMED
|
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
|
|
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
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/ai_mitre_attack_enterprise.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_autonomous_system_number.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_discover.txt
RENAMED
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_mastercard.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_bank_card_union_pay.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_btc_wallet.txt
RENAMED
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_eth_wallet.txt
RENAMED
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_cryptocurrency_xmr_wallet.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_directory_unix_file.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_domain_name_subdomain.txt
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_host_name_subdomain.txt
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_enterprise.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_ics_aliases.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_ics_name.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_mobile.txt
RENAMED
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_mitre_attack_mobile_name.txt
RENAMED
|
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
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/extraction_types/generic_windows_registry_key.txt
RENAMED
|
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
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/ai_index_position.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/attack_flow_demo.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/attack_navigator_demo.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/bad_vulmatch_lookups.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/basic_relationship.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/char_length_too_long.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/embedded_img_ignore.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/embedded_link_ignore.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/known_whitelist_match.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/mixed_extractions.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/not_security_content.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/test_extraction_boundary.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/manually_generated_reports/test_extraction_escapes.txt
RENAMED
|
File without changes
|
{txt2stix-1.2.4 → txt2stix-1.2.5}/tests/data/real_intel_reports/APT28-Center-of-Storm-2017.txt
RENAMED
|
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
|