txt2stix 1.0.3__tar.gz → 1.0.4__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.0.3 → txt2stix-1.0.4}/PKG-INFO +1 -1
- {txt2stix-1.0.3 → txt2stix-1.0.4}/pyproject.toml +1 -1
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_attack_flow.py +18 -4
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/attack_flow.py +3 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/.env.example +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/.env.markdown +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/.github/workflows/create-release.yml +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/.github/workflows/run-tests.yml +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/.gitignore +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/LICENSE +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/README.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/docs/README.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/docs/stix-mapping.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/docs/txt2stix.png +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/extractions/ai/config.yaml +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/extractions/lookup/config.yaml +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/extractions/pattern/config.yaml +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/helpers/mimetype_filename_extension_list.csv +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/helpers/stix_relationship_types.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/helpers/tlds.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/helpers/windows_registry_key_prefix.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/_README.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/_generate_lookups.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/attack_pattern.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/campaign.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/country_iso3166_alpha2.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/course_of_action.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/disarm_id_v1_5.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/disarm_name_v1_5.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/extensions.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/identity.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/infrastructure.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/intrusion_set.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/malware.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_atlas_id_v4_5_2.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_atlas_name_v4_5_2.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_enterprise_aliases_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_enterprise_id_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_enterprise_name_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_ics_aliases_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_ics_id_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_ics_name_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_mobile_aliases_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_mobile_id_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_mobile_name_v16_0.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_capec_id_v3_9.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_capec_name_v3_9.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_cwe_id_v4_15.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_cwe_name_v4_15.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/threat_actor.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/tld.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/lookups/tool.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/includes/tests/test_cases.yaml +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/requirements.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/README.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/ai_country.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/ai_mitre_attack_enterprise.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/ai_mitre_attack_ics.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/ai_mitre_attack_mobile.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/ai_mitre_capec.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/ai_mitre_cwe.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/all_cases.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_autonomous_system_number.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_all.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_amex.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_diners.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_discover.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_jcb.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_mastercard.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_union_pay.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_visa.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_country_alpha2.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cpe_uri.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_btc_transaction.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_btc_wallet.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_eth_transaction.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_eth_wallet.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_xmr_transaction.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_xmr_wallet.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cve_id.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_directory_unix.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_directory_unix_file.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_directory_windows.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_directory_windows_with_file.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_disarm.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_disarm_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_domain_name_only.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_domain_name_subdomain.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_email_address.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_hash_md5.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_hash_sha_1.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_hash_sha_224.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_hash_sha_256.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_hash_sha_384.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_hash_sha_512.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_file_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_host_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_host_name_file.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_host_name_path.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_host_name_subdomain.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_host_name_url.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_iban_number.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_ipv4_address_cidr.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_ipv4_address_only.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_ipv4_address_port.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_ipv6_address_cidr.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_ipv6_address_only.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_ipv6_address_port.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mac_address.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_atlas.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_atlas_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_enterprise.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_enterprise_aliases.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_enterprise_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_ics.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_ics_aliases.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_ics_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_mobile.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_mobile_aliases.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_mobile_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_capec.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_capec_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_cwe.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_cwe_name.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_phone_number.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_url.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_url_file.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_url_path.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_user_agent.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_windows_registry_key.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_attack_pattern.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_campaign.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_course_of_action.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_identity.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_infrastructure.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_intrusion_set.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_malware.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_threat_actor.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/lookup_tool.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/attack_flow_demo.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/attack_navigator_demo.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/basic_relationship.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/char_length_too_long.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/descriptive_for_ai_relationships_1.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/disarm_demo.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/embedded_img_ignore.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/embedded_link_ignore.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/ip1.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/ip2.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/known_whitelist_match.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/mitre_attack_enterprise_ai_demo.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/mitre_attack_enterprise_lookup_demo.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/mixed_extractions.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/not_security_content.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/test_ai_hash_error_with_stix2_lib.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/test_aliases.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/test_extraction_boundary.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/test_extraction_escapes.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/APT28-Center-of-Storm-2017.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/Bitdefender-Labs-Report-X-creat6958-en-EN.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/FireEyeAPT39.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/France_CERT_APT31_Pakdoor_TLPWHITE.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/Group-IB_Ransomware_Uncovered_whitepaper_eng.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/TA22-0126-QAKBOT-analysis-TLP-GREEN.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/dinners_card.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/mandiant-apt1.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/real_intel_reports/mykings_report_final.txt +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/manual-tests/cases-ai-relationships.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/manual-tests/cases-extraction-type-ai.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/manual-tests/cases-extraction-type-lookup.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/manual-tests/cases-extraction-type-pattern.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/manual-tests/cases-standard-tests.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/scripts/generate_simple_extraction_test_cases_txt_files.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_bundler.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_extractors.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_indicator.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_lookups.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_main.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_run_txt2stix.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/test_utils.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/tests/src/utils.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/anthropic.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/base.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/deepseek.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/gemini.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/openai.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/openrouter.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/prompts.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/ai_extractor/utils.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/bundler.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/common.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/extractions.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/indicator.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/lookups.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/base_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/README.md +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/amex_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/diners_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/discover_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/jcb_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/master_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/union_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/visa_card_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/crypto/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/crypto/btc_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/unix_directory_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/unix_file_path_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/windows_directory_path_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/windows_file_path_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/domain/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/domain/domain_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/domain/hostname_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/domain/sub_domain_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/md5_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/sha1_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/sha224_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/sha2_256_exactor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/sha2_512_exactor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/sha3_256_exactor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/hashes/sha3_512_exactor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/helper.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/ipv4_cidr_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/ipv4_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/ipv4_port_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/ipv6_cidr_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/ipv6_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/ip/ipv6_port_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/asn_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/cpe_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/cve_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/email_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/filename_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/iban_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/mac_address_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/phonenumber_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/user_agent_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/windows_registry_key_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/url/__init__.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/url/url_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/url/url_file_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/url/url_path_extractor.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/retriever.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/stix.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/txt2stix.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/utils.py +0 -0
- {txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: txt2stix
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.4
|
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.0.
|
7
|
+
version = "1.0.4"
|
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."
|
@@ -127,7 +127,7 @@ def test_extract_attack_flow_and_navigator(dummy_objects, dummy_report):
|
|
127
127
|
"txt2stix.attack_flow.create_navigator_layer"
|
128
128
|
) as mock_create_navigator_layer,
|
129
129
|
):
|
130
|
-
|
130
|
+
# ================= Both flow and navigator ===================
|
131
131
|
flow, nav = extract_attack_flow_and_navigator(
|
132
132
|
bundler, text, True, True, ai_extractor
|
133
133
|
)
|
@@ -150,7 +150,7 @@ def test_extract_attack_flow_and_navigator(dummy_objects, dummy_report):
|
|
150
150
|
mock_create_navigator_layer.reset_mock()
|
151
151
|
mock_extract_flow.reset_mock()
|
152
152
|
|
153
|
-
|
153
|
+
# ================= only flow ===================
|
154
154
|
flow, nav = extract_attack_flow_and_navigator(
|
155
155
|
bundler, text, True, False, ai_extractor
|
156
156
|
)
|
@@ -168,7 +168,7 @@ def test_extract_attack_flow_and_navigator(dummy_objects, dummy_report):
|
|
168
168
|
mock_create_navigator_layer.reset_mock()
|
169
169
|
mock_extract_flow.reset_mock()
|
170
170
|
|
171
|
-
|
171
|
+
# ================= only navigator ===================
|
172
172
|
flow, nav = extract_attack_flow_and_navigator(
|
173
173
|
bundler, text, False, True, ai_extractor
|
174
174
|
)
|
@@ -184,6 +184,21 @@ def test_extract_attack_flow_and_navigator(dummy_objects, dummy_report):
|
|
184
184
|
bundler.report, bundler.summary, mock_extract_flow.return_value, techniques
|
185
185
|
)
|
186
186
|
|
187
|
+
### reset mocks
|
188
|
+
mock_parse_flow.reset_mock()
|
189
|
+
mock_create_navigator_layer.reset_mock()
|
190
|
+
mock_extract_flow.reset_mock()
|
191
|
+
# ============ no technique object ============
|
192
|
+
bundler.bundle.objects = []
|
193
|
+
flow, nav = extract_attack_flow_and_navigator(
|
194
|
+
bundler, text, True, True, ai_extractor
|
195
|
+
)
|
196
|
+
mock_extract_flow.assert_not_called()
|
197
|
+
assert (flow, nav) == (None, None)
|
198
|
+
mock_parse_flow.assert_not_called()
|
199
|
+
|
200
|
+
mock_create_navigator_layer.assert_not_called()
|
201
|
+
|
187
202
|
|
188
203
|
def test_create_navigator_layer(dummy_report):
|
189
204
|
summary = "this is a summary"
|
@@ -252,7 +267,6 @@ def test_create_navigator_layer(dummy_report):
|
|
252
267
|
|
253
268
|
retval = create_navigator_layer(dummy_report, summary, flow, techniques)
|
254
269
|
assert len(retval) == 3
|
255
|
-
print(retval)
|
256
270
|
assert retval == [
|
257
271
|
{
|
258
272
|
"version": "4.5",
|
@@ -204,6 +204,9 @@ def extract_attack_flow_and_navigator(
|
|
204
204
|
ex: BaseAIExtractor = ai_settings_relationships
|
205
205
|
tactics = get_all_tactics()
|
206
206
|
techniques = get_techniques_from_extracted_objects(bundler.bundle.objects, tactics)
|
207
|
+
if not techniques:
|
208
|
+
return None, None
|
209
|
+
|
207
210
|
logged_techniques = [
|
208
211
|
{k: v for k, v in t.items() if k != "stix_obj"} for t in techniques.values()
|
209
212
|
]
|
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.0.3 → txt2stix-1.0.4}/includes/lookups/mitre_attack_enterprise_aliases_v16_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
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/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.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_autonomous_system_number.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_discover.txt
RENAMED
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_bank_card_mastercard.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/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.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_btc_wallet.txt
RENAMED
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_eth_wallet.txt
RENAMED
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_cryptocurrency_xmr_wallet.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/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.0.3 → txt2stix-1.0.4}/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.0.3 → txt2stix-1.0.4}/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.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_enterprise.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_ics_aliases.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_ics_name.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/extraction_types/generic_mitre_attack_mobile.txt
RENAMED
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/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
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/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.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/attack_flow_demo.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/attack_navigator_demo.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/basic_relationship.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/char_length_too_long.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/embedded_img_ignore.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/embedded_link_ignore.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/known_whitelist_match.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/mixed_extractions.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/not_security_content.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/test_extraction_boundary.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/data/manually_generated_reports/test_extraction_escapes.txt
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/tests/scripts/generate_simple_extraction_test_cases_txt_files.py
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
|
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.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/card/discover_card_extractor.py
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
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/unix_directory_extractor.py
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/directory/unix_file_path_extractor.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/domain/sub_domain_extractor.py
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
|
File without changes
|
File without changes
|
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/mac_address_extractor.py
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/phonenumber_extractor.py
RENAMED
File without changes
|
{txt2stix-1.0.3 → txt2stix-1.0.4}/txt2stix/pattern/extractors/others/user_agent_extractor.py
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
|