assemblyline 4.7.5.dev77__tar.gz → 4.7.5.dev79__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.
- {assemblyline-4.7.5.dev77/assemblyline.egg-info → assemblyline-4.7.5.dev79}/PKG-INFO +1 -1
- assemblyline-4.7.5.dev79/assemblyline/VERSION +1 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/helper.py +1 -300
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79/assemblyline.egg-info}/PKG-INFO +1 -1
- assemblyline-4.7.5.dev77/assemblyline/VERSION +0 -1
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/LICENCE.md +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/MANIFEST.in +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/README.md +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/cachestore/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/archiving.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/attack_map.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/backupmanager.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/banner.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/bundling.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/caching.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/chunk.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/classification.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/classification.yml +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/cleanup_filestore.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/codec.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/comms.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/constants.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/custom.magic +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/custom.yara +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/dict_utils.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/digests.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/dispatcher.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/entropy.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/exceptions.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/file.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/forge.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/heuristics.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/hexdump.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/identify.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/identify_defaults.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/importing.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/iprange.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/isotime.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/log.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/logformat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/lucene.lark +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/memory_zip.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/metrics.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/net.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/net_static.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/null.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/path.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/postprocess.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/random_user.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/safe_archive.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/security.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/signaturing.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/str_utils.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/tag_safelist.yml +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/tagging.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/threading.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/uid.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/version.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datasource/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datasource/al.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datasource/alert.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datasource/common.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/bulk.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/collection.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/exceptions.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/store.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/support/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/support/build.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/support/schemas.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/azure.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/base.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/ftp.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/http.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/local.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/s3.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/sftp.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/base.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/common.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/alert.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/alerter_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/archive_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/changes.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/dispatcher_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/dispatching.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/elastic_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/expiry_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/ingest_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/metrics.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/retrohunt_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/scaler_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/scaler_status_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/service_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/service_timing_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/submission.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/task.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/vacuum_heartbeat.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/actions.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/alert.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/apikey.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/badlist.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/cached_file.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/config.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/emptyresult.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/error.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/file.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/filescore.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/heuristic.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/file.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/filetypes/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/filetypes/pe.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/ontology.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/antivirus.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/http.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/malware_config.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/network.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/process.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/sandbox.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/results/signature.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/replay.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/result.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/retrohunt.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/safelist.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/service.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/service_delta.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/signature.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/statistics.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/submission.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/submission_summary.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/submission_tree.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/tagging.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/user.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/user_favorites.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/user_settings.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/workflow.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/random_data/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/random_data/create_test_data.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/random_data/sample_rules.yar +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/random_data/sample_suricata.rules +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/randomizer.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/py.typed +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/cache.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/counters.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/daily_quota_tracker.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/events.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/exporting_counter.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/hash.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/lock.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/comms.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/multi.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/named.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/priority.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/set.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/user_quota_tracker.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/run/__init__.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/run/cli.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/run/pubsub_reader.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/run/suricata_importer.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/run/yara_importer.py +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/SOURCES.txt +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/dependency_links.txt +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/entry_points.txt +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/requires.txt +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/top_level.txt +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/pyproject.toml +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/setup.cfg +0 -0
- {assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.7.5.dev79
|
|
@@ -374,7 +374,7 @@ class AssemblylineDatastore(object):
|
|
|
374
374
|
new_file_class = cl_engine.min_classification(new_file_class, c)
|
|
375
375
|
|
|
376
376
|
# Find the results for that classification and alter them if the new classification does not match
|
|
377
|
-
for item in self.result.stream_search(f"
|
|
377
|
+
for item in self.result.stream_search(f"sha256:{f}", fl="classification,id,_index", as_obj=False):
|
|
378
378
|
try:
|
|
379
379
|
new_class = cl_engine.max_classification(
|
|
380
380
|
item.get('classification', cl_engine.UNRESTRICTED), new_file_class)
|
|
@@ -404,119 +404,6 @@ class AssemblylineDatastore(object):
|
|
|
404
404
|
# Proceed with plan
|
|
405
405
|
self.multi_index_bulk([s_plan, st_plan, ss_plan, e_plan, er_plan, r_plan, f_plan, fscore_plan])
|
|
406
406
|
|
|
407
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
408
|
-
def delete_submission_tree(
|
|
409
|
-
self, sid: str, cl_engine: Classification = forge.get_classification(),
|
|
410
|
-
cleanup: bool = True, transport: FileStore | None = None) -> None:
|
|
411
|
-
submission = self.submission.get(sid, as_obj=False)
|
|
412
|
-
if not submission:
|
|
413
|
-
return
|
|
414
|
-
|
|
415
|
-
# Gather file list
|
|
416
|
-
errors = submission['errors']
|
|
417
|
-
results = submission["results"]
|
|
418
|
-
files_to_delete = set()
|
|
419
|
-
fix_classification_files = set()
|
|
420
|
-
supp_map: dict[str, set[str]] = {}
|
|
421
|
-
|
|
422
|
-
temp_files = {x[:64] for x in errors}
|
|
423
|
-
temp_files.update(x[:64] for x in results)
|
|
424
|
-
|
|
425
|
-
# Gather all supplementary files and extracted files
|
|
426
|
-
for result in self.result.search("response.supplementary.sha256:* OR response.extracted.sha256:*",
|
|
427
|
-
fl="sha256,response.supplementary.sha256,response.extracted.sha256",
|
|
428
|
-
rows=len(results), as_obj=False, key_space=results)['items']:
|
|
429
|
-
sha256 = result['sha256']
|
|
430
|
-
if sha256 not in supp_map:
|
|
431
|
-
supp_map[sha256] = set()
|
|
432
|
-
for supp in result['response'].get('supplementary', []):
|
|
433
|
-
supp_map[sha256].add(supp['sha256'])
|
|
434
|
-
for extracted in result['response'].get('extracted', []):
|
|
435
|
-
temp_files.add(extracted['sha256'])
|
|
436
|
-
|
|
437
|
-
# Inspect each files to see if they are reused
|
|
438
|
-
for temp in temp_files:
|
|
439
|
-
# Check if we delete the file or update the classification
|
|
440
|
-
if self.submission.search(f"NOT sid:{sid} AND (errors:{temp}* OR results:{temp}*)", rows=0, as_obj=False)["total"] == 0:
|
|
441
|
-
files_to_delete.add(temp)
|
|
442
|
-
files_to_delete |= supp_map.pop(temp, set())
|
|
443
|
-
else:
|
|
444
|
-
fix_classification_files.add(temp)
|
|
445
|
-
|
|
446
|
-
# Filter results and errors
|
|
447
|
-
errors = [x for x in errors if x[:64] in files_to_delete]
|
|
448
|
-
results = [x for x in results if x[:64] in files_to_delete]
|
|
449
|
-
|
|
450
|
-
# Delete files, errors, results that were only used once
|
|
451
|
-
for e in errors:
|
|
452
|
-
self.error.delete(e)
|
|
453
|
-
for r in results:
|
|
454
|
-
if r.endswith(".e"):
|
|
455
|
-
self.emptyresult.delete(r)
|
|
456
|
-
else:
|
|
457
|
-
self.result.delete(r)
|
|
458
|
-
for f in files_to_delete:
|
|
459
|
-
self.file.delete(f)
|
|
460
|
-
if transport:
|
|
461
|
-
transport.delete(f)
|
|
462
|
-
|
|
463
|
-
if fix_classification_files and cleanup:
|
|
464
|
-
# Fix classification for the files that remain in the system
|
|
465
|
-
for f in fix_classification_files:
|
|
466
|
-
cur_file = self.file.get(f, as_obj=False)
|
|
467
|
-
if cur_file:
|
|
468
|
-
# Find possible classification for the file in the system
|
|
469
|
-
query = f"NOT id:{sid} AND (files.sha256:{f} OR results:{f}* OR errors:{f}*)"
|
|
470
|
-
classifications = list(self.submission.facet('classification', query=query, size=100).keys())
|
|
471
|
-
|
|
472
|
-
if len(classifications) > 0:
|
|
473
|
-
new_file_class = classifications[0]
|
|
474
|
-
else:
|
|
475
|
-
new_file_class = cl_engine.UNRESTRICTED
|
|
476
|
-
|
|
477
|
-
for c in classifications:
|
|
478
|
-
new_file_class = cl_engine.min_classification(new_file_class, c)
|
|
479
|
-
|
|
480
|
-
# Find the results for that classification and alter them if the new classification does not match
|
|
481
|
-
for item in self.result.stream_search(f"id:{f}*", fl="classification,id", as_obj=False):
|
|
482
|
-
try:
|
|
483
|
-
new_class = cl_engine.max_classification(
|
|
484
|
-
item.get('classification', cl_engine.UNRESTRICTED), new_file_class)
|
|
485
|
-
except InvalidClassification:
|
|
486
|
-
# If we can't find common grounds for reclassifying the results... we simply wont.
|
|
487
|
-
continue
|
|
488
|
-
|
|
489
|
-
if item.get('classification', cl_engine.UNRESTRICTED) != new_class:
|
|
490
|
-
parts = cl_engine.get_access_control_parts(new_class)
|
|
491
|
-
update_params = [(ESCollection.UPDATE_SET, 'classification', new_class)]
|
|
492
|
-
update_params.extend([(ESCollection.UPDATE_SET, k, v) for k, v in parts.items()])
|
|
493
|
-
self.result.update(item['id'], update_params)
|
|
494
|
-
|
|
495
|
-
# Alter the file classification if the new classification does not match
|
|
496
|
-
if cur_file['classification'] != new_file_class:
|
|
497
|
-
parts = cl_engine.get_access_control_parts(new_file_class)
|
|
498
|
-
update_params = [(ESCollection.UPDATE_SET, 'classification', new_file_class)]
|
|
499
|
-
update_params.extend([(ESCollection.UPDATE_SET, k, v) for k, v in parts.items()])
|
|
500
|
-
self.file.update(f, update_params)
|
|
501
|
-
|
|
502
|
-
# Fix associated supplementary files
|
|
503
|
-
for supp in supp_map.get(f, set()):
|
|
504
|
-
cur_supp = self.file.get(supp, as_obj=False)
|
|
505
|
-
if cur_supp:
|
|
506
|
-
if cur_supp['classification'] != new_file_class:
|
|
507
|
-
parts = cl_engine.get_access_control_parts(new_file_class)
|
|
508
|
-
update_params = [(ESCollection.UPDATE_SET, 'classification', new_file_class)]
|
|
509
|
-
update_params.extend([(ESCollection.UPDATE_SET, k, v) for k, v in parts.items()])
|
|
510
|
-
self.file.update(supp, update_params)
|
|
511
|
-
|
|
512
|
-
# Delete the submission and cached trees and summaries
|
|
513
|
-
# NOTE: we will use the search operation because there should not be a lot of submission_tree or summary
|
|
514
|
-
self.submission.delete(sid)
|
|
515
|
-
for t in self.submission_tree.search(f"id:{sid}*", fl="id", rows=1000, as_obj=False)['items']:
|
|
516
|
-
self.submission_tree.delete(t['id'])
|
|
517
|
-
for s in self.submission_summary.search(f"id:{sid}*", fl="id", rows=1000, as_obj=False)['items']:
|
|
518
|
-
self.submission_summary.delete(s['id'])
|
|
519
|
-
|
|
520
407
|
@elasticapm.capture_span(span_type='datastore')
|
|
521
408
|
def get_all_heuristics(self):
|
|
522
409
|
return {h['id']: h for h in self.heuristic.stream_search("id:*", as_obj=False)}
|
|
@@ -1317,192 +1204,6 @@ class AssemblylineDatastore(object):
|
|
|
1317
1204
|
except VersionConflictException as vce:
|
|
1318
1205
|
log.info(f"Retrying save or freshen due to version conflict: {str(vce)}")
|
|
1319
1206
|
|
|
1320
|
-
def _get_verdict_from_score(self, score):
|
|
1321
|
-
if score >= config.submission.verdicts.malicious:
|
|
1322
|
-
return "malicious"
|
|
1323
|
-
elif score >= config.submission.verdicts.highly_suspicious:
|
|
1324
|
-
return "highly suspicious"
|
|
1325
|
-
elif score >= config.submission.verdicts.suspicious:
|
|
1326
|
-
return "suspicious"
|
|
1327
|
-
elif score >= config.submission.verdicts.info:
|
|
1328
|
-
return "informative"
|
|
1329
|
-
else:
|
|
1330
|
-
return "safe"
|
|
1331
|
-
|
|
1332
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
1333
|
-
def _fix_section_data(self, result, min_score):
|
|
1334
|
-
new_sections = []
|
|
1335
|
-
for section in result['result'].get('sections', []):
|
|
1336
|
-
# Skip section with a small score
|
|
1337
|
-
if section.get('heuristic', {}).get('score', -1) < min_score:
|
|
1338
|
-
continue
|
|
1339
|
-
|
|
1340
|
-
# Rewrite heuristic score as a verdict
|
|
1341
|
-
if 'heuristic' in section:
|
|
1342
|
-
heur_score = section['heuristic'].pop('score', 0)
|
|
1343
|
-
section['heuristic']['verdict'] = self._get_verdict_from_score(heur_score)
|
|
1344
|
-
|
|
1345
|
-
# Loading JSON formatted sections
|
|
1346
|
-
body_format = section['body_format']
|
|
1347
|
-
section_body = section.get('body')
|
|
1348
|
-
if body_format in JSON_SECTIONS and isinstance(section_body, str):
|
|
1349
|
-
try:
|
|
1350
|
-
section['body'] = json.loads(section_body)
|
|
1351
|
-
except ValueError:
|
|
1352
|
-
pass
|
|
1353
|
-
|
|
1354
|
-
# Changing tags to a list
|
|
1355
|
-
section['tags'] = tag_dict_to_ai_list(flatten(section.get('tags', {})))
|
|
1356
|
-
if not section['tags']:
|
|
1357
|
-
section.pop('tags')
|
|
1358
|
-
|
|
1359
|
-
# Add the section to the new section array
|
|
1360
|
-
new_sections.append(section)
|
|
1361
|
-
|
|
1362
|
-
# Update result sections
|
|
1363
|
-
result['result']['sections'] = new_sections
|
|
1364
|
-
|
|
1365
|
-
# Rewrite score as verdict
|
|
1366
|
-
result_score = result['result'].pop('score', 0)
|
|
1367
|
-
result['result']['verdict'] = self._get_verdict_from_score(result_score)
|
|
1368
|
-
|
|
1369
|
-
return result
|
|
1370
|
-
|
|
1371
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
1372
|
-
def get_ai_formatted_submission_data(self, sid, user_classification=None,
|
|
1373
|
-
cl_engine=forge.get_classification(),
|
|
1374
|
-
index_type=None):
|
|
1375
|
-
# Get the submission data
|
|
1376
|
-
submission = self.submission.get(sid, index_type=index_type)
|
|
1377
|
-
if not submission or (user_classification and not cl_engine.is_accessible(
|
|
1378
|
-
user_c12n=user_classification, c12n=submission.classification.value)):
|
|
1379
|
-
return None
|
|
1380
|
-
|
|
1381
|
-
# Auto adjust min_score
|
|
1382
|
-
if submission.max_score < 0:
|
|
1383
|
-
min_score = -1000000
|
|
1384
|
-
else:
|
|
1385
|
-
min_score = 300
|
|
1386
|
-
|
|
1387
|
-
# Parse results
|
|
1388
|
-
results = [
|
|
1389
|
-
self._fix_section_data(r.as_primitives(strip_non_ai_fields=True, strip_null=True), min_score)
|
|
1390
|
-
for r in self.result.multiget(
|
|
1391
|
-
submission.results, as_dictionary=False, error_on_missing=False, index_type=index_type)
|
|
1392
|
-
if min_score <= r.result.score and (not user_classification or cl_engine.is_accessible(
|
|
1393
|
-
user_c12n=user_classification, c12n=r.classification.value))]
|
|
1394
|
-
|
|
1395
|
-
# Create output
|
|
1396
|
-
output = submission.as_primitives(strip_non_ai_fields=True, strip_null=True)
|
|
1397
|
-
output['verdict'] = self._get_verdict_from_score(output.pop('max_score', 0))
|
|
1398
|
-
output['results'] = results
|
|
1399
|
-
return output
|
|
1400
|
-
|
|
1401
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
1402
|
-
def get_ai_formatted_file_results_data(self, sha256, user_classification=None, user_access_control=None,
|
|
1403
|
-
cl_engine=forge.get_classification(),
|
|
1404
|
-
index_type=None):
|
|
1405
|
-
# Get the submission data
|
|
1406
|
-
file_obj = self.file.get(sha256, index_type=index_type)
|
|
1407
|
-
if not file_obj or (user_classification and not cl_engine.is_accessible(
|
|
1408
|
-
user_c12n=user_classification, c12n=file_obj.classification.value)):
|
|
1409
|
-
return None
|
|
1410
|
-
|
|
1411
|
-
# Check for the max service score
|
|
1412
|
-
items = self.result.search(f"id:{sha256}*", fl="result.score", access_control=user_access_control,
|
|
1413
|
-
as_obj=False, rows=1, sort="result.score desc", index_type=index_type)['items']
|
|
1414
|
-
if items:
|
|
1415
|
-
max_score = items[0]['result']['score']
|
|
1416
|
-
else:
|
|
1417
|
-
max_score = 0
|
|
1418
|
-
|
|
1419
|
-
# Auto adjust min_score
|
|
1420
|
-
if max_score < 0:
|
|
1421
|
-
min_score = -1000000
|
|
1422
|
-
else:
|
|
1423
|
-
min_score = 300
|
|
1424
|
-
|
|
1425
|
-
# Get the list of active result keys
|
|
1426
|
-
active_keys, _ = self.list_file_active_keys(
|
|
1427
|
-
sha256, user_access_control, min_score=min_score, index_type=index_type)
|
|
1428
|
-
|
|
1429
|
-
# Parse results
|
|
1430
|
-
results = [
|
|
1431
|
-
self._fix_section_data(r.as_primitives(strip_non_ai_fields=True, strip_null=True), min_score)
|
|
1432
|
-
for r in self.result.multiget(active_keys, as_dictionary=False,
|
|
1433
|
-
error_on_missing=False, index_type=index_type)
|
|
1434
|
-
if min_score <= r.result.score and (not user_classification or cl_engine.is_accessible(
|
|
1435
|
-
user_c12n=user_classification, c12n=r.classification.value))]
|
|
1436
|
-
|
|
1437
|
-
# Create output
|
|
1438
|
-
output = file_obj.as_primitives(strip_non_ai_fields=True, strip_null=True)
|
|
1439
|
-
output['verdict'] = self._get_verdict_from_score(max_score)
|
|
1440
|
-
output['results'] = results
|
|
1441
|
-
return output
|
|
1442
|
-
|
|
1443
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
1444
|
-
def list_file_active_keys(self, sha256, access_control=None, min_score=None, index_type=None):
|
|
1445
|
-
query = f"id:{sha256}*"
|
|
1446
|
-
if min_score:
|
|
1447
|
-
query += f" AND result.score:>={min_score}"
|
|
1448
|
-
|
|
1449
|
-
item_list = list(self.result.stream_search(query, fl="id,created,response.service_name,result.score",
|
|
1450
|
-
access_control=access_control, as_obj=False,
|
|
1451
|
-
index_type=index_type))
|
|
1452
|
-
|
|
1453
|
-
item_list.sort(key=lambda k: k["created"], reverse=True)
|
|
1454
|
-
|
|
1455
|
-
active_found = set()
|
|
1456
|
-
active_keys = []
|
|
1457
|
-
alternates = []
|
|
1458
|
-
for item in item_list:
|
|
1459
|
-
if item['response']['service_name'] not in active_found:
|
|
1460
|
-
active_keys.append(item['id'])
|
|
1461
|
-
active_found.add(item['response']['service_name'])
|
|
1462
|
-
else:
|
|
1463
|
-
alternates.append(item)
|
|
1464
|
-
|
|
1465
|
-
return active_keys, alternates
|
|
1466
|
-
|
|
1467
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
1468
|
-
def list_file_childrens(self, sha256, access_control=None):
|
|
1469
|
-
query = f'id:{sha256}* AND response.extracted.sha256:*'
|
|
1470
|
-
service_resp = self.result.grouped_search("response.service_name", query=query, fl='*',
|
|
1471
|
-
sort="created desc", access_control=access_control,
|
|
1472
|
-
as_obj=False)
|
|
1473
|
-
|
|
1474
|
-
output = []
|
|
1475
|
-
processed_sha256 = []
|
|
1476
|
-
for r in service_resp['items']:
|
|
1477
|
-
for extracted in r['items'][0]['response']['extracted']:
|
|
1478
|
-
if extracted['sha256'] not in processed_sha256:
|
|
1479
|
-
processed_sha256.append(extracted['sha256'])
|
|
1480
|
-
output.append({
|
|
1481
|
-
'name': extracted['name'],
|
|
1482
|
-
'sha256': extracted['sha256']
|
|
1483
|
-
})
|
|
1484
|
-
return output
|
|
1485
|
-
|
|
1486
|
-
@elasticapm.capture_span(span_type='datastore')
|
|
1487
|
-
def list_file_parents(self, sha256, access_control=None):
|
|
1488
|
-
query = f"response.extracted.sha256:{sha256}"
|
|
1489
|
-
processed_sha256 = []
|
|
1490
|
-
output = []
|
|
1491
|
-
|
|
1492
|
-
response = self.result.search(query, fl='id', sort="created desc",
|
|
1493
|
-
access_control=access_control, as_obj=False)
|
|
1494
|
-
for p in response['items']:
|
|
1495
|
-
key = p['id']
|
|
1496
|
-
sha256 = key[:64]
|
|
1497
|
-
if sha256 not in processed_sha256:
|
|
1498
|
-
output.append(key)
|
|
1499
|
-
processed_sha256.append(sha256)
|
|
1500
|
-
|
|
1501
|
-
if len(processed_sha256) >= 10:
|
|
1502
|
-
break
|
|
1503
|
-
|
|
1504
|
-
return output
|
|
1505
|
-
|
|
1506
1207
|
|
|
1507
1208
|
class MetadataValidator:
|
|
1508
1209
|
"""
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.7.5.dev77
|
|
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
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/classification.yml
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/cleanup_filestore.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/common/identify_defaults.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/support/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/support/build.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/datastore/support/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/azure.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/base.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/ftp.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/http.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/local.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/s3.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/filestore/transport/sftp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/alerter_heartbeat.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/archive_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/dispatching.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/elastic_heartbeat.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/expiry_heartbeat.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/ingest_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/scaler_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/service_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/submission.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/messages/vacuum_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/cached_file.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/emptyresult.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/file.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/ontology/ontology.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/service_delta.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/submission_summary.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/submission_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/user_favorites.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/models/user_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/random_data/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/odm/random_data/sample_rules.yar
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/cache.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/counters.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/events.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/comms.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/multi.py
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline/remote/datatypes/queues/named.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{assemblyline-4.7.5.dev77 → assemblyline-4.7.5.dev79}/assemblyline.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|