Scanning Engine v2 - Module - PrestoDB¶
Overview¶
Presto (including PrestoDB, and PrestoSQL which was re-branded to Trino) is a distributed query engine for big data using the SQL query language. Its architecture allows users to query data sources such as Hadoop, Cassandra, Kafka, AWS S3, Alluxio, MySQL, MongoDB and Teradata, and allows use of multiple data sources within a query. Presto is community-driven open-source software released under the Apache License.
Upon connection to a Presto service, this module attempts to dump all of the databases. Gathering all the catalogs, schemas and tables from them. It doest not gather actual values from the tables themselves.
Targeting¶
This module targets TCP ports by IP address or hostname.
Schemas¶
The schema for the body object of all results generated with .task.module_name equal to prestodb can be found here. The schema for results is available both in standalone and bundled form.
Examples¶
These are examples of the .body object for results with .task.module_name equal to prestodb.
Live Host¶
This example was generated with a live host on the internet.
{
"catalogs": [
{
"name": "hive",
"schemas": [
{
"name": "caas_preprod_sbc_hive_db_v1",
"tables": [
"accounts",
"accounts_precompute_table",
"alerted_customers_history",
"alerted_customers_linked_customers_history",
"alerted_customers_to_accounts_history",
"cards",
"codes",
"commoncounterparty_precompute_table",
"ctc_bkp",
"custom_list",
"customer",
"customer_addresses",
"customer_bkp",
"customer_cluster_risk_indicator_stats_history",
"customer_contact",
"customer_temp",
"customer_to_account",
"customer_to_customer",
"customers_precompute_table",
"feature_group",
"feature_group_history",
"feature_typology",
"feature_typology_history",
"fig_mapping",
"fixed_deposits",
"high_risk_country",
"high_risk_party",
"iad_model_parameters",
"loans",
"model_output_history",
"ns_alerts",
"ns_alerts_history",
"ns_dictionary",
"ns_hits_history",
"ns_missing_alert_history",
"precompute_customer_txn_behavior_monthly",
"precompute_customer_txn_behavior_weekly",
"precompute_graph_motif",
"precompute_two_entity_behavior_monthly",
"precompute_two_entity_behavior_monthly_bkp",
"precompute_two_entity_behavior_weekly",
"raw_accounts",
"raw_codes",
"raw_cust",
"raw_customer",
"raw_customer_to_account",
"raw_customer_to_customer",
"raw_high_risk_country",
"raw_high_risk_party",
"raw_loans",
"raw_transactions",
"subgraph_feature",
"tm_alerts",
"tm_alerts_history",
"tm_missing_alert_history",
"tm_sampling_params",
"tm_threshold",
"transactions",
"ts_alerts",
"ts_codes",
"ts_sampling_params",
"ts_threshold",
"unsupervised_model_parameters",
"watchlist"
]
},
{
"name": "default"
},
{
"name": "information_schema",
"tables": [
"applicable_roles",
"columns",
"enabled_roles",
"roles",
"schemata",
"table_privileges",
"tables",
"views"
]
}
]
},
{
"name": "tpcds",
"schemas": [
{
"name": "information_schema",
"tables": [
"applicable_roles",
"columns",
"enabled_roles",
"roles",
"schemata",
"table_privileges",
"tables",
"views"
]
},
{
"name": "sf1",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf10",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf100",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf1000",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf10000",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf100000",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf300",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf3000",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "sf30000",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
},
{
"name": "tiny",
"tables": [
"call_center",
"catalog_page",
"catalog_returns",
"catalog_sales",
"customer",
"customer_address",
"customer_demographics",
"date_dim",
"dbgen_version",
"household_demographics",
"income_band",
"inventory",
"item",
"promotion",
"reason",
"ship_mode",
"store",
"store_returns",
"store_sales",
"time_dim",
"warehouse",
"web_page",
"web_returns",
"web_sales",
"web_site"
]
}
]
},
{
"name": "tpch",
"schemas": [
{
"name": "information_schema",
"tables": [
"applicable_roles",
"columns",
"enabled_roles",
"roles",
"schemata",
"table_privileges",
"tables",
"views"
]
},
{
"name": "sf1",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf100",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf1000",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf10000",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf100000",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf300",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf3000",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "sf30000",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
},
{
"name": "tiny",
"tables": [
"customer",
"lineitem",
"nation",
"orders",
"part",
"partsupp",
"region",
"supplier"
]
}
]
}
]
}
Changelog¶
v1.1.0 (2025-07-25)¶
- Implemented the targeting library for target parsing and management, improving consistency and flexibility.
- Changed the concurrency model from asyncio (async/await) to synchronous threading, due to limitations in the behttp dependency (which is not async-compatible).
- Refactored the
bodyschema to only include catalogs, schemas, and tables that actually exist. This avoids empty dictionaries in the output and ensures only real, present information is shown.
v1.0.0 (2025-07-08)¶
- Initial release of versioning for each module. All modules are being tagged with version number
1.0.0. Going forward: - Major version should be changed when there are changes that impact consumers or clients of the modules.
- Minor version should be changed when there are additions which enrich or enhance the module but shouldn't affect consumers or clients.
- Patch version should be changed when there are bugfixes.