pymisp 2.5.3__tar.gz → 2.5.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.
Potentially problematic release.
This version of pymisp might be problematic. Click here for more details.
- {pymisp-2.5.3 → pymisp-2.5.4}/CHANGELOG.txt +59 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/PKG-INFO +3 -3
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/README.md +1 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/android-app/definition.json +8 -2
- pymisp-2.5.4/pymisp/data/misp-objects/objects/spambee-report/definition.json +54 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/vulnerability/definition.json +5 -4
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/relationships/definition.json +17 -1
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/mispevent.py +87 -23
- {pymisp-2.5.3 → pymisp-2.5.4}/pyproject.toml +4 -4
- pymisp-2.5.4/tests/test_analyst_data.py +123 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/LICENSE +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/Makefile +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/PDF-export/ExportPDF.png +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/PDF-export/Internationalization_parameters.png +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/PDF-export/Internationalization_path.png +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/PDF-export/Parameters.png +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/PDF-export/README.MD +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/source/conf.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/source/index.rst +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/source/modules.rst +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/source/tools.rst +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/FullOverview.ipynb +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/Search-FullOverview.ipynb +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/a.7-rest-api-extensive-restsearch.ipynb +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/install_notebook.sh +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/old/PyMISP_tutorial.ipynb +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/old/Search.ipynb +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/docs/tutorial/old/Usage-NG.ipynb +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/__init__.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_attributes_from_csv.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_email_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_fail2ban_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_feed.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_file_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_filetype_object_from_csv.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_generic_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_github_user.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_gitlab_user.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_named_attribute.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_organisations.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_ssh_authorized_keys.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_user.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/add_vehicle_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/addtag2.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/admin/setup_sync.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/asciidoc_generator.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/cache_all.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/climate/scrippsco2.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/copyTagsFromAttributesToEvent.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/copy_list.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/covid19/import_csse_covid19_daily.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/covid19/import_dxy_covid19_live.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/create_events.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/cytomic_orion.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/del.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/delete_user.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/edit_organisation.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/edit_user.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/events/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/events/create_dummy_event.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/events/create_massive_dummy_events.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/events/dummy +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/events/tools.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/falsepositive_disabletoids.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator/generate.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator/output/empty +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator/settings.default.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/MISPItemToRedis.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/ObjectConstructor/CowrieMISPObject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/fromredis.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/generator.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/install.sh +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/server.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/feed-generator-from-redis/settings.default.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/fetch_events_feed.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/fetch_warninglist_hits.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/freetext.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/freetext.txt +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/generate_file_objects.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/generate_meta_feed.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/get.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/get_csv.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/get_network_activity.event_id +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/get_network_activity.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/graphdb/make_neo4j.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/ioc_2_misp/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/ioc_2_misp/ioc2misp.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/ioc_2_misp/keys.py.sample +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/ioc_2_misp/taxonomy.csv +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/keys.py.sample +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/last.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/load_csv.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/lookup.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/misp2cef.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/misp2clamav.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/openioc_to_misp.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/profiles/__init__.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/profiles/daily_report.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/profiles/weekly_report.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/proofpoint_tap.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/proofpoint_vap.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/search.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/search_attributes_yara.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/search_sighting.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/server_sync_check_conn.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/sharing_groups.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/show_sightings.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/sighting.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/__init__.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/attribute_treemap.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/bokeh_tools.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/date_tools.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/pygal_tools.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/style.css +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/style2.css +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/tag_scatter.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/tag_search.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/tags_count.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/tags_to_graphs.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/test_attribute_treemap.html +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/situational_awareness/tools.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/stats_report.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/suricata_search/README.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/sync_sighting.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/tags.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/test_sign.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/trustar.conf +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/trustar_misp.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/up.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/upload.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/user_sample.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/users_list.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/vmray_automation.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/vt_to_misp.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/warninglists.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/yara.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/examples/yara_dump.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/__init__.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/abstract.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/api.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/describeTypes.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/.git +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/.gitchangelog.rc +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/.github/workflows/codeql.yml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/.github/workflows/nosetests.yml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/.travis.yml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/LICENSE-software-only.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/LICENSE.md +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/docs/time-related-objects.ods +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/docs/time-related-objects.pdf +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/jq_all_the_things.sh +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ADS/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/abuseipdb/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ai-chat-prompt/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ail-leak/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ais/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ais-info/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/android-permission/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/annotation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/anonymisation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/apivoid-email-verification/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/artifact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/asn/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/attack-pattern/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/attack-step/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/attacker-infra/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/authentication-failure-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/authenticode-signerinfo/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/av-signature/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/availability-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/bank-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/bgp-hijack/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/bgp-ranking/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/blog/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/boleto/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/btc-transaction/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/btc-wallet/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/c2-list/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cap-alert/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cap-info/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cap-resource/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cert-pl-phishing/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cloth/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/coin-address/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/command/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/command-line/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/concordia-mtmf-intrusion-set/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/confidentiality-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cookie/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cortex/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cortex-taxonomy/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/course-of-action/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/covid19-csse-daily-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/covid19-dxy-live-city/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/covid19-dxy-live-province/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cowrie/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cpe-asset/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/credential/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/credit-card/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/crowdsec-ip-context/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/crowdstrike-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/crypto-material/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cryptocurrency-transaction/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cs-beacon-config/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ctf-challenge/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cytomic-orion-file/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/cytomic-orion-machine/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/dark-pattern-item/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ddos/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ddos-claim/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ddos-config/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/device/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/diameter-attack/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/diamond/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/directory/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/dkim/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/dns-record/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/dom-hash/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/domain-crawled/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/domain-ip/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/edr-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/elf/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/elf-section/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/email/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/employee/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/error-message/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/event/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/exploit/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/exploit-poc/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/external-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/facebook-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/facebook-group/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/facebook-page/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/facebook-post/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/facebook-reaction/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/facial-composite/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/fail2ban/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/favicon/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/file/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/flowintel-cm-case/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/flowintel-cm-task/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/flowintel-cm-task-note/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/forensic-case/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/forensic-evidence/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/forged-document/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Airplane/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Assessment/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Asset/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Associate/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Audio/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-BankAccount/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Call/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Company/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Contract/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-ContractAward/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-CourtCase/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-CourtCaseParty/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Debt/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Directorship/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Document/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Documentation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-EconomicActivity/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Email/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Event/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Family/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Folder/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-HyperText/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Image/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Land/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-LegalEntity/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-License/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Membership/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Message/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Organization/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Ownership/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Package/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Page/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Pages/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Passport/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Payment/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Person/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-PlainText/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-PublicBody/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-RealEstate/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Representation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Row/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Sanction/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Succession/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Table/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-TaxRoll/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-UnknownLink/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-UserAccount/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Vehicle/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Vessel/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Video/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ftm-Workbook/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/game-cheat/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/generalizing-persuasion-framework/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/geolocation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/git-vuln-finder/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/github-user/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/gitlab-user/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/google-safe-browsing/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/google-threat-intelligence-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/greynoise-ip/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/gtp-attack/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/hashlookup/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/hhhash/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/http-request/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/identity/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ilr-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ilr-notification-incident/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/image/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/impersonation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/imsi-catcher/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/incident/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/infrastructure/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/instant-message/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/instant-message-group/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/integrity-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/intel471-vulnerability-intelligence/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/intelmq_event/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/intelmq_report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/internal-reference/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/interpol-notice/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/intrusion-set/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/iot-device/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/iot-firmware/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ip-api-address/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ip-port/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/irc/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ja3/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ja3s/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ja4-plus/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/jarm/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/keybase-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/language-content/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/leaked-document/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/legal-entity/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/lnk/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/macho/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/macho-section/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/mactime-timeline-analysis/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/malware/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/malware-analysis/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/malware-config/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/meme-image/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/microblog/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/monetary-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/mutex/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/narrative/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/netflow/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/network-connection/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/network-profile/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/network-socket/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/network-traffic/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/news-agency/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/news-media/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/open-data-security/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/opentide/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/organization/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/original-imported-file/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/paloalto-threat-event/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/parler-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/parler-comment/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/parler-post/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/passive-dns/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/passive-dns-dnsdbflex/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/passive-ssh/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/paste/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/pcap-metadata/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/pe/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/pe-optional-header/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/pe-section/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/persnona/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/person/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/personification/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/pgp-meta/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/phishing/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/phishing-kit/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/phone/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/phone-number/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/physical-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/postal-address/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/probabilistic-data-structure/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/process/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/publication/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/python-etvx-event-log/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/query/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/r2graphity/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ransom-negotiation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ransomware-group-post/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/reddit-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/reddit-comment/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/reddit-post/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/reddit-subreddit/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regexp/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/registry-key/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/registry-key-value/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-NTUser/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-sam-hive-single-user/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-sam-hive-user-group/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-BHO/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-appInit-DLLS/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-application-paths/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-applications-installed/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-command-shell/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-software-run/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-userprofile-winlogon/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-software-hive-windows-general-info/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-system-hive-firewall-configuration/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-system-hive-general-configuration/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-system-hive-network-information/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/regripper-system-hive-services-drivers/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/research-scanner/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/risk-assessment-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/rogue-dns/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/rtir/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/sandbox-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/sb-signature/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scan-result/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scheduled-event/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scheduled-task/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scrippsco2-c13-daily/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scrippsco2-c13-monthly/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scrippsco2-co2-daily/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scrippsco2-co2-monthly/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scrippsco2-o18-daily/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/scrippsco2-o18-monthly/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/script/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/security-playbook/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/shadowserver-malware-url-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/shadowserver-scan-http-proxy/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/shell-commands/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/shodan-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/short-message-service/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/shortened-link/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/sigma/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/sigmf-archive/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/sigmf-expanded-recording/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/sigmf-recording/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/social-media-group/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/software/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/spearphishing-attachment/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/spearphishing-link/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/splunk/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ss7-attack/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/ssh-authorized-keys/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/stairwell/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/stix2-pattern/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/stock/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/submarine/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/suricata/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/target-system/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/task/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tattoo/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/telegram-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/telegram-bot/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/temporal-event/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/thaicert-group-cards/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/threatgrid-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/timecode/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/timesketch-timeline/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/timesketch_message/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/timestamp/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tor-hiddenservice/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tor-node/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/traceability-impact/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tracking-id/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/transaction/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/translation/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/transport-ticket/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/trustar_report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tsk-chats/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tsk-web-bookmark/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tsk-web-cookie/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tsk-web-downloads/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tsk-web-history/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/tsk-web-search-query/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/twitter-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/twitter-list/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/twitter-post/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/typosquatting-finder/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/typosquatting-finder-result/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/url/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/user-account/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/user-action/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/vehicle/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/victim/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/virustotal-graph/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/virustotal-report/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/virustotal-submission/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/weakness/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/whois/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/windows-service/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/x-header/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/x509/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/yabin/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/yara/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/youtube-channel/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/youtube-comment/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/youtube-playlist/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/youtube-video/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/schema_objects.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/schema_relationships.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/tools/adoc_objects.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/tools/alfred_links_to_relarelationships.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/tools/list_of_objects.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/tools/updated.sh +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/tools/validate_opposites.sh +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/unique_uuid.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/validate_all.sh +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/schema-lax.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/schema.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/exceptions.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/py.typed +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/__init__.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/_psl_faup.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/abstractgenerator.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/asnobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/create_misp_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/csvloader.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/domainipobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/elfobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/emailobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/ext_lookups.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/fail2banobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/feed.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/fileobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/genericgenerator.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/geolocationobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/git_vuln_finder_object.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/load_warninglists.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/machoobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/microblogobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/neo4j.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/openioc.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/peobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/reportlab_generator.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/sbsignatureobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/sshauthkeyobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/update_objects.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/urlobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/vehicleobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/pymisp/tools/vtreportobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/57c4445b-c548-4654-af0b-4be3950d210f.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/__init__.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/csv_testfiles/invalid_fieldnames.csv +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/csv_testfiles/valid_fieldnames.csv +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_1.eml.zip +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_1.msg +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_1_bom.eml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_1_headers_only.eml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_2.eml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_3.eml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_3.msg +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_4.msg +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_5.msg +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/mail_multiple_to.eml +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/email_testfiles/source +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/git-vuln-finder-quagga.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/misp_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/attribute.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/attribute_del.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/def_param.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/event_obj_attr_tag.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/event_obj_def_param.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/event_obj_tag.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/event_tags.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/existing_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/existing_event_edited.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/galaxy.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/malware.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/malware_exist.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/misp_custom_obj.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/overwrite_file/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/proposals.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/shadow.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/sighting.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/simple.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/mispevent_testfiles/test_object_template/definition.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/new_misp_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/HTML_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/galaxy_1.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/image_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/japanese_test.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/japanese_test_heavy.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/long_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/mainly_objects_1.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/mainly_objects_2.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/sighting_1.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/sighting_2.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/to_delete1.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/to_delete2.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/to_delete3.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testfiles/very_long_event.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testoutputs/to_delete1.json.pdf +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testoutputs/to_delete2.json.pdf +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/reportlab_testoutputs/to_delete3.json.pdf +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/search_index_result.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/sharing_groups.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/stix1.xml-utf8 +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/stix2.json +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/test_emailobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/test_fileobject.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/test_mispevent.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/test_reportlab.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/testlive_comprehensive.py +0 -0
- {pymisp-2.5.3 → pymisp-2.5.4}/tests/testlive_sync.py +0 -0
|
@@ -2,6 +2,64 @@ Changelog
|
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
v2.5.4 (2024-12-20)
|
|
6
|
+
-------------------
|
|
7
|
+
|
|
8
|
+
Changes
|
|
9
|
+
~~~~~~~
|
|
10
|
+
- Update objects templates. [Raphaël Vinot]
|
|
11
|
+
- Make python 3.9 happy. [Raphaël Vinot]
|
|
12
|
+
- Bump deps. [Raphaël Vinot]
|
|
13
|
+
- [AnalystData] Flattening analyst data based on the recent changes on
|
|
14
|
+
MISP standard format. [Christian Studer]
|
|
15
|
+
|
|
16
|
+
- Adding a note or an opinion will always add the
|
|
17
|
+
new analyst data object to the list of notes or
|
|
18
|
+
opinions at the parent data layer level
|
|
19
|
+
- `from_dict` on a JSON blob is also able to parse
|
|
20
|
+
properly analyst data and generate flat lists
|
|
21
|
+
regardless of whether the given data described
|
|
22
|
+
in the new flat or previously nested format
|
|
23
|
+
- Bump deps. [Raphaël Vinot]
|
|
24
|
+
- Bump deps. [Raphaël Vinot]
|
|
25
|
+
|
|
26
|
+
Fix
|
|
27
|
+
~~~
|
|
28
|
+
- [tests] Removed typing. [Christian Studer]
|
|
29
|
+
- [MISPAnalystData] Added missing typing. [Christian Studer]
|
|
30
|
+
- [MISPAnalystData] Reverted the declaration of Analyst data objects
|
|
31
|
+
lists back to the mixin parent class. [Christian Studer]
|
|
32
|
+
- [MISPAnalystData] Better handling of the different use cases.
|
|
33
|
+
[Christian Studer]
|
|
34
|
+
|
|
35
|
+
- Additional checks for parent to support both
|
|
36
|
+
the standalone and attached analyst data objects
|
|
37
|
+
- Standalone Analyst data objects with nested
|
|
38
|
+
notes or opinions are defined with the nesting
|
|
39
|
+
as they have no parent. When they are added to
|
|
40
|
+
a parent data layer, the nested objects are then
|
|
41
|
+
flattened
|
|
42
|
+
- [AnalystData] Typo... [Christian Studer]
|
|
43
|
+
- [AnalystData] Avoiding issues with analyst data objects. [Christian
|
|
44
|
+
Studer]
|
|
45
|
+
|
|
46
|
+
Other
|
|
47
|
+
~~~~~
|
|
48
|
+
- Chg; Bump version. [Raphaël Vinot]
|
|
49
|
+
- Revert "fix: [tests] Removed typing" [Christian Studer]
|
|
50
|
+
|
|
51
|
+
This reverts commit a7cf9dc3f03ffda5ee6c1b614792455fe43d8704.
|
|
52
|
+
- Add: [tests] Testing Analyst Data in different scenarios. [Christian
|
|
53
|
+
Studer]
|
|
54
|
+
|
|
55
|
+
- Testing different ways to attach analyst data
|
|
56
|
+
- Testing that no matter what object type the
|
|
57
|
+
analyst data is attached to, the `object_type`
|
|
58
|
+
& `object_uuid` are correct, and the parent
|
|
59
|
+
container does contain every analyst data object
|
|
60
|
+
in flat lists with no nesting
|
|
61
|
+
|
|
62
|
+
|
|
5
63
|
v2.5.3 (2024-12-16)
|
|
6
64
|
-------------------
|
|
7
65
|
|
|
@@ -26,6 +84,7 @@ New
|
|
|
26
84
|
|
|
27
85
|
Changes
|
|
28
86
|
~~~~~~~
|
|
87
|
+
- Bump changelog. [Raphaël Vinot]
|
|
29
88
|
- Bump release. [Raphaël Vinot]
|
|
30
89
|
- Bump deps. [Raphaël Vinot]
|
|
31
90
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pymisp
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.4
|
|
4
4
|
Summary: Python API for MISP.
|
|
5
5
|
Home-page: https://github.com/MISP/PyMISP
|
|
6
6
|
License: BSD-2-Clause
|
|
@@ -36,9 +36,9 @@ Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0) ; extra == "openioc"
|
|
|
36
36
|
Requires-Dist: deprecated (>=1.2.15,<2.0.0)
|
|
37
37
|
Requires-Dist: docutils (>=0.21.1,<0.22.0) ; (python_version >= "3.10") and (extra == "docs")
|
|
38
38
|
Requires-Dist: extract_msg (>=0.52,<0.53) ; extra == "email"
|
|
39
|
-
Requires-Dist: lief (>=0.
|
|
39
|
+
Requires-Dist: lief (>=0.16.0,<0.17.0) ; extra == "fileobjects"
|
|
40
40
|
Requires-Dist: oletools (>=0.60.1,<0.61.0) ; extra == "email"
|
|
41
|
-
Requires-Dist: publicsuffixlist (>=1.0.2.
|
|
41
|
+
Requires-Dist: publicsuffixlist (>=1.0.2.20241218,<2.0.0.0)
|
|
42
42
|
Requires-Dist: pydeep2 (>=0.5.1,<0.6.0) ; extra == "fileobjects"
|
|
43
43
|
Requires-Dist: pyfaup (>=1.2,<2.0) ; extra == "url"
|
|
44
44
|
Requires-Dist: python-dateutil (>=2.9.0.post0,<3.0.0)
|
|
@@ -396,6 +396,7 @@ for a specific attribute. An optional **to_ids** boolean field to disable the ID
|
|
|
396
396
|
- [objects/sigmf-recording](https://github.com/MISP/misp-objects/blob/main/objects/sigmf-recording/definition.json) - An object representing a single IQ/RF sample in the Signal Metadata Format Specification (SigMF).
|
|
397
397
|
- [objects/social-media-group](https://github.com/MISP/misp-objects/blob/main/objects/social-media-group/definition.json) - Social media group object template describing a public or private group or channel.
|
|
398
398
|
- [objects/software](https://github.com/MISP/misp-objects/blob/main/objects/software/definition.json) - The Software object represents high-level properties associated with software, including software products. STIX 2.1 - 6.14.
|
|
399
|
+
- [objects/spambee-report](https://github.com/MISP/misp-objects/main/objects/spambee-report/definition.json) - A Spambee analysis report.
|
|
399
400
|
- [objects/spearphishing-attachment](https://github.com/MISP/misp-objects/blob/main/objects/spearphishing-attachment/definition.json) - Spearphishing Attachment.
|
|
400
401
|
- [objects/spearphishing-link](https://github.com/MISP/misp-objects/blob/main/objects/spearphishing-link/definition.json) - Spearphishing Link.
|
|
401
402
|
- [objects/splunk](https://github.com/MISP/misp-objects/blob/main/objects/splunk/definition.json) - Splunk / Splunk ES object.
|
|
@@ -7,11 +7,17 @@
|
|
|
7
7
|
"ui-priority": 1
|
|
8
8
|
},
|
|
9
9
|
"certificate": {
|
|
10
|
-
"description": "Android certificate",
|
|
10
|
+
"description": "Android certificate (SHA1)",
|
|
11
11
|
"misp-attribute": "sha1",
|
|
12
12
|
"multiple": true,
|
|
13
13
|
"ui-priority": 1
|
|
14
14
|
},
|
|
15
|
+
"certificate-sha256": {
|
|
16
|
+
"description": "Android certificate (SHA256)",
|
|
17
|
+
"misp-attribute": "sha256",
|
|
18
|
+
"multiple": true,
|
|
19
|
+
"ui-priority": 1
|
|
20
|
+
},
|
|
15
21
|
"domain": {
|
|
16
22
|
"description": "Domain used by the app",
|
|
17
23
|
"misp-attribute": "domain",
|
|
@@ -39,5 +45,5 @@
|
|
|
39
45
|
"sha256"
|
|
40
46
|
],
|
|
41
47
|
"uuid": "92836f23-4730-4eae-82ac-9f00d5299735",
|
|
42
|
-
"version":
|
|
48
|
+
"version": 2
|
|
43
49
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"attributes": {
|
|
3
|
+
"feedback-requested": {
|
|
4
|
+
"description": "User has requested feedback",
|
|
5
|
+
"disable_correlation": true,
|
|
6
|
+
"misp-attribute": "boolean",
|
|
7
|
+
"ui-priority": 0
|
|
8
|
+
},
|
|
9
|
+
"feedback-sent": {
|
|
10
|
+
"description": "Feedback has been sent to user",
|
|
11
|
+
"disable_correlation": true,
|
|
12
|
+
"misp-attribute": "boolean",
|
|
13
|
+
"ui-priority": 0
|
|
14
|
+
},
|
|
15
|
+
"feedback-time": {
|
|
16
|
+
"description": "Timestamp of the feedback",
|
|
17
|
+
"disable_correlation": true,
|
|
18
|
+
"misp-attribute": "datetime",
|
|
19
|
+
"ui-priority": 0
|
|
20
|
+
},
|
|
21
|
+
"privacy": {
|
|
22
|
+
"description": "User has requested privacy",
|
|
23
|
+
"disable_correlation": true,
|
|
24
|
+
"misp-attribute": "boolean",
|
|
25
|
+
"ui-priority": 0
|
|
26
|
+
},
|
|
27
|
+
"report-status": {
|
|
28
|
+
"categories": [
|
|
29
|
+
"External analysis"
|
|
30
|
+
],
|
|
31
|
+
"description": "Result of the Spambee analysis for the submitted email",
|
|
32
|
+
"disable_correlation": true,
|
|
33
|
+
"misp-attribute": "text",
|
|
34
|
+
"ui-priority": 0
|
|
35
|
+
},
|
|
36
|
+
"report-uid": {
|
|
37
|
+
"categories": [
|
|
38
|
+
"Internal reference"
|
|
39
|
+
],
|
|
40
|
+
"description": "Internal reference to the Spambee report",
|
|
41
|
+
"disable_correlation": true,
|
|
42
|
+
"misp-attribute": "text",
|
|
43
|
+
"ui-priority": 0
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"description": "A Spambee analysis report",
|
|
47
|
+
"meta-category": "network",
|
|
48
|
+
"name": "spambee-report",
|
|
49
|
+
"requiredOneOf": [
|
|
50
|
+
"report-uid"
|
|
51
|
+
],
|
|
52
|
+
"uuid": "305d6e6c-bb4d-4b9a-abf5-9f34d1322352",
|
|
53
|
+
"version": 3
|
|
54
|
+
}
|
{pymisp-2.5.3 → pymisp-2.5.4}/pymisp/data/misp-objects/objects/vulnerability/definition.json
RENAMED
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
"ui-priority": 0
|
|
15
15
|
},
|
|
16
16
|
"cvss-score": {
|
|
17
|
-
"description": "Score of the Common Vulnerability Scoring System
|
|
17
|
+
"description": "Score of the Common Vulnerability Scoring System.",
|
|
18
18
|
"disable_correlation": true,
|
|
19
19
|
"misp-attribute": "float",
|
|
20
20
|
"ui-priority": 1
|
|
21
21
|
},
|
|
22
22
|
"cvss-string": {
|
|
23
|
-
"description": "String of the Common Vulnerability Scoring System
|
|
23
|
+
"description": "String of the Common Vulnerability Scoring System.",
|
|
24
24
|
"disable_correlation": true,
|
|
25
25
|
"misp-attribute": "text",
|
|
26
26
|
"ui-priority": 1
|
|
@@ -65,7 +65,8 @@
|
|
|
65
65
|
"Reviewed",
|
|
66
66
|
"Vulnerability ID Assigned",
|
|
67
67
|
"Reported",
|
|
68
|
-
"Fixed"
|
|
68
|
+
"Fixed",
|
|
69
|
+
"Encoded"
|
|
69
70
|
],
|
|
70
71
|
"ui-priority": 0
|
|
71
72
|
},
|
|
@@ -94,5 +95,5 @@
|
|
|
94
95
|
"id"
|
|
95
96
|
],
|
|
96
97
|
"uuid": "81650945-f186-437b-8945-9f31715d32da",
|
|
97
|
-
"version":
|
|
98
|
+
"version": 9
|
|
98
99
|
}
|
|
@@ -1907,7 +1907,23 @@
|
|
|
1907
1907
|
"misp"
|
|
1908
1908
|
],
|
|
1909
1909
|
"name": "releasable-to"
|
|
1910
|
+
},
|
|
1911
|
+
{
|
|
1912
|
+
"description": "The source object is weakened by the target weakness.",
|
|
1913
|
+
"format": [
|
|
1914
|
+
"misp"
|
|
1915
|
+
],
|
|
1916
|
+
"name": "weakened-by",
|
|
1917
|
+
"opposite": "weakens"
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"description": "The source weakness weakens the target object.",
|
|
1921
|
+
"format": [
|
|
1922
|
+
"misp"
|
|
1923
|
+
],
|
|
1924
|
+
"name": "weakens",
|
|
1925
|
+
"opposite": "weakened-by"
|
|
1910
1926
|
}
|
|
1911
1927
|
],
|
|
1912
|
-
"version":
|
|
1928
|
+
"version": 51
|
|
1913
1929
|
}
|
|
@@ -60,28 +60,37 @@ class AnalystDataBehaviorMixin(AbstractMISP):
|
|
|
60
60
|
|
|
61
61
|
def add_note(self, note: str, language: str | None = None, **kwargs) -> MISPNote: # type: ignore[no-untyped-def]
|
|
62
62
|
the_note = MISPNote()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
object_uuid = kwargs.pop('object_uuid', self.uuid)
|
|
64
|
+
object_type = kwargs.pop('object_type', self.analyst_data_object_type)
|
|
65
|
+
the_note.from_dict(
|
|
66
|
+
note=note, language=language, object_uuid=object_uuid,
|
|
67
|
+
object_type=object_type, contained=True, parent=self, **kwargs
|
|
68
|
+
)
|
|
66
69
|
self.notes.append(the_note)
|
|
67
70
|
self.edited = True
|
|
68
71
|
return the_note
|
|
69
72
|
|
|
70
73
|
def add_opinion(self, opinion: int, comment: str | None = None, **kwargs) -> MISPOpinion: # type: ignore[no-untyped-def]
|
|
71
74
|
the_opinion = MISPOpinion()
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
object_uuid = kwargs.pop('object_uuid', self.uuid)
|
|
76
|
+
object_type = kwargs.pop('object_type', self.analyst_data_object_type)
|
|
77
|
+
the_opinion.from_dict(
|
|
78
|
+
opinion=opinion, comment=comment, object_uuid=object_uuid,
|
|
79
|
+
object_type=object_type, contained=True, parent=self, **kwargs
|
|
80
|
+
)
|
|
75
81
|
self.opinions.append(the_opinion)
|
|
76
82
|
self.edited = True
|
|
77
83
|
return the_opinion
|
|
78
84
|
|
|
79
85
|
def add_relationship(self, related_object_type: AbstractMISP | str, related_object_uuid: str | None, relationship_type: str, **kwargs) -> MISPRelationship: # type: ignore[no-untyped-def]
|
|
80
86
|
the_relationship = MISPRelationship()
|
|
81
|
-
the_relationship.from_dict(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
87
|
+
the_relationship.from_dict(
|
|
88
|
+
related_object_type=related_object_type,
|
|
89
|
+
related_object_uuid=related_object_uuid,
|
|
90
|
+
relationship_type=relationship_type, object_uuid=self.uuid,
|
|
91
|
+
object_type=self.analyst_data_object_type, contained=True,
|
|
92
|
+
parent=self, **kwargs
|
|
93
|
+
)
|
|
85
94
|
self.relationships.append(the_relationship)
|
|
86
95
|
self.edited = True
|
|
87
96
|
return the_relationship
|
|
@@ -93,12 +102,8 @@ class AnalystDataBehaviorMixin(AbstractMISP):
|
|
|
93
102
|
relationships = kwargs.pop('Relationship', [])
|
|
94
103
|
super().from_dict(**kwargs)
|
|
95
104
|
for note in notes:
|
|
96
|
-
note.pop('object_uuid', None)
|
|
97
|
-
note.pop('object_type', None)
|
|
98
105
|
self.add_note(**note)
|
|
99
106
|
for opinion in opinions:
|
|
100
|
-
opinion.pop('object_uuid', None)
|
|
101
|
-
opinion.pop('object_type', None)
|
|
102
107
|
self.add_opinion(**opinion)
|
|
103
108
|
for relationship in relationships:
|
|
104
109
|
relationship.pop('object_uuid', None)
|
|
@@ -2523,6 +2528,10 @@ class MISPAnalystData(AbstractMISP):
|
|
|
2523
2528
|
'Object', 'Note', 'Opinion', 'Relationship', 'Organisation',
|
|
2524
2529
|
'SharingGroup'}
|
|
2525
2530
|
|
|
2531
|
+
@property
|
|
2532
|
+
def analyst_data_object_type(self) -> str:
|
|
2533
|
+
return self._analyst_data_object_type
|
|
2534
|
+
|
|
2526
2535
|
@property
|
|
2527
2536
|
def org(self) -> MISPOrganisation:
|
|
2528
2537
|
return self.Org
|
|
@@ -2538,6 +2547,10 @@ class MISPAnalystData(AbstractMISP):
|
|
|
2538
2547
|
else:
|
|
2539
2548
|
raise PyMISPError('Orgc must be of type MISPOrganisation.')
|
|
2540
2549
|
|
|
2550
|
+
@property
|
|
2551
|
+
def parent(self) -> MISPAttribute | MISPEvent | MISPEventReport | MISPObject:
|
|
2552
|
+
return self.__parent
|
|
2553
|
+
|
|
2541
2554
|
def __new__(cls, *args, **kwargs):
|
|
2542
2555
|
if cls is MISPAnalystData:
|
|
2543
2556
|
raise TypeError(f"only children of '{cls.__name__}' may be instantiated")
|
|
@@ -2552,8 +2565,54 @@ class MISPAnalystData(AbstractMISP):
|
|
|
2552
2565
|
self.created: float | int | datetime
|
|
2553
2566
|
self.modified: float | int | datetime
|
|
2554
2567
|
self.SharingGroup: MISPSharingGroup
|
|
2568
|
+
self._analyst_data_object_type: str # Must be defined in the child class
|
|
2569
|
+
|
|
2570
|
+
def add_note(self, note: str, language: str | None = None, object_uuid: str | None = None, object_type: str | None = None, parent: MISPEvent | MISPAttribute | MISPObject | MISPEventReport | None = None, **kwargs: dict[str, Any]) -> MISPNote:
|
|
2571
|
+
misp_note = MISPNote()
|
|
2572
|
+
if object_uuid is None:
|
|
2573
|
+
object_uuid = self.uuid
|
|
2574
|
+
if object_type is None:
|
|
2575
|
+
object_type = self.analyst_data_object_type
|
|
2576
|
+
if parent is None and hasattr(self, 'parent'):
|
|
2577
|
+
parent = self.parent
|
|
2578
|
+
misp_note.from_dict(
|
|
2579
|
+
note=note, language=language, object_uuid=object_uuid,
|
|
2580
|
+
object_type=object_type, parent=parent, contained=True, **kwargs
|
|
2581
|
+
)
|
|
2582
|
+
if parent is None:
|
|
2583
|
+
if not hasattr(self, 'Note'):
|
|
2584
|
+
self.Note: list[MISPNote] = []
|
|
2585
|
+
self.Note.append(misp_note)
|
|
2586
|
+
else:
|
|
2587
|
+
self.parent.notes.append(misp_note)
|
|
2588
|
+
self.edited = True
|
|
2589
|
+
return misp_note
|
|
2590
|
+
|
|
2591
|
+
def add_opinion(self, opinion: int, comment: str | None = None, object_uuid: str | None = None, object_type: str | None = None, parent: MISPEvent | MISPAttribute | MISPObject | MISPEventReport | None = None, **kwargs: dict[str, Any]) -> MISPOpinion:
|
|
2592
|
+
misp_opinion = MISPOpinion()
|
|
2593
|
+
if object_uuid is None:
|
|
2594
|
+
object_uuid = self.uuid
|
|
2595
|
+
if object_type is None:
|
|
2596
|
+
object_type = self.analyst_data_object_type
|
|
2597
|
+
if parent is None and hasattr(self, 'parent'):
|
|
2598
|
+
parent = self.parent
|
|
2599
|
+
misp_opinion.from_dict(
|
|
2600
|
+
opinion=opinion, comment=comment, object_uuid=object_uuid,
|
|
2601
|
+
object_type=object_type, parent=parent, contained=True, **kwargs
|
|
2602
|
+
)
|
|
2603
|
+
if parent is None:
|
|
2604
|
+
if not hasattr(self, 'Opinion'):
|
|
2605
|
+
self.Opinion: list[MISPOpinion] = []
|
|
2606
|
+
self.Opinion.append(misp_opinion)
|
|
2607
|
+
else:
|
|
2608
|
+
self.parent.opinions.append(misp_opinion)
|
|
2609
|
+
self.edited = True
|
|
2610
|
+
return misp_opinion
|
|
2555
2611
|
|
|
2556
2612
|
def from_dict(self, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2613
|
+
notes = kwargs.pop('Note', [])
|
|
2614
|
+
opinions = kwargs.pop('Opinion', [])
|
|
2615
|
+
self.__parent = kwargs.pop('parent', None)
|
|
2557
2616
|
self.distribution = kwargs.pop('distribution', None)
|
|
2558
2617
|
if self.distribution is not None:
|
|
2559
2618
|
self.distribution = int(self.distribution)
|
|
@@ -2607,6 +2666,11 @@ class MISPAnalystData(AbstractMISP):
|
|
|
2607
2666
|
|
|
2608
2667
|
super().from_dict(**kwargs)
|
|
2609
2668
|
|
|
2669
|
+
for note in notes:
|
|
2670
|
+
self.add_note(**note)
|
|
2671
|
+
for opinion in opinions:
|
|
2672
|
+
self.add_opinion(**opinion)
|
|
2673
|
+
|
|
2610
2674
|
def _set_default(self) -> None:
|
|
2611
2675
|
if not hasattr(self, 'created'):
|
|
2612
2676
|
self.created = datetime.timestamp(datetime.now())
|
|
@@ -2614,7 +2678,7 @@ class MISPAnalystData(AbstractMISP):
|
|
|
2614
2678
|
self.modified = self.created
|
|
2615
2679
|
|
|
2616
2680
|
|
|
2617
|
-
class MISPNote(
|
|
2681
|
+
class MISPNote(MISPAnalystData):
|
|
2618
2682
|
|
|
2619
2683
|
_fields_for_feed: set[str] = MISPAnalystData._fields_for_feed.union({'note', 'language'})
|
|
2620
2684
|
|
|
@@ -2625,8 +2689,8 @@ class MISPNote(AnalystDataBehaviorMixin, MISPAnalystData):
|
|
|
2625
2689
|
self.language: str
|
|
2626
2690
|
super().__init__(**kwargs)
|
|
2627
2691
|
|
|
2628
|
-
def from_dict(self, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2629
|
-
if 'Note' in kwargs:
|
|
2692
|
+
def from_dict(self, contained=False, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2693
|
+
if not contained and 'Note' in kwargs:
|
|
2630
2694
|
kwargs = kwargs['Note']
|
|
2631
2695
|
self.note = kwargs.pop('note', None)
|
|
2632
2696
|
if self.note is None:
|
|
@@ -2639,7 +2703,7 @@ class MISPNote(AnalystDataBehaviorMixin, MISPAnalystData):
|
|
|
2639
2703
|
return f'<{self.__class__.__name__}(NotInitialized)'
|
|
2640
2704
|
|
|
2641
2705
|
|
|
2642
|
-
class MISPOpinion(
|
|
2706
|
+
class MISPOpinion(MISPAnalystData):
|
|
2643
2707
|
|
|
2644
2708
|
_fields_for_feed: set[str] = MISPAnalystData._fields_for_feed.union({'opinion', 'comment'})
|
|
2645
2709
|
|
|
@@ -2650,8 +2714,8 @@ class MISPOpinion(AnalystDataBehaviorMixin, MISPAnalystData):
|
|
|
2650
2714
|
self.comment: str
|
|
2651
2715
|
super().__init__(**kwargs)
|
|
2652
2716
|
|
|
2653
|
-
def from_dict(self, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2654
|
-
if 'Opinion' in kwargs:
|
|
2717
|
+
def from_dict(self, contained=False, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2718
|
+
if not contained and 'Opinion' in kwargs:
|
|
2655
2719
|
kwargs = kwargs['Opinion']
|
|
2656
2720
|
self.opinion = kwargs.pop('opinion', None)
|
|
2657
2721
|
if self.opinion is not None:
|
|
@@ -2673,7 +2737,7 @@ class MISPOpinion(AnalystDataBehaviorMixin, MISPAnalystData):
|
|
|
2673
2737
|
return f'<{self.__class__.__name__}(NotInitialized)'
|
|
2674
2738
|
|
|
2675
2739
|
|
|
2676
|
-
class MISPRelationship(
|
|
2740
|
+
class MISPRelationship(MISPAnalystData):
|
|
2677
2741
|
|
|
2678
2742
|
_fields_for_feed: set[str] = MISPAnalystData._fields_for_feed.union({'related_object_uuid', 'related_object_type', 'relationship_type'})
|
|
2679
2743
|
|
|
@@ -2685,8 +2749,8 @@ class MISPRelationship(AnalystDataBehaviorMixin, MISPAnalystData):
|
|
|
2685
2749
|
self.relationship_type: str
|
|
2686
2750
|
super().__init__(**kwargs)
|
|
2687
2751
|
|
|
2688
|
-
def from_dict(self, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2689
|
-
if 'Relationship' in kwargs:
|
|
2752
|
+
def from_dict(self, contained=False, **kwargs) -> None: # type: ignore[no-untyped-def]
|
|
2753
|
+
if not contained and 'Relationship' in kwargs:
|
|
2690
2754
|
kwargs = kwargs['Relationship']
|
|
2691
2755
|
self.related_object_type = kwargs.pop('related_object_type', None)
|
|
2692
2756
|
if self.related_object_type is None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "pymisp"
|
|
3
|
-
version = "2.5.
|
|
3
|
+
version = "2.5.4"
|
|
4
4
|
description = "Python API for MISP."
|
|
5
5
|
authors = ["Raphaël Vinot <raphael.vinot@circl.lu>"]
|
|
6
6
|
license = "BSD-2-Clause"
|
|
@@ -53,7 +53,7 @@ RTFDE = {version = "^0.1.1", optional = true}
|
|
|
53
53
|
oletools = {version = "^0.60.1", optional = true}
|
|
54
54
|
python-magic = {version = "^0.4.27", optional = true}
|
|
55
55
|
pydeep2 = {version = "^0.5.1", optional = true}
|
|
56
|
-
lief = {version = "^0.
|
|
56
|
+
lief = {version = "^0.16.0", optional = true}
|
|
57
57
|
beautifulsoup4 = {version = "^4.12.3", optional = true}
|
|
58
58
|
validators = {version = "^0.34.0", optional = true}
|
|
59
59
|
sphinx-autodoc-typehints = {version = "^2.5.0", optional = true, python = ">=3.10"}
|
|
@@ -61,7 +61,7 @@ docutils = {version = "^0.21.1", optional = true, python = ">=3.10"}
|
|
|
61
61
|
recommonmark = {version = "^0.7.1", optional = true, python = ">=3.10"}
|
|
62
62
|
reportlab = {version = "^4.2.5", optional = true}
|
|
63
63
|
pyfaup = {version = "^1.2", optional = true}
|
|
64
|
-
publicsuffixlist = {version = "^1.0.2.
|
|
64
|
+
publicsuffixlist = {version = "^1.0.2.20241218", optional = true}
|
|
65
65
|
urllib3 = {extras = ["brotli"], version = "*", optional = true}
|
|
66
66
|
Sphinx = [
|
|
67
67
|
{version = "^8", python = ">=3.10", optional = true}
|
|
@@ -84,7 +84,7 @@ ipython = [
|
|
|
84
84
|
{version = "^8.18.0", python = "<3.10"},
|
|
85
85
|
{version = "^8.19.0", python = ">=3.10"}
|
|
86
86
|
]
|
|
87
|
-
jupyterlab = "^4.3.
|
|
87
|
+
jupyterlab = "^4.3.4"
|
|
88
88
|
types-requests = "^2.32.0.20241016"
|
|
89
89
|
types-python-dateutil = "^2.9.0.20241206"
|
|
90
90
|
types-redis = "^4.6.0.20241004"
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import unittest
|
|
6
|
+
from pymisp import (MISPAttribute, MISPEvent, MISPEventReport, MISPNote,
|
|
7
|
+
MISPObject, MISPOpinion)
|
|
8
|
+
from uuid import uuid4
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TestAnalystData(unittest.TestCase):
|
|
12
|
+
def setUp(self) -> None:
|
|
13
|
+
self.note_dict = {
|
|
14
|
+
"uuid": uuid4(),
|
|
15
|
+
"note": "note3"
|
|
16
|
+
}
|
|
17
|
+
self.opinion_dict = {
|
|
18
|
+
"uuid": uuid4(),
|
|
19
|
+
"opinion": 75,
|
|
20
|
+
"comment": "Agree"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
def test_analyst_data_on_attribute(self) -> None:
|
|
24
|
+
attribute = MISPAttribute()
|
|
25
|
+
attribute.from_dict(type='filename', value='foo.exe')
|
|
26
|
+
self._attach_analyst_data(attribute)
|
|
27
|
+
|
|
28
|
+
def test_analyst_data_on_attribute_alternative(self) -> None:
|
|
29
|
+
event = MISPEvent()
|
|
30
|
+
event.info = 'Test on Attribute'
|
|
31
|
+
event.add_attribute('domain', 'foo.bar')
|
|
32
|
+
self._attach_analyst_data(event.attributes[0])
|
|
33
|
+
|
|
34
|
+
def test_analyst_data_on_event(self) -> None:
|
|
35
|
+
event = MISPEvent()
|
|
36
|
+
event.info = 'Test Event'
|
|
37
|
+
self._attach_analyst_data(event)
|
|
38
|
+
|
|
39
|
+
def test_analyst_data_on_event_report(self) -> None:
|
|
40
|
+
event_report = MISPEventReport()
|
|
41
|
+
event_report.from_dict(name='Test Report', content='This is a report')
|
|
42
|
+
self._attach_analyst_data(event_report)
|
|
43
|
+
|
|
44
|
+
def test_analyst_data_on_event_report_alternative(self) -> None:
|
|
45
|
+
event = MISPEvent()
|
|
46
|
+
event.info = 'Test on Event Report'
|
|
47
|
+
event.add_event_report('Test Report', 'This is a report')
|
|
48
|
+
self._attach_analyst_data(event.event_reports[0])
|
|
49
|
+
|
|
50
|
+
def test_analyst_data_on_object(self) -> None:
|
|
51
|
+
misp_object = MISPObject('file')
|
|
52
|
+
misp_object.add_attribute('filename', 'foo.exe')
|
|
53
|
+
self._attach_analyst_data(misp_object)
|
|
54
|
+
|
|
55
|
+
def test_analyst_data_on_object_alternative(self) -> None:
|
|
56
|
+
event = MISPEvent()
|
|
57
|
+
event.info = 'Test on Object'
|
|
58
|
+
misp_object = MISPObject('file')
|
|
59
|
+
misp_object.add_attribute('filename', 'foo.exe')
|
|
60
|
+
event.add_object(misp_object)
|
|
61
|
+
self._attach_analyst_data(event.objects[0])
|
|
62
|
+
|
|
63
|
+
def test_analyst_data_on_object_attribute(self) -> None:
|
|
64
|
+
misp_object = MISPObject('file')
|
|
65
|
+
object_attribute = misp_object.add_attribute('filename', 'foo.exe')
|
|
66
|
+
self._attach_analyst_data(object_attribute)
|
|
67
|
+
|
|
68
|
+
def test_analyst_data_object_object_attribute_alternative(self) -> None:
|
|
69
|
+
misp_object = MISPObject('file')
|
|
70
|
+
misp_object.add_attribute('filename', 'foo.exe')
|
|
71
|
+
self._attach_analyst_data(misp_object.attributes[0])
|
|
72
|
+
|
|
73
|
+
def _attach_analyst_data(
|
|
74
|
+
self, container: MISPAttribute | MISPEvent | MISPEventReport | MISPObject) -> None:
|
|
75
|
+
object_type = container._analyst_data_object_type
|
|
76
|
+
note1 = container.add_note(note='note1')
|
|
77
|
+
opinion1 = note1.add_opinion(opinion=25, comment='Disagree')
|
|
78
|
+
opinion2 = container.add_opinion(opinion=50, comment='Neutral')
|
|
79
|
+
note2 = opinion2.add_note(note='note2')
|
|
80
|
+
|
|
81
|
+
dict_note = MISPNote()
|
|
82
|
+
dict_note.from_dict(
|
|
83
|
+
object_type=object_type, object_uuid=container.uuid, **self.note_dict
|
|
84
|
+
)
|
|
85
|
+
note3 = container.add_note(**dict_note)
|
|
86
|
+
dict_opinion = MISPOpinion()
|
|
87
|
+
dict_opinion.from_dict(
|
|
88
|
+
object_type='Note', object_uuid=note3.uuid, **self.opinion_dict
|
|
89
|
+
)
|
|
90
|
+
container.add_opinion(**dict_opinion)
|
|
91
|
+
|
|
92
|
+
self.assertEqual(len(container.notes), 3)
|
|
93
|
+
self.assertEqual(len(container.opinions), 3)
|
|
94
|
+
|
|
95
|
+
misp_note1, misp_note2, misp_note3 = container.notes
|
|
96
|
+
misp_opinion1, misp_opinion2, misp_opinion3 = container.opinions
|
|
97
|
+
|
|
98
|
+
self.assertEqual(misp_note1.object_type, object_type)
|
|
99
|
+
self.assertEqual(misp_note1.object_uuid, container.uuid)
|
|
100
|
+
self.assertEqual(misp_note1.note, 'note1')
|
|
101
|
+
|
|
102
|
+
self.assertEqual(misp_note2.object_type, 'Opinion')
|
|
103
|
+
self.assertEqual(misp_note2.object_uuid, opinion2.uuid)
|
|
104
|
+
self.assertEqual(misp_note2.note, 'note2')
|
|
105
|
+
|
|
106
|
+
self.assertEqual(misp_note3.object_type, object_type)
|
|
107
|
+
self.assertEqual(misp_note3.object_uuid, container.uuid)
|
|
108
|
+
self.assertEqual(misp_note3.note, 'note3')
|
|
109
|
+
|
|
110
|
+
self.assertEqual(misp_opinion1.object_type, 'Note')
|
|
111
|
+
self.assertEqual(misp_opinion1.object_uuid, note1.uuid)
|
|
112
|
+
self.assertEqual(misp_opinion1.opinion, 25)
|
|
113
|
+
self.assertEqual(misp_opinion1.comment, 'Disagree')
|
|
114
|
+
|
|
115
|
+
self.assertEqual(misp_opinion2.object_type, object_type)
|
|
116
|
+
self.assertEqual(misp_opinion2.object_uuid, container.uuid)
|
|
117
|
+
self.assertEqual(misp_opinion2.opinion, 50)
|
|
118
|
+
self.assertEqual(misp_opinion2.comment, 'Neutral')
|
|
119
|
+
|
|
120
|
+
self.assertEqual(misp_opinion3.object_type, 'Note')
|
|
121
|
+
self.assertEqual(misp_opinion3.object_uuid, note3.uuid)
|
|
122
|
+
self.assertEqual(misp_opinion3.opinion, 75)
|
|
123
|
+
self.assertEqual(misp_opinion3.comment, 'Agree')
|
|
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
|