txt2stix 1.1.2__tar.gz → 1.1.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.1.2 → txt2stix-1.1.4}/.github/workflows/run-tests.yml +1 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/PKG-INFO +1 -1
- {txt2stix-1.1.2 → txt2stix-1.1.4}/docs/stix-mapping.md +22 -22
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/extractions/ai/config.yaml +8 -8
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/extractions/pattern/config.yaml +14 -14
- {txt2stix-1.1.2 → txt2stix-1.1.4}/pyproject.toml +1 -1
- {txt2stix-1.1.2 → txt2stix-1.1.4}/requirements.txt +1 -1
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_attack_flow.py +1 -3
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_bundler.py +124 -36
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_indicator.py +41 -29
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/openai.py +1 -1
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/attack_flow.py +1 -3
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/bundler.py +58 -26
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/indicator.py +47 -32
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/discover_card_extractor.py +1 -1
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/retriever.py +8 -2
- {txt2stix-1.1.2 → txt2stix-1.1.4}/.env.example +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/.env.markdown +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/.github/workflows/create-release.yml +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/.gitignore +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/LICENSE +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/README.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/docs/README.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/docs/txt2stix.png +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/extractions/lookup/config.yaml +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/helpers/mimetype_filename_extension_list.csv +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/helpers/stix_relationship_types.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/helpers/tlds.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/helpers/windows_registry_key_prefix.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/_README.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/_generate_lookups.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/attack_pattern.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/campaign.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/country_iso3166_alpha2.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/course_of_action.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/disarm_id_v1_5.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/disarm_name_v1_5.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/extensions.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/identity.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/infrastructure.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/intrusion_set.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/malware.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_atlas_id_v4_5_2.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_atlas_name_v4_5_2.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_enterprise_aliases_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_enterprise_id_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_enterprise_name_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_ics_aliases_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_ics_id_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_ics_name_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_mobile_aliases_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_mobile_id_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_attack_mobile_name_v16_0.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_capec_id_v3_9.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_capec_name_v3_9.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_cwe_id_v4_15.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/mitre_cwe_name_v4_15.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/threat_actor.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/tld.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/lookups/tool.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/includes/tests/test_cases.yaml +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/README.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/ai_country.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/ai_mitre_attack_enterprise.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/ai_mitre_attack_ics.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/ai_mitre_attack_mobile.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/ai_mitre_capec.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/ai_mitre_cwe.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/all_cases.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_autonomous_system_number.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_all.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_amex.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_diners.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_discover.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_jcb.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_mastercard.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_union_pay.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_bank_card_visa.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_country_alpha2.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cpe_uri.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cryptocurrency_btc_transaction.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cryptocurrency_btc_wallet.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cryptocurrency_eth_transaction.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cryptocurrency_eth_wallet.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cryptocurrency_xmr_transaction.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cryptocurrency_xmr_wallet.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_cve_id.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_directory_unix.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_directory_unix_file.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_directory_windows.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_directory_windows_with_file.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_disarm.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_disarm_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_domain_name_only.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_domain_name_subdomain.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_email_address.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_hash_md5.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_hash_sha_1.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_hash_sha_224.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_hash_sha_256.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_hash_sha_384.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_hash_sha_512.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_file_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_host_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_host_name_file.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_host_name_path.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_host_name_subdomain.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_host_name_url.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_iban_number.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_ipv4_address_cidr.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_ipv4_address_only.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_ipv4_address_port.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_ipv6_address_cidr.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_ipv6_address_only.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_ipv6_address_port.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mac_address.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_atlas.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_atlas_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_enterprise.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_enterprise_aliases.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_enterprise_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_ics.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_ics_aliases.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_ics_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_mobile.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_mobile_aliases.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_attack_mobile_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_capec.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_capec_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_cwe.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_mitre_cwe_name.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_phone_number.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_url.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_url_file.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_url_path.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_user_agent.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/generic_windows_registry_key.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_attack_pattern.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_campaign.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_course_of_action.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_identity.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_infrastructure.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_intrusion_set.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_malware.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_threat_actor.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/extraction_types/lookup_tool.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/ai_index_position.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/attack_flow_demo.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/attack_navigator_demo.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/bad_vulmatch_lookups.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/basic_relationship.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/char_length_too_long.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/descriptive_for_ai_relationships_1.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/disarm_demo.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/embedded_img_ignore.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/embedded_link_ignore.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/ip1.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/ip2.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/known_whitelist_match.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/mitre_attack_enterprise_ai_demo.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/mitre_attack_enterprise_lookup_demo.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/mixed_extractions.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/not_security_content.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/test_ai_hash_error_with_stix2_lib.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/test_aliases.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/test_extraction_boundary.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/manually_generated_reports/test_extraction_escapes.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/APT28-Center-of-Storm-2017.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/Bitdefender-Labs-Report-X-creat6958-en-EN.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/FireEyeAPT39.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/France_CERT_APT31_Pakdoor_TLPWHITE.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/Group-IB_Ransomware_Uncovered_whitepaper_eng.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/JOINT_CSA_HUNTING_RU_INTEL_SNAKE_MALWARE_20230509.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/TA22-0126-QAKBOT-analysis-TLP-GREEN.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/dinners_card.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/mandiant-apt1.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/data/real_intel_reports/mykings_report_final.txt +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/manual-tests/cases-ai-relationships.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/manual-tests/cases-extraction-type-ai.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/manual-tests/cases-extraction-type-lookup.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/manual-tests/cases-extraction-type-pattern.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/manual-tests/cases-standard-tests.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/scripts/generate_simple_extraction_test_cases_txt_files.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_extractors.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_lookups.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_main.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_retriever.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_run_txt2stix.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/test_utils.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/tests/src/utils.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/anthropic.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/base.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/deepseek.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/gemini.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/openrouter.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/prompts.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/ai_extractor/utils.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/common.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/credential_checker.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/extractions.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/lookups.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/base_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/README.md +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/amex_card_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/diners_card_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/jcb_card_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/master_card_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/union_card_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/card/visa_card_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/crypto/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/crypto/btc_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/directory/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/directory/unix_directory_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/directory/unix_file_path_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/directory/windows_directory_path_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/directory/windows_file_path_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/domain/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/domain/domain_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/domain/hostname_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/domain/sub_domain_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/md5_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/sha1_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/sha224_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/sha2_256_exactor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/sha2_512_exactor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/sha3_256_exactor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/hashes/sha3_512_exactor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/helper.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/ipv4_cidr_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/ipv4_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/ipv4_port_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/ipv6_cidr_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/ipv6_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/ip/ipv6_port_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/asn_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/cpe_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/cve_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/email_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/filename_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/iban_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/mac_address_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/phonenumber_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/user_agent_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/others/windows_registry_key_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/url/__init__.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/url/url_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/url/url_file_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/pattern/extractors/url/url_path_extractor.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/stix.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/txt2stix.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix/utils.py +0 -0
- {txt2stix-1.1.2 → txt2stix-1.1.4}/txt2stix.py +0 -0
|
@@ -51,6 +51,7 @@ jobs:
|
|
|
51
51
|
source .env;
|
|
52
52
|
set +a;
|
|
53
53
|
pip install -e .[tests]
|
|
54
|
+
pip install --force-reinstall https://github.com/muchdogesec/stix2extensions/archive/5258ee81355699b86c1e9ba670bf53fe3c37bcbc.zip
|
|
54
55
|
pytest --cov --cov-branch --cov-report=xml --junitxml=junit.xml -o junit_family=legacy
|
|
55
56
|
|
|
56
57
|
- name: Upload coverage reports to Codecov
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: txt2stix
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.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
|
|
@@ -871,7 +871,7 @@ Objects always created:
|
|
|
871
871
|
],
|
|
872
872
|
"name": "User Agent: <EXTRACTED FULL USER AGENT STRING>",
|
|
873
873
|
"pattern_type": "stix",
|
|
874
|
-
"pattern": "[ user-agent:
|
|
874
|
+
"pattern": "[ user-agent:value = '<EXTRACTED FULL USER AGENT STRING>' ]",
|
|
875
875
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
876
876
|
"object_marking_refs": [
|
|
877
877
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -895,7 +895,7 @@ Objects always created:
|
|
|
895
895
|
"type": "user-agent",
|
|
896
896
|
"spec_version": "2.1",
|
|
897
897
|
"id": "user-agent--<GENERATED BY STIX2 LIBRARY>",
|
|
898
|
-
"
|
|
898
|
+
"value": "<EXTRACTED FULL USER AGENT STRING>",
|
|
899
899
|
"extensions": {
|
|
900
900
|
"extension-definition--7ca5afee-0e4e-5813-b643-de51538658cc" : {
|
|
901
901
|
"extension_type" : "new-sco"
|
|
@@ -926,7 +926,7 @@ Objects always created:
|
|
|
926
926
|
],
|
|
927
927
|
"name": "<CRYPTO TYPE> Wallet: <EXTRACTED CRYPTOCURRENCY OBSERVABLE VALUE>",
|
|
928
928
|
"pattern_type": "stix",
|
|
929
|
-
"pattern": "[ cryptocurrency-wallet:
|
|
929
|
+
"pattern": "[ cryptocurrency-wallet:value = '<EXTRACTED CRYPTOCURRENCY OBSERVABLE VALUE>' ]",
|
|
930
930
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
931
931
|
"object_marking_refs": [
|
|
932
932
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -945,7 +945,7 @@ Objects always created:
|
|
|
945
945
|
}
|
|
946
946
|
```
|
|
947
947
|
|
|
948
|
-
The `cryptocurrency-wallet` object is generated by [crypto2stix](https://github.com/muchdogesec/crypto2stix).
|
|
948
|
+
The `cryptocurrency-wallet` object is generated by [crypto2stix](https://github.com/muchdogesec/stix2extensions/blob/main/stix2extensions/tools/crypto2stix.py).
|
|
949
949
|
|
|
950
950
|
The crypto2stix equivilant command is;
|
|
951
951
|
|
|
@@ -979,7 +979,7 @@ Objects always created:
|
|
|
979
979
|
],
|
|
980
980
|
"name": "<CRYPTO TYPE> Wallet: <EXTRACTED CRYPTOCURRENCY OBSERVABLE VALUE>",
|
|
981
981
|
"pattern_type": "stix",
|
|
982
|
-
"pattern": "[ cryptocurrency-wallet:
|
|
982
|
+
"pattern": "[ cryptocurrency-wallet:value = '<EXTRACTED CRYPTOCURRENCY OBSERVABLE VALUE>' ]",
|
|
983
983
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
984
984
|
"object_marking_refs": [
|
|
985
985
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -998,7 +998,7 @@ Objects always created:
|
|
|
998
998
|
}
|
|
999
999
|
```
|
|
1000
1000
|
|
|
1001
|
-
The `cryptocurrency-transaction` object is generated by [crypto2stix](https://github.com/muchdogesec/crypto2stix)
|
|
1001
|
+
The `cryptocurrency-transaction` object is generated by [crypto2stix](https://github.com/muchdogesec/stix2extensions/blob/main/stix2extensions/tools/crypto2stix.py)
|
|
1002
1002
|
|
|
1003
1003
|
The crypto2stix equivilant command is;
|
|
1004
1004
|
|
|
@@ -1032,7 +1032,7 @@ Objects always created:
|
|
|
1032
1032
|
],
|
|
1033
1033
|
"name": "<CRYPTO TYPE> Transaction: <EXTRACTED TRANSACTION HASH>",
|
|
1034
1034
|
"pattern_type": "stix",
|
|
1035
|
-
"pattern": "[ cryptocurrency-transaction:
|
|
1035
|
+
"pattern": "[ cryptocurrency-transaction:value = '<EXTRACTED CRYPTOCURRENCY HASH VALUE>' ]",
|
|
1036
1036
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
1037
1037
|
"object_marking_refs": [
|
|
1038
1038
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -1057,7 +1057,7 @@ Objects always created:
|
|
|
1057
1057
|
"spec_version": "2.1",
|
|
1058
1058
|
"id": "cryptocurrency-transaction--<UUIDV5>",
|
|
1059
1059
|
"currency_symbol": "<EXTRACTED CRYPTOCURRENCY OBSERVABLE VALUE>",
|
|
1060
|
-
"
|
|
1060
|
+
"value": "<EXTRACTED TRANSACTION HASH>",
|
|
1061
1061
|
"timestamp": "2022-10-02T15:22:21Z",
|
|
1062
1062
|
"extensions": {
|
|
1063
1063
|
"extension-definition--151d042d-4dcf-5e44-843f-1024440318e5" : {
|
|
@@ -1067,7 +1067,7 @@ Objects always created:
|
|
|
1067
1067
|
}
|
|
1068
1068
|
```
|
|
1069
1069
|
|
|
1070
|
-
The `cryptocurrency-transaction` object is generated by [crypto2stix](https://github.com/muchdogesec/crypto2stix)
|
|
1070
|
+
The `cryptocurrency-transaction` object is generated by [crypto2stix](https://github.com/muchdogesec/stix2extensions/blob/main/stix2extensions/tools/crypto2stix.py)
|
|
1071
1071
|
|
|
1072
1072
|
The crypto2stix equivilant command is;
|
|
1073
1073
|
|
|
@@ -1077,15 +1077,15 @@ python3 crypto2stix.py --transaction HASH
|
|
|
1077
1077
|
|
|
1078
1078
|
This will also generate all `cryptocurrency-wallets` seen in the transaction.
|
|
1079
1079
|
|
|
1080
|
-
### stix-mapping: `
|
|
1080
|
+
### stix-mapping: `payment-card`
|
|
1081
1081
|
|
|
1082
1082
|
Objects always created:
|
|
1083
1083
|
|
|
1084
1084
|
* `indicator`
|
|
1085
|
-
* `
|
|
1086
|
-
* `relationship` (`indicator` -> `
|
|
1087
|
-
* `identity` (with `relationship` to `
|
|
1088
|
-
* `extension-definition`: https://raw.githubusercontent.com/muchdogesec/stix2extensions/main/extension-definitions/scos/
|
|
1085
|
+
* `payment-card`
|
|
1086
|
+
* `relationship` (`indicator` -> `payment-card`)
|
|
1087
|
+
* `identity` (with `relationship` to `payment-card`) generated by creditcard2stix (is not always generated if lookup unsuccessful)
|
|
1088
|
+
* `extension-definition`: https://raw.githubusercontent.com/muchdogesec/stix2extensions/main/extension-definitions/scos/payment-card.json
|
|
1089
1089
|
|
|
1090
1090
|
```json
|
|
1091
1091
|
{
|
|
@@ -1100,7 +1100,7 @@ Objects always created:
|
|
|
1100
1100
|
],
|
|
1101
1101
|
"name": "<CARD TYPE>: <EXTRACTED CREDIT CARD OBSERVABLE VALUE>",
|
|
1102
1102
|
"pattern_type": "stix",
|
|
1103
|
-
"pattern": "[
|
|
1103
|
+
"pattern": "[ payment-card:value = '<EXTRACTED CREDIT CARD OBSERVABLE VALUE>' ]",
|
|
1104
1104
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
1105
1105
|
"object_marking_refs": [
|
|
1106
1106
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -1119,7 +1119,7 @@ Objects always created:
|
|
|
1119
1119
|
}
|
|
1120
1120
|
```
|
|
1121
1121
|
|
|
1122
|
-
The `
|
|
1122
|
+
The `payment-card` object is generated by [creditcard2stix](https://github.com/muchdogesec/stix2extensions/blob/main/stix2extensions/tools/creditcard2stix.py). This will require users to enter an `BIN_LIST_API_KEY` and CTI Butler keys in the `.env` file.
|
|
1123
1123
|
|
|
1124
1124
|
### stix-mapping: `bank-account`
|
|
1125
1125
|
|
|
@@ -1127,7 +1127,7 @@ Objects always created:
|
|
|
1127
1127
|
|
|
1128
1128
|
* `indicator`
|
|
1129
1129
|
* `bank-account`
|
|
1130
|
-
* `relationship` (`indicator` -> `
|
|
1130
|
+
* `relationship` (`indicator` -> `payment-card`)
|
|
1131
1131
|
* `extension-definition`: https://raw.githubusercontent.com/muchdogesec/stix2extensions/main/extension-definitions/scos/bank-account.json
|
|
1132
1132
|
|
|
1133
1133
|
```json
|
|
@@ -1143,7 +1143,7 @@ Objects always created:
|
|
|
1143
1143
|
],
|
|
1144
1144
|
"name": "Bank account: <EXTRACTED IBAN OBSERVABLE VALUE>",
|
|
1145
1145
|
"pattern_type": "stix",
|
|
1146
|
-
"pattern": "[ bank-account:
|
|
1146
|
+
"pattern": "[ bank-account:iban = '<EXTRACTED IBAN OBSERVABLE VALUE>' ]",
|
|
1147
1147
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
1148
1148
|
"object_marking_refs": [
|
|
1149
1149
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -1167,7 +1167,7 @@ Objects always created:
|
|
|
1167
1167
|
"type": "bank-account",
|
|
1168
1168
|
"spec_version": "2.1",
|
|
1169
1169
|
"id": "bank-account--<UUIDV5>",
|
|
1170
|
-
"
|
|
1170
|
+
"iban": "<FULL IBAN NUMBER INCLUDING COUNTRY CODE>",
|
|
1171
1171
|
"extensions": {
|
|
1172
1172
|
"extension-definition--f19f3291-6a84-5674-b311-d75a925d5bd9": {
|
|
1173
1173
|
"extension_type" : "new-sco"
|
|
@@ -1179,7 +1179,7 @@ Objects always created:
|
|
|
1179
1179
|
To ensure duplicate `bank-account` objects are not created for the same values, a UUIDv5 address is generated for the ID as follows;
|
|
1180
1180
|
|
|
1181
1181
|
* Namespace = `00abedb4-aa42-466c-9c01-fed23315a9b7` (this is the default MITRE namespace used in the stix2 python lib https://github.com/oasis-open/cti-python-stix2/blob/50fd81fd6ba4f26824a864319305bc298e89bb45/stix2/base.py#L29)
|
|
1182
|
-
* Value =
|
|
1182
|
+
* Value = `iban`
|
|
1183
1183
|
|
|
1184
1184
|
### stix-mapping: `phone-number`
|
|
1185
1185
|
|
|
@@ -1203,7 +1203,7 @@ Objects always created:
|
|
|
1203
1203
|
],
|
|
1204
1204
|
"name": "Phone Number: <EXTRACTED PHONE OBSERVABLE VALUE>",
|
|
1205
1205
|
"pattern_type": "stix",
|
|
1206
|
-
"pattern": "[ phone-number:
|
|
1206
|
+
"pattern": "[ phone-number:value = '<EXTRACTED PHONE OBSERVABLE VALUE>'",
|
|
1207
1207
|
"valid_from": "<REPORT CREATED PROPERTY VALUE>",
|
|
1208
1208
|
"object_marking_refs": [
|
|
1209
1209
|
"marking-definition--<TLP LEVEL SET>",
|
|
@@ -1227,7 +1227,7 @@ Objects always created:
|
|
|
1227
1227
|
"type": "phone-number",
|
|
1228
1228
|
"spec_version": "2.1",
|
|
1229
1229
|
"id": "phone-number--<UUIDV5>",
|
|
1230
|
-
"
|
|
1230
|
+
"value": "<EXTRACTED PHONE OBSERVABLE VALUE>",
|
|
1231
1231
|
"extensions": {
|
|
1232
1232
|
"extension-definition--14a97ee2-e666-5ada-a6bd-b7177f79e211" : {
|
|
1233
1233
|
"extension_type" : "new-sco"
|
|
@@ -622,7 +622,7 @@ ai_bank_card_all:
|
|
|
622
622
|
prompt_helper: ''
|
|
623
623
|
prompt_conversion: ''
|
|
624
624
|
test_cases: generic_bank_card_mastercard
|
|
625
|
-
stix_mapping:
|
|
625
|
+
stix_mapping: payment-card
|
|
626
626
|
|
|
627
627
|
ai_bank_card_mastercard:
|
|
628
628
|
type: ai
|
|
@@ -638,7 +638,7 @@ ai_bank_card_mastercard:
|
|
|
638
638
|
prompt_helper: ''
|
|
639
639
|
prompt_conversion: ''
|
|
640
640
|
test_cases: generic_bank_card_mastercard
|
|
641
|
-
stix_mapping:
|
|
641
|
+
stix_mapping: payment-card
|
|
642
642
|
|
|
643
643
|
ai_bank_card_visa:
|
|
644
644
|
type: ai
|
|
@@ -654,7 +654,7 @@ ai_bank_card_visa:
|
|
|
654
654
|
prompt_helper: ''
|
|
655
655
|
prompt_conversion: ''
|
|
656
656
|
test_cases: generic_bank_card_visa
|
|
657
|
-
stix_mapping:
|
|
657
|
+
stix_mapping: payment-card
|
|
658
658
|
|
|
659
659
|
ai_bank_card_amex:
|
|
660
660
|
type: ai
|
|
@@ -670,7 +670,7 @@ ai_bank_card_amex:
|
|
|
670
670
|
prompt_helper: ''
|
|
671
671
|
prompt_conversion: ''
|
|
672
672
|
test_cases: generic_bank_card_amex
|
|
673
|
-
stix_mapping:
|
|
673
|
+
stix_mapping: payment-card
|
|
674
674
|
|
|
675
675
|
ai_bank_card_union_pay:
|
|
676
676
|
type: ai
|
|
@@ -686,7 +686,7 @@ ai_bank_card_union_pay:
|
|
|
686
686
|
prompt_helper: ''
|
|
687
687
|
prompt_conversion: ''
|
|
688
688
|
test_cases: generic_bank_card_union_pay
|
|
689
|
-
stix_mapping:
|
|
689
|
+
stix_mapping: payment-card
|
|
690
690
|
|
|
691
691
|
ai_bank_card_diners:
|
|
692
692
|
type: ai
|
|
@@ -702,7 +702,7 @@ ai_bank_card_diners:
|
|
|
702
702
|
prompt_helper: ''
|
|
703
703
|
prompt_conversion: ''
|
|
704
704
|
test_cases: generic_bank_card_diners
|
|
705
|
-
stix_mapping:
|
|
705
|
+
stix_mapping: payment-card
|
|
706
706
|
|
|
707
707
|
ai_bank_card_jcb:
|
|
708
708
|
type: ai
|
|
@@ -718,7 +718,7 @@ ai_bank_card_jcb:
|
|
|
718
718
|
prompt_helper: ''
|
|
719
719
|
prompt_conversion: ''
|
|
720
720
|
test_cases: generic_bank_card_jcb
|
|
721
|
-
stix_mapping:
|
|
721
|
+
stix_mapping: payment-card
|
|
722
722
|
|
|
723
723
|
ai_bank_card_discover:
|
|
724
724
|
type: ai
|
|
@@ -734,7 +734,7 @@ ai_bank_card_discover:
|
|
|
734
734
|
prompt_helper: ''
|
|
735
735
|
prompt_conversion: ''
|
|
736
736
|
test_cases: generic_bank_card_discover
|
|
737
|
-
stix_mapping:
|
|
737
|
+
stix_mapping: payment-card
|
|
738
738
|
|
|
739
739
|
####### IBAN Extractions #######
|
|
740
740
|
|
|
@@ -491,92 +491,92 @@ pattern_bank_card_mastercard:
|
|
|
491
491
|
type: pattern
|
|
492
492
|
dogesec_web: true
|
|
493
493
|
name: 'Bank Card Mastercard'
|
|
494
|
-
description: 'Will extract card numbers and create a
|
|
494
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
495
495
|
notes: 'Also available: ai_bank_card_mastercard'
|
|
496
496
|
created: 2020-01-01
|
|
497
497
|
modified: 2020-01-01
|
|
498
498
|
created_by: DOGESEC
|
|
499
499
|
version: 1.0.0
|
|
500
500
|
test_cases: generic_bank_card_mastercard
|
|
501
|
-
stix_mapping:
|
|
501
|
+
stix_mapping: payment-card
|
|
502
502
|
|
|
503
503
|
pattern_bank_card_visa:
|
|
504
504
|
type: pattern
|
|
505
505
|
dogesec_web: true
|
|
506
506
|
name: 'Bank Card Visa'
|
|
507
|
-
description: 'Will extract card numbers and create a
|
|
507
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
508
508
|
notes: 'Also available: ai_bank_card_visa'
|
|
509
509
|
created: 2020-01-01
|
|
510
510
|
modified: 2020-01-01
|
|
511
511
|
created_by: DOGESEC
|
|
512
512
|
version: 1.0.0
|
|
513
513
|
test_cases: generic_bank_card_visa
|
|
514
|
-
stix_mapping:
|
|
514
|
+
stix_mapping: payment-card
|
|
515
515
|
|
|
516
516
|
pattern_bank_card_amex:
|
|
517
517
|
type: pattern
|
|
518
518
|
dogesec_web: true
|
|
519
519
|
name: 'Bank Card American Express'
|
|
520
|
-
description: 'Will extract card numbers and create a
|
|
520
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
521
521
|
notes: 'Also available: ai_bank_card_amex'
|
|
522
522
|
created: 2020-01-01
|
|
523
523
|
modified: 2020-01-01
|
|
524
524
|
created_by: DOGESEC
|
|
525
525
|
version: 1.0.0
|
|
526
526
|
test_cases: generic_bank_card_amex
|
|
527
|
-
stix_mapping:
|
|
527
|
+
stix_mapping: payment-card
|
|
528
528
|
|
|
529
529
|
pattern_bank_card_union_pay:
|
|
530
530
|
type: pattern
|
|
531
531
|
dogesec_web: true
|
|
532
532
|
name: 'Bank Card Union Pay'
|
|
533
|
-
description: 'Will extract card numbers and create a
|
|
533
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
534
534
|
notes: 'Also available: ai_bank_card_union_pay'
|
|
535
535
|
created: 2020-01-01
|
|
536
536
|
modified: 2020-01-01
|
|
537
537
|
created_by: DOGESEC
|
|
538
538
|
version: 1.0.0
|
|
539
539
|
test_cases: generic_bank_card_union_pay
|
|
540
|
-
stix_mapping:
|
|
540
|
+
stix_mapping: payment-card
|
|
541
541
|
|
|
542
542
|
pattern_bank_card_diners:
|
|
543
543
|
type: pattern
|
|
544
544
|
dogesec_web: true
|
|
545
545
|
name: 'Bank Card Diners'
|
|
546
|
-
description: 'Will extract card numbers and create a
|
|
546
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
547
547
|
notes: 'Also available: ai_bank_card_diners'
|
|
548
548
|
created: 2020-01-01
|
|
549
549
|
modified: 2020-01-01
|
|
550
550
|
created_by: DOGESEC
|
|
551
551
|
version: 1.0.0
|
|
552
552
|
test_cases: generic_bank_card_diners
|
|
553
|
-
stix_mapping:
|
|
553
|
+
stix_mapping: payment-card
|
|
554
554
|
|
|
555
555
|
pattern_bank_card_jcb:
|
|
556
556
|
type: pattern
|
|
557
557
|
dogesec_web: true
|
|
558
558
|
name: 'Bank Card JCB'
|
|
559
|
-
description: 'Will extract card numbers and create a
|
|
559
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
560
560
|
notes: 'Also available: ai_bank_card_jcb'
|
|
561
561
|
created: 2020-01-01
|
|
562
562
|
modified: 2020-01-01
|
|
563
563
|
created_by: DOGESEC
|
|
564
564
|
version: 1.0.0
|
|
565
565
|
test_cases: generic_bank_card_jcb
|
|
566
|
-
stix_mapping:
|
|
566
|
+
stix_mapping: payment-card
|
|
567
567
|
|
|
568
568
|
pattern_bank_card_discover:
|
|
569
569
|
type: pattern
|
|
570
570
|
dogesec_web: true
|
|
571
571
|
name: 'Bank Card Discover'
|
|
572
|
-
description: 'Will extract card numbers and create a
|
|
572
|
+
description: 'Will extract card numbers and create a payment-card object. Will also enrich card information if BIN List API key set'
|
|
573
573
|
notes: 'Also available: ai_bank_card_discover'
|
|
574
574
|
created: 2020-01-01
|
|
575
575
|
modified: 2020-01-01
|
|
576
576
|
created_by: DOGESEC
|
|
577
577
|
version: 1.0.0
|
|
578
578
|
test_cases: generic_bank_card_discover
|
|
579
|
-
stix_mapping:
|
|
579
|
+
stix_mapping: payment-card
|
|
580
580
|
|
|
581
581
|
####### IBAN Extractions #######
|
|
582
582
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "txt2stix"
|
|
7
|
-
version = "1.1.
|
|
7
|
+
version = "1.1.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."
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from types import SimpleNamespace
|
|
2
2
|
import pytest
|
|
3
3
|
from unittest.mock import MagicMock, patch
|
|
4
|
-
from stix2extensions._extensions import attack_flow_ExtensionDefinitionSMO
|
|
5
4
|
|
|
6
5
|
from txt2stix.ai_extractor.utils import AttackFlowList, AttackFlowItem
|
|
7
6
|
from txt2stix.attack_flow import (
|
|
@@ -26,7 +25,6 @@ def test_parse_flow(dummy_report, dummy_objects, dummy_flow):
|
|
|
26
25
|
"attack-pattern--1b22b676-9347-4c55-9a35-ef0dc653db5b",
|
|
27
26
|
"x-mitre-tactic--298fe907-7931-4fd2-8131-2814dd493134",
|
|
28
27
|
"attack-action--1fd63972-ef98-5da5-81f5-4090c7dfa585",
|
|
29
|
-
"extension-definition--fb9c968a-745b-4ade-9b25-c324172197f4",
|
|
30
28
|
"attack-pattern--1a80d097-54df-41d8-9d33-34e755ec5e72",
|
|
31
29
|
"report--9c88fbcb-8c0d-4124-868b-3dcb1e9b696c",
|
|
32
30
|
"attack-flow--bb21585c-5f82-55cf-b73d-89b5217ef092",
|
|
@@ -790,7 +788,7 @@ def dummy_report():
|
|
|
790
788
|
"marking-definition--e828b379-4e03-4974-9ac4-e53a884c97c1",
|
|
791
789
|
"marking-definition--f92e15d9-6afc-5ae2-bb3e-85a1fd83a3b5",
|
|
792
790
|
],
|
|
793
|
-
"object_refs": [
|
|
791
|
+
"object_refs": ["identity--e828b379-4e03-4974-9ac4-e53a884c97c1"],
|
|
794
792
|
"published": "2025-03-10T15:06:34.423036Z",
|
|
795
793
|
"spec_version": "2.1",
|
|
796
794
|
"type": "report",
|