Skip to content

Version 1.6.5 - Docstring adjustments, agentic APIs, bug fixes - #1497

Open
jshcodes wants to merge 49 commits into
mainfrom
dev
Open

Version 1.6.5 - Docstring adjustments, agentic APIs, bug fixes#1497
jshcodes wants to merge 49 commits into
mainfrom
dev

Conversation

@jshcodes

Copy link
Copy Markdown
Member

FalconPy v1.6.5

This update implements new operations and service collections. A docstring overhaul and multiple bug fixes are also included.

  • Enhancement
  • Bug fixes
  • Updated unit tests

Unit test coverage

Name                                                                    Stmts   Miss  Cover
-------------------------------------------------------------------------------------------
src/falconpy/__init__.py                                                  160      0   100%
src/falconpy/_api_request/__init__.py                                       7      0   100%
src/falconpy/_api_request/_request.py                                     116      0   100%
src/falconpy/_api_request/_request_behavior.py                             64      0   100%
src/falconpy/_api_request/_request_connection.py                           10      0   100%
src/falconpy/_api_request/_request_meta.py                                 26      0   100%
src/falconpy/_api_request/_request_payloads.py                              8      0   100%
src/falconpy/_api_request/_request_validator.py                             6      0   100%
src/falconpy/_auth_object/__init__.py                                       6      0   100%
src/falconpy/_auth_object/_base_falcon_auth.py                             13      0   100%
src/falconpy/_auth_object/_bearer_token.py                                 63      0   100%
src/falconpy/_auth_object/_falcon_interface.py                            288      0   100%
src/falconpy/_auth_object/_interface_config.py                             49      0   100%
src/falconpy/_auth_object/_uber_interface.py                               52      0   100%
src/falconpy/_constant/__init__.py                                         12      0   100%
src/falconpy/_endpoint/__init__.py                                        372      0   100%
src/falconpy/_endpoint/_access_scopes.py                                    1      0   100%
src/falconpy/_endpoint/_admission_control_policies.py                       1      0   100%
src/falconpy/_endpoint/_agent_invocation.py                                 1      0   100%
src/falconpy/_endpoint/_agent_templates.py                                  1      0   100%
src/falconpy/_endpoint/_agent_versions.py                                   1      0   100%
src/falconpy/_endpoint/_alerts.py                                           1      0   100%
src/falconpy/_endpoint/_api_clients.py                                      1      0   100%
src/falconpy/_endpoint/_api_integrations.py                                 1      0   100%
src/falconpy/_endpoint/_aspm.py                                             1      0   100%
src/falconpy/_endpoint/_cao_hunting.py                                      1      0   100%
src/falconpy/_endpoint/_case_management.py                                  1      0   100%
src/falconpy/_endpoint/_certificate_based_exclusions.py                     1      0   100%
src/falconpy/_endpoint/_cloud_aws_registration.py                           1      0   100%
src/falconpy/_endpoint/_cloud_azure_registration.py                         1      0   100%
src/falconpy/_endpoint/_cloud_connect_aws.py                                1      0   100%
src/falconpy/_endpoint/_cloud_google_cloud_registration.py                  1      0   100%
src/falconpy/_endpoint/_cloud_oci_registration.py                           1      0   100%
src/falconpy/_endpoint/_cloud_policies.py                                   1      0   100%
src/falconpy/_endpoint/_cloud_security.py                                   1      0   100%
src/falconpy/_endpoint/_cloud_security_assets.py                            1      0   100%
src/falconpy/_endpoint/_cloud_security_compliance.py                        1      0   100%
src/falconpy/_endpoint/_cloud_security_detections.py                        1      0   100%
src/falconpy/_endpoint/_cloud_security_registration_combined.py             1      0   100%
src/falconpy/_endpoint/_cloud_security_risks.py                             1      0   100%
src/falconpy/_endpoint/_cloud_snapshots.py                                  1      0   100%
src/falconpy/_endpoint/_configuration_assessment.py                         1      0   100%
src/falconpy/_endpoint/_configuration_assessment_evaluation_logic.py        1      0   100%
src/falconpy/_endpoint/_container_alerts.py                                 1      0   100%
src/falconpy/_endpoint/_container_detections.py                             1      0   100%
src/falconpy/_endpoint/_container_image_compliance.py                       1      0   100%
src/falconpy/_endpoint/_container_images.py                                 1      0   100%
src/falconpy/_endpoint/_container_packages.py                               1      0   100%
src/falconpy/_endpoint/_container_vulnerabilities.py                        1      0   100%
src/falconpy/_endpoint/_content_update_policies.py                          1      0   100%
src/falconpy/_endpoint/_correlation_rules.py                                1      0   100%
src/falconpy/_endpoint/_correlation_rules_admin.py                          1      0   100%
src/falconpy/_endpoint/_cspm_registration.py                                1      0   100%
src/falconpy/_endpoint/_custom_ioa.py                                       1      0   100%
src/falconpy/_endpoint/_custom_storage.py                                   1      0   100%
src/falconpy/_endpoint/_d4c_registration.py                                 1      0   100%
src/falconpy/_endpoint/_data_protection_configuration.py                    1      0   100%
src/falconpy/_endpoint/_delivery_settings.py                                1      0   100%
src/falconpy/_endpoint/_deployments.py                                      1      0   100%
src/falconpy/_endpoint/_detects.py                                          1      0   100%
src/falconpy/_endpoint/_device_content.py                                   1      0   100%
src/falconpy/_endpoint/_device_control_policies.py                          1      0   100%
src/falconpy/_endpoint/_discover.py                                         1      0   100%
src/falconpy/_endpoint/_downloads.py                                        1      0   100%
src/falconpy/_endpoint/_drift_indicators.py                                 1      0   100%
src/falconpy/_endpoint/_event_streams.py                                    1      0   100%
src/falconpy/_endpoint/_exposure_management.py                              1      0   100%
src/falconpy/_endpoint/_faas_execution.py                                   1      0   100%
src/falconpy/_endpoint/_falcon_complete_dashboard.py                        1      0   100%
src/falconpy/_endpoint/_falcon_container.py                                 1      0   100%
src/falconpy/_endpoint/_falcon_id.py                                        1      0   100%
src/falconpy/_endpoint/_falconx_sandbox.py                                  1      0   100%
src/falconpy/_endpoint/_fdr.py                                              1      0   100%
src/falconpy/_endpoint/_federated_connections.py                            1      0   100%
src/falconpy/_endpoint/_filevantage.py                                      1      0   100%
src/falconpy/_endpoint/_firewall_management.py                              1      0   100%
src/falconpy/_endpoint/_firewall_policies.py                                1      0   100%
src/falconpy/_endpoint/_foundry_logscale.py                                 1      0   100%
src/falconpy/_endpoint/_foundry_lookup_files.py                             1      0   100%
src/falconpy/_endpoint/_host_group.py                                       1      0   100%
src/falconpy/_endpoint/_host_migration.py                                   1      0   100%
src/falconpy/_endpoint/_hosts.py                                            1      0   100%
src/falconpy/_endpoint/_identity_protection.py                              1      0   100%
src/falconpy/_endpoint/_image_assessment_policies.py                        1      0   100%
src/falconpy/_endpoint/_incidents.py                                        1      0   100%
src/falconpy/_endpoint/_installation_tokens.py                              1      0   100%
src/falconpy/_endpoint/_intel.py                                            1      0   100%
src/falconpy/_endpoint/_intelligence_feeds.py                               1      0   100%
src/falconpy/_endpoint/_intelligence_indicator_graph.py                     1      0   100%
src/falconpy/_endpoint/_ioa_exclusions.py                                   1      0   100%
src/falconpy/_endpoint/_ioc.py                                              1      0   100%
src/falconpy/_endpoint/_iocs.py                                             1      0   100%
src/falconpy/_endpoint/_it_automation.py                                    1      0   100%
src/falconpy/_endpoint/_knowledge_base_audit_events.py                      1      0   100%
src/falconpy/_endpoint/_knowledge_base_files.py                             1      0   100%
src/falconpy/_endpoint/_knowledge_bases.py                                  1      0   100%
src/falconpy/_endpoint/_kubernetes_container_compliance.py                  1      0   100%
src/falconpy/_endpoint/_kubernetes_protection.py                            1      0   100%
src/falconpy/_endpoint/_malquery.py                                         1      0   100%
src/falconpy/_endpoint/_message_center.py                                   1      0   100%
src/falconpy/_endpoint/_ml_exclusions.py                                    1      0   100%
src/falconpy/_endpoint/_mobile_enrollment.py                                1      0   100%
src/falconpy/_endpoint/_models.py                                           1      0   100%
src/falconpy/_endpoint/_mssp.py                                             1      0   100%
src/falconpy/_endpoint/_network_scan_global_configs.py                      1      0   100%
src/falconpy/_endpoint/_network_scan_networks.py                            1      0   100%
src/falconpy/_endpoint/_network_scan_scan_run_reports.py                    1      0   100%
src/falconpy/_endpoint/_network_scan_scan_runs.py                           1      0   100%
src/falconpy/_endpoint/_network_scan_scanners.py                            1      0   100%
src/falconpy/_endpoint/_network_scan_scans.py                               1      0   100%
src/falconpy/_endpoint/_network_scan_templates.py                           1      0   100%
src/falconpy/_endpoint/_network_scan_zones.py                               1      0   100%
src/falconpy/_endpoint/_ngsiem.py                                           1      0   100%
src/falconpy/_endpoint/_oauth2.py                                           1      0   100%
src/falconpy/_endpoint/_ods.py                                              1      0   100%
src/falconpy/_endpoint/_prevention_policies.py                              1      0   100%
src/falconpy/_endpoint/_profile_groups.py                                   1      0   100%
src/falconpy/_endpoint/_quarantine.py                                       1      0   100%
src/falconpy/_endpoint/_quick_scan.py                                       1      0   100%
src/falconpy/_endpoint/_quick_scan_pro.py                                   1      0   100%
src/falconpy/_endpoint/_real_time_response.py                               1      0   100%
src/falconpy/_endpoint/_real_time_response_admin.py                         1      0   100%
src/falconpy/_endpoint/_real_time_response_audit.py                         1      0   100%
src/falconpy/_endpoint/_recon.py                                            1      0   100%
src/falconpy/_endpoint/_report_executions.py                                1      0   100%
src/falconpy/_endpoint/_response_policies.py                                1      0   100%
src/falconpy/_endpoint/_saas_security.py                                    1      0   100%
src/falconpy/_endpoint/_sample_uploads.py                                   1      0   100%
src/falconpy/_endpoint/_scanning_orchestrator.py                            1      0   100%
src/falconpy/_endpoint/_scheduled_reports.py                                1      0   100%
src/falconpy/_endpoint/_sensor_download.py                                  1      0   100%
src/falconpy/_endpoint/_sensor_update_policies.py                           1      0   100%
src/falconpy/_endpoint/_sensor_usage.py                                     1      0   100%
src/falconpy/_endpoint/_sensor_visibility_exclusions.py                     1      0   100%
src/falconpy/_endpoint/_serverless_exports.py                               1      0   100%
src/falconpy/_endpoint/_serverless_vulnerabilities.py                       1      0   100%
src/falconpy/_endpoint/_spans.py                                            1      0   100%
src/falconpy/_endpoint/_spotlight_evaluation_logic.py                       1      0   100%
src/falconpy/_endpoint/_spotlight_vulnerabilities.py                        1      0   100%
src/falconpy/_endpoint/_spotlight_vulnerability_metadata.py                 1      0   100%
src/falconpy/_endpoint/_stream.py                                           1      0   100%
src/falconpy/_endpoint/_tailored_intelligence.py                            1      0   100%
src/falconpy/_endpoint/_threatgraph.py                                      1      0   100%
src/falconpy/_endpoint/_tools.py                                            1      0   100%
src/falconpy/_endpoint/_unidentified_containers.py                          1      0   100%
src/falconpy/_endpoint/_user_management.py                                  1      0   100%
src/falconpy/_endpoint/_workflows.py                                        1      0   100%
src/falconpy/_endpoint/_zero_trust_assessment.py                            1      0   100%
src/falconpy/_endpoint/deprecated/__init__.py                             105      0   100%
src/falconpy/_endpoint/deprecated/_admission_control_policies.py            1      0   100%
src/falconpy/_endpoint/deprecated/_alerts.py                                1      0   100%
src/falconpy/_endpoint/deprecated/_aspm.py                                  1      0   100%
src/falconpy/_endpoint/deprecated/_case_management.py                       1      0   100%
src/falconpy/_endpoint/deprecated/_certificate_based_exclusions.py          1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_aws_registration.py                1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_azure_registration.py              1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_google_cloud_registration.py       1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_oci_registration.py                1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_security.py                        1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_security_assets.py                 1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_security_compliance.py             1      0   100%
src/falconpy/_endpoint/deprecated/_cloud_security_detections.py             1      0   100%
src/falconpy/_endpoint/deprecated/_correlation_rules.py                     1      0   100%
src/falconpy/_endpoint/deprecated/_correlation_rules_admin.py               1      0   100%
src/falconpy/_endpoint/deprecated/_cspm_registration.py                     1      0   100%
src/falconpy/_endpoint/deprecated/_custom_ioa.py                            1      0   100%
src/falconpy/_endpoint/deprecated/_d4c_registration.py                      1      0   100%
src/falconpy/_endpoint/deprecated/_data_protection_configuration.py         1      0   100%
src/falconpy/_endpoint/deprecated/_detects.py                               1      0   100%
src/falconpy/_endpoint/deprecated/_device_content.py                        1      0   100%
src/falconpy/_endpoint/deprecated/_device_control_policies.py               1      0   100%
src/falconpy/_endpoint/deprecated/_discover.py                              1      0   100%
src/falconpy/_endpoint/deprecated/_downloads.py                             1      0   100%
src/falconpy/_endpoint/deprecated/_exposure_management.py                   1      0   100%
src/falconpy/_endpoint/deprecated/_falcon_complete_dashboard.py             1      0   100%
src/falconpy/_endpoint/deprecated/_fdr.py                                   1      0   100%
src/falconpy/_endpoint/deprecated/_firewall_management.py                   1      0   100%
src/falconpy/_endpoint/deprecated/_foundry_logscale.py                      1      0   100%
src/falconpy/_endpoint/deprecated/_hosts.py                                 1      0   100%
src/falconpy/_endpoint/deprecated/_identity_protection.py                   1      0   100%
src/falconpy/_endpoint/deprecated/_incidents.py                             1      0   100%
src/falconpy/_endpoint/deprecated/_installation_tokens.py                   1      0   100%
src/falconpy/_endpoint/deprecated/_ioa_exclusions.py                        1      0   100%
src/falconpy/_endpoint/deprecated/_ioc.py                                   1      0   100%
src/falconpy/_endpoint/deprecated/_iocs.py                                  1      0   100%
src/falconpy/_endpoint/deprecated/_knowledge_base_audit_events.py           1      0   100%
src/falconpy/_endpoint/deprecated/_knowledge_bases.py                       1      0   100%
src/falconpy/_endpoint/deprecated/_mapping.py                               2      0   100%
src/falconpy/_endpoint/deprecated/_ml_exclusions.py                         1      0   100%
src/falconpy/_endpoint/deprecated/_mssp.py                                  1      0   100%
src/falconpy/_endpoint/deprecated/_ngsiem.py                                1      0   100%
src/falconpy/_endpoint/deprecated/_ods.py                                   1      0   100%
src/falconpy/_endpoint/deprecated/_real_time_response.py                    1      0   100%
src/falconpy/_endpoint/deprecated/_real_time_response_admin.py              1      0   100%
src/falconpy/_endpoint/deprecated/_report_executions.py                     1      0   100%
src/falconpy/_endpoint/deprecated/_sample_uploads.py                        1      0   100%
src/falconpy/_endpoint/deprecated/_scheduled_reports.py                     1      0   100%
src/falconpy/_endpoint/deprecated/_spotlight_vulnerabilities.py             1      0   100%
src/falconpy/_endpoint/deprecated/_user_management.py                       1      0   100%
src/falconpy/_endpoint/deprecated/_workflows.py                             1      0   100%
src/falconpy/_endpoint/deprecated/_zero_trust_assessment.py                 1      0   100%
src/falconpy/_enum/__init__.py                                              7      0   100%
src/falconpy/_enum/_base_url.py                                             9      0   100%
src/falconpy/_enum/_container_base_url.py                                   8      0   100%
src/falconpy/_enum/_ingest_base_url.py                                      8      0   100%
src/falconpy/_enum/_ingest_format.py                                        6      0   100%
src/falconpy/_enum/_timeunit.py                                             5      0   100%
src/falconpy/_enum/_token_fail_reason.py                                    4      0   100%
src/falconpy/_error/__init__.py                                             3      0   100%
src/falconpy/_error/_exceptions.py                                         77      0   100%
src/falconpy/_error/_warnings.py                                           76      0   100%
src/falconpy/_helper/__init__.py                                           17      0   100%
src/falconpy/_helper/_find_operation.py                                    38      0   100%
src/falconpy/_helper/_indicator.py                                         36      0   100%
src/falconpy/_helper/_text_colors.py                                       16      0   100%
src/falconpy/_log/__init__.py                                               2      0   100%
src/falconpy/_log/_facility.py                                             41      0   100%
src/falconpy/_ngsiem/__init__.py                                            3      0   100%
src/falconpy/_ngsiem/_hec.py                                              301      0   100%
src/falconpy/_ngsiem/_ingest_config.py                                     72      0   100%
src/falconpy/_ngsiem/_ingest_payload.py                                   127      0   100%
src/falconpy/_ngsiem/_session_manager.py                                   49      0   100%
src/falconpy/_payload/__init__.py                                          71      0   100%
src/falconpy/_payload/_admission_control_policies.py                       11      0   100%
src/falconpy/_payload/_agent_invocation.py                                 14      0   100%
src/falconpy/_payload/_alerts.py                                           19      0   100%
src/falconpy/_payload/_api_clients.py                                      14      0   100%
src/falconpy/_payload/_api_integrations.py                                 25      0   100%
src/falconpy/_payload/_aspm.py                                            126      0   100%
src/falconpy/_payload/_case_management.py                                 113      0   100%
src/falconpy/_payload/_certificate_based_exclusions.py                     24      0   100%
src/falconpy/_payload/_cloud_aws_registration.py                           13      0   100%
src/falconpy/_payload/_cloud_azure_registration.py                         43      0   100%
src/falconpy/_payload/_cloud_google_cloud_registration.py                  18      0   100%
src/falconpy/_payload/_cloud_oci_registration.py                           35      0   100%
src/falconpy/_payload/_cloud_policies.py                                   72      0   100%
src/falconpy/_payload/_cloud_security.py                                    8      0   100%
src/falconpy/_payload/_cloud_security_assets.py                             7      0   100%
src/falconpy/_payload/_cloud_security_detections.py                         7      0   100%
src/falconpy/_payload/_cloud_snapshots.py                                  22      0   100%
src/falconpy/_payload/_container.py                                        90      0   100%
src/falconpy/_payload/_content_update_policy.py                            23      0   100%
src/falconpy/_payload/_correlation_rules.py                                40      0   100%
src/falconpy/_payload/_correlation_rules_admin.py                          15      0   100%
src/falconpy/_payload/_cspm_registration.py                                71      0   100%
src/falconpy/_payload/_d4c_registration.py                                 38      0   100%
src/falconpy/_payload/_data_protection_configuration.py                   111      0   100%
src/falconpy/_payload/_delivery_settings.py                                10      0   100%
src/falconpy/_payload/_device_control_policy.py                            64      0   100%
src/falconpy/_payload/_exposure_management.py                              31      0   100%
src/falconpy/_payload/_falcon_id.py                                         7      0   100%
src/falconpy/_payload/_falconx.py                                          25      0   100%
src/falconpy/_payload/_federated_connections.py                            14      0   100%
src/falconpy/_payload/_filevantage.py                                      46      0   100%
src/falconpy/_payload/_firewall.py                                        122      0   100%
src/falconpy/_payload/_foundry.py                                          16      0   100%
src/falconpy/_payload/_generic.py                                          71      0   100%
src/falconpy/_payload/_host_group.py                                       31      0   100%
src/falconpy/_payload/_hosts.py                                             7      0   100%
src/falconpy/_payload/_identity_protection.py                              11      0   100%
src/falconpy/_payload/_incidents.py                                        15      0   100%
src/falconpy/_payload/_intel.py                                            26      0   100%
src/falconpy/_payload/_intelligence_indicator_graph.py                      0      0   100%
src/falconpy/_payload/_ioa_exclusions.py                                   54      0   100%
src/falconpy/_payload/_ioc.py                                              65      0   100%
src/falconpy/_payload/_it_automation.py                                    96      0   100%
src/falconpy/_payload/_knowledge_bases.py                                  38      0   100%
src/falconpy/_payload/_malquery.py                                         56      0   100%
src/falconpy/_payload/_message_center.py                                   22      0   100%
src/falconpy/_payload/_ml_exclusions.py                                    41      0   100%
src/falconpy/_payload/_mobile_enrollment.py                                12      0   100%
src/falconpy/_payload/_mssp.py                                             15      0   100%
src/falconpy/_payload/_network_scan_global_configs.py                       8      0   100%
src/falconpy/_payload/_network_scan_networks.py                            15      0   100%
src/falconpy/_payload/_network_scan_scan_runs.py                           15      0   100%
src/falconpy/_payload/_network_scan_scanners.py                             8      0   100%
src/falconpy/_payload/_network_scan_scans.py                               15      0   100%
src/falconpy/_payload/_network_scan_templates.py                           15      0   100%
src/falconpy/_payload/_network_scan_zones.py                               15      0   100%
src/falconpy/_payload/_ngsiem.py                                          231      0   100%
src/falconpy/_payload/_ods.py                                              13      0   100%
src/falconpy/_payload/_prevention_policy.py                                19      0   100%
src/falconpy/_payload/_profile_groups.py                                   49      0   100%
src/falconpy/_payload/_real_time_response.py                               27      0   100%
src/falconpy/_payload/_recon.py                                            84      0   100%
src/falconpy/_payload/_reports.py                                          19      0   100%
src/falconpy/_payload/_response_policy.py                                  19      0   100%
src/falconpy/_payload/_sample_uploads.py                                    9      0   100%
src/falconpy/_payload/_scanning_orchestrator.py                            21      0   100%
src/falconpy/_payload/_sensor_update_policy.py                             38      0   100%
src/falconpy/_payload/_serverless_exports.py                                7      0   100%
src/falconpy/_payload/_workflows.py                                        43      0   100%
src/falconpy/_result/__base_resource.py                                    28      0   100%
src/falconpy/_result/__init__.py                                            9      0   100%
src/falconpy/_result/_base_dictionary.py                                   31      0   100%
src/falconpy/_result/_errors.py                                             2      0   100%
src/falconpy/_result/_expanded_result.py                                    7      0   100%
src/falconpy/_result/_headers.py                                           24      0   100%
src/falconpy/_result/_meta.py                                              30      0   100%
src/falconpy/_result/_resources.py                                         14      0   100%
src/falconpy/_result/_response_component.py                                24      0   100%
src/falconpy/_result/_result.py                                           220      0   100%
src/falconpy/_service_class/__init__.py                                     3      0   100%
src/falconpy/_service_class/_base_service_class.py                        123      0   100%
src/falconpy/_service_class/_service_class.py                             117      0   100%
src/falconpy/_util/__init__.py                                              5      0   100%
src/falconpy/_util/_auth.py                                                50      0   100%
src/falconpy/_util/_functions.py                                          464      0   100%
src/falconpy/_util/_service.py                                              3      0   100%
src/falconpy/_util/_uber.py                                                53      0   100%
src/falconpy/_version.py                                                   38      0   100%
src/falconpy/access_scopes.py                                              14      0   100%
src/falconpy/admission_control_policies.py                                107      0   100%
src/falconpy/agent_invocation.py                                           23      0   100%
src/falconpy/agent_templates.py                                            14      0   100%
src/falconpy/agent_versions.py                                             14      0   100%
src/falconpy/alerts.py                                                     69      0   100%
src/falconpy/api_clients.py                                                39      0   100%
src/falconpy/api_complete/__init__.py                                       3      0   100%
src/falconpy/api_complete/_advanced.py                                     62      0   100%
src/falconpy/api_complete/_legacy.py                                      204      0   100%
src/falconpy/api_integrations.py                                           23      0   100%
src/falconpy/aspm.py                                                      332      0   100%
src/falconpy/cao_hunting.py                                                39      0   100%
src/falconpy/case_management.py                                           299      0   100%
src/falconpy/certificate_based_exclusions.py                               35      0   100%
src/falconpy/cloud_aws_registration.py                                     48      0   100%
src/falconpy/cloud_azure_registration.py                                   94      0   100%
src/falconpy/cloud_google_cloud_registration.py                            46      0   100%
src/falconpy/cloud_oci_registration.py                                     45      0   100%
src/falconpy/cloud_policies.py                                            153      0   100%
src/falconpy/cloud_security.py                                             39      0   100%
src/falconpy/cloud_security_assets.py                                      29      0   100%
src/falconpy/cloud_security_compliance.py                                  14      0   100%
src/falconpy/cloud_security_detections.py                                  24      0   100%
src/falconpy/cloud_security_registration_combined.py                       13      0   100%
src/falconpy/cloud_security_risks.py                                       10      0   100%
src/falconpy/cloud_snapshots.py                                            41      0   100%
src/falconpy/configuration_assessment.py                                   14      0   100%
src/falconpy/configuration_assessment_evaluation_logic.py                  10      0   100%
src/falconpy/container_alerts.py                                           18      0   100%
src/falconpy/container_detections.py                                       34      0   100%
src/falconpy/container_image_compliance.py                                 51      0   100%
src/falconpy/container_images.py                                           60      0   100%
src/falconpy/container_packages.py                                         34      0   100%
src/falconpy/container_vulnerabilities.py                                  47      0   100%
src/falconpy/content_update_policies.py                                    59      0   100%
src/falconpy/correlation_rules.py                                          93      0   100%
src/falconpy/correlation_rules_admin.py                                    19      0   100%
src/falconpy/cspm_registration.py                                         221      0   100%
src/falconpy/custom_ioa.py                                                 92      0   100%
src/falconpy/custom_storage.py                                            194      0   100%
src/falconpy/d4c_registration.py                                          118      0   100%
src/falconpy/data_protection_configuration.py                             251      0   100%
src/falconpy/delivery_settings.py                                          16      0   100%
src/falconpy/deployments.py                                                38      0   100%
src/falconpy/device_content.py                                             14      0   100%
src/falconpy/device_control_policies.py                                   110      0   100%
src/falconpy/discover.py                                                   48      0   100%
src/falconpy/downloads.py                                                  22      0   100%
src/falconpy/drift_indicators.py                                           26      0   100%
src/falconpy/event_streams.py                                              21      0   100%
src/falconpy/exposure_management.py                                        64      0   100%
src/falconpy/faas_execution.py                                             10      0   100%
src/falconpy/falcon_complete_dashboard.py                                 105      0   100%
src/falconpy/falcon_container.py                                           98      0   100%
src/falconpy/falcon_id.py                                                  25      0   100%
src/falconpy/falconx_sandbox.py                                            98      0   100%
src/falconpy/fdr.py                                                        25      0   100%
src/falconpy/federated_connections.py                                      23      0   100%
src/falconpy/filevantage.py                                               160      0   100%
src/falconpy/firewall_management.py                                       140      0   100%
src/falconpy/firewall_policies.py                                          72      0   100%
src/falconpy/foundry_logscale.py                                          105      0   100%
src/falconpy/foundry_lookup_files.py                                       39      0   100%
src/falconpy/host_group.py                                                 62      0   100%
src/falconpy/host_migration.py                                             89      0   100%
src/falconpy/hosts.py                                                     128      0   100%
src/falconpy/identity_protection.py                                        52      0   100%
src/falconpy/image_assessment_policies.py                                  64      0   100%
src/falconpy/incidents.py                                                  42      0   100%
src/falconpy/installation_tokens.py                                        44      0   100%
src/falconpy/intel.py                                                     132      0   100%
src/falconpy/intelligence_feeds.py                                         18      0   100%
src/falconpy/intelligence_indicator_graph.py                               24      0   100%
src/falconpy/ioa_exclusions.py                                             84      0   100%
src/falconpy/ioc.py                                                       100      0   100%
src/falconpy/iocs.py                                                       41      0   100%
src/falconpy/it_automation.py                                             212      0   100%
src/falconpy/knowledge_base_audit_events.py                                25      0   100%
src/falconpy/knowledge_base_files.py                                       50      0   100%
src/falconpy/knowledge_bases.py                                            37      0   100%
src/falconpy/kubernetes_container_compliance.py                            47      0   100%
src/falconpy/kubernetes_protection.py                                     288      0   100%
src/falconpy/malquery.py                                                   52      0   100%
src/falconpy/message_center.py                                             79      0   100%
src/falconpy/ml_exclusions.py                                             102      0   100%
src/falconpy/mobile_enrollment.py                                          20      0   100%
src/falconpy/models.py                                                     14      0   100%
src/falconpy/mssp.py                                                      175      0   100%
src/falconpy/network_scan.py                                               10      0   100%
src/falconpy/network_scan_global_configs.py                                16      0   100%
src/falconpy/network_scan_networks.py                                      37      0   100%
src/falconpy/network_scan_scan_run_reports.py                              10      0   100%
src/falconpy/network_scan_scan_runs.py                                     33      0   100%
src/falconpy/network_scan_scanners.py                                      27      0   100%
src/falconpy/network_scan_scans.py                                         37      0   100%
src/falconpy/network_scan_templates.py                                     35      0   100%
src/falconpy/network_scan_zones.py                                         41      0   100%
src/falconpy/ngsiem.py                                                    547      0   100%
src/falconpy/oauth2.py                                                     33      0   100%
src/falconpy/ods.py                                                        75      0   100%
src/falconpy/prevention_policy.py                                          63      0   100%
src/falconpy/profile_groups.py                                             57      0   100%
src/falconpy/quarantine.py                                                 47      0   100%
src/falconpy/quick_scan.py                                                 29      0   100%
src/falconpy/quick_scan_pro.py                                             50      0   100%
src/falconpy/real_time_response.py                                        129      0   100%
src/falconpy/real_time_response_admin.py                                  106      0   100%
src/falconpy/real_time_response_audit.py                                   11      0   100%
src/falconpy/recon.py                                                     130      0   100%
src/falconpy/report_executions.py                                          25      0   100%
src/falconpy/response_policies.py                                          62      0   100%
src/falconpy/saas_security.py                                             101      0   100%
src/falconpy/sample_uploads.py                                             94      0   100%
src/falconpy/scanning_orchestrator.py                                      37      0   100%
src/falconpy/scheduled_reports.py                                          21      0   100%
src/falconpy/sensor_download.py                                            73      0   100%
src/falconpy/sensor_update_policy.py                                      117      0   100%
src/falconpy/sensor_usage.py                                               14      0   100%
src/falconpy/sensor_visibility_exclusions.py                               32      0   100%
src/falconpy/serverless_exports.py                                         25      0   100%
src/falconpy/serverless_vulnerabilities.py                                 10      0   100%
src/falconpy/spans.py                                                      14      0   100%
src/falconpy/spotlight_evaluation_logic.py                                 28      0   100%
src/falconpy/spotlight_vulnerabilities.py                                  40      0   100%
src/falconpy/spotlight_vulnerability_metadata.py                           10      0   100%
src/falconpy/stream.py                                                     10      0   100%
src/falconpy/tailored_intelligence.py                                      42      0   100%
src/falconpy/threatgraph.py                                                30      0   100%
src/falconpy/tools.py                                                      14      0   100%
src/falconpy/unidentified_containers.py                                    18      0   100%
src/falconpy/user_management.py                                           166      0   100%
src/falconpy/workflows.py                                                 126      0   100%
src/falconpy/zero_trust_assessment.py                                      20      0   100%
-------------------------------------------------------------------------------------------
TOTAL                                                                   15327      0   100%

Bandit analysis

[main]	INFO	profile include tests: None
[main]	INFO	profile exclude tests: None
[main]	INFO	cli include tests: None
[main]	INFO	cli exclude tests: None
[main]	INFO	running on Python 3.14.6
Working... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
Run started:2026-08-04 23:27:40.163112+00:00

Test results:
	No issues identified.

Code scanned:
	Total lines of code: 155084
	Total lines skipped (#nosec): 0

Run metrics:
	Total issues (by severity):
		Undefined: 0
		Low: 0
		Medium: 0
		High: 0
	Total issues (by confidence):
		Undefined: 0
		Low: 0
		Medium: 0
		High: 0
Files skipped (0):

Added features and functionality

  • Added: Optional session keyword argument (a requests.Session instance) accepted by OAuth2, APIHarnessV2,
    the legacy APIHarness, and every Service Class, allowing callers to reuse a single HTTP connection across
    login, every API call, token renewal, and logout. FalconPy never closes a session provided this way; the
    caller retains ownership of its lifecycle. Behavior is unchanged when this keyword is omitted.

    • _util/_functions.py
    • _api_request/_request.py
    • _api_request/_request_connection.py
    • _auth_object/_interface_config.py
    • _auth_object/_falcon_interface.py
    • _auth_object/_uber_interface.py
    • oauth2.py
    • _util/_service.py
    • _util/_uber.py
    • _service_class/_base_service_class.py
    • api_complete/_legacy.py

    Unit testing expanded to complete code coverage.

    • tests/test_session_support.py
    • tests/test_session_connection_reuse.py
    • Thanks to @Davack for their contribution! 🙇
  • Added: New Agent Invocation service collection with three operations. Related to [ ENH ] Agentic API collections available in gofalcon are not exposed in FalconPy #1496.

    • invoke_published_agent_external_v1
    • get_agent_invocation_v3
    • invoke_agent_version_external_v1
    • _endpoint/__init__.py
    • _endpoint/_agent_invocation.py
    • _payload/__init__.py
    • _payload/_agent_invocation.py
    • __init__.py
    • agent_invocation.py

    Unit testing expanded to complete code coverage.

    • tests/test_agent_invocation.py
  • Added: New Agent Templates service collection with two operations. Related to [ ENH ] Agentic API collections available in gofalcon are not exposed in FalconPy #1496.

    • entities_agent_templates_v1
    • queries_agent_templates_v1
    • _endpoint/__init__.py
    • _endpoint/_agent_templates.py
    • _payload/__init__.py
    • _payload/_agent_templates.py
    • __init__.py
    • agent_templates.py

    Unit testing expanded to complete code coverage.

    • tests/test_agent_templates.py
  • Added: New Agent Versions service collection with two operations. Closes [ ENH ] Agentic API collections available in gofalcon are not exposed in FalconPy #1496.

    • get_agent_versions_v1
    • query_agent_versions_v1
    • _endpoint/__init__.py
    • _endpoint/_agent_versions.py
    • _payload/__init__.py
    • _payload/_agent_versions.py
    • __init__.py
    • agent_versions.py

    Unit testing expanded to complete code coverage.

    • tests/test_agent_versions.py
  • Added: Added entities_merge_post_v1 operation to the Case Management service collection.

    • entities_merge_post_v1
    • _endpoint/_case_management.py
    • case_management.py

    Unit testing expanded to complete code coverage.

    • tests/test_case_management.py
  • Updated: Added enriched as an allowed parameter in the GetRuleInputSchema operation within the Cloud Policies service collection.

    • _endpoint/_cloud_policies.py
    • cloud_policies.py
  • Updated: Added sort as an allowed parameter in the cloud_security_assets_combined_application_findings operation, updated the filter parameter description in the cloud_security_assets_combined_compliance_by_account operation, and updated the filter parameter description in the cloud_security_assets_queries operation within the Cloud Security Assets service collection.

    • _endpoint/_cloud_security_assets.py
    • cloud_security_assets.py
  • Added: Added cspm_evaluations_iom_entities_post operation to the Cloud Security Detections service collection.

    • cspm_evaluations_iom_entities_post
    • _endpoint/_cloud_security_detections.py
    • cloud_security_detections.py

    Unit testing expanded to complete code coverage.

    • tests/test_cloud_security_detections.py
  • Added: Added entities_rules_ownership_put_v2 operation to the Correlation Rules Admin service collection.

    • entities_rules_ownership_put_v2
    • _endpoint/_correlation_rules_admin.py
    • correlation_rules_admin.py

    Unit testing expanded to complete code coverage.

    • tests/test_correlation_rules_admin.py
  • Added: Added five new operations to the Data Protection Configuration service collection.

    • entities_web_location_group_get
    • entities_web_location_group_create
    • entities_web_location_group_delete
    • entities_web_location_group_patch
    • queries_web_location_group_get
    • _endpoint/_data_protection_configuration.py
    • data_protection_configuration.py

    Unit testing expanded to complete code coverage.

    • tests/test_data_protection_configuration.py
  • Updated: Added Authorization as an allowed parameter to the CombinedReleaseNotesV1, CombinedReleasesV1Mixin0, GetDeploymentsExternalV1, GetEntityIDsByQueryPOST, GetEntityIDsByQueryPOSTV2, and QueryReleaseNotesV1 operations within the Deployments service collection.

    • _endpoint/_deployments.py
    • deployments.py
  • Updated: Added cloud_service_compartment_id as an allowed sort value for the CombinedHiddenDevicesByFilter and CombinedDevicesByFilter operations within the Hosts service collection.

    • _endpoint/_hosts.py
    • hosts.py
  • Decommissioned: Decommissioned all six operations within the Incidents service collection (CrowdScore, GetBehaviors, GetIncidents, PerformIncidentAction, QueryBehaviors, and QueryIncidents). The Incidents API reached end of life and these operations were removed from the API specification. The Incidents Service Class and its methods remain importable and are tagged DECOMMISSIONED so existing code continues to load, but calls to these operations will no longer succeed. Use the Alerts service collection instead.

    • _endpoint/_incidents.py
    • _endpoint/deprecated/_incidents.py
    • _endpoint/deprecated/_mapping.py
    • incidents.py
  • Decommissioned: Decommissioned AggregatesKnowledgeBaseAuditEventsV1 operation in the Knowledge Base Audit Events service collection.

    • _endpoint/_knowledge_base_audit_events.py
    • _endpoint/deprecated/_knowledge_base_audit_events.py
    • _endpoint/deprecated/_mapping.py
    • knowledge_base_audit_events.py
  • Decommissioned: Decommissioned AggregatesKnowledgeBasesV1 operation in the Knowledge Bases service collection.

    • _endpoint/_knowledge_bases.py
    • _endpoint/deprecated/_knowledge_bases.py
    • _endpoint/deprecated/_mapping.py
    • knowledge_bases.py
  • Added: Added PostAggregatesPods operation to the Kubernetes Protection service collection.

    • post_aggregates_pods
    • _endpoint/_kubernetes_protection.py
    • kubernetes_protection.py

    Unit testing expanded to complete code coverage.

    • tests/test_kubernetes_protection.py
  • Added: Added exclusions_sdmf_query_v1 operation to the Ml Exclusions service collection.

    • exclusions_sdmf_query_v1
    • _endpoint/_ml_exclusions.py
    • ml_exclusions.py

    Unit testing expanded to complete code coverage.

    • tests/test_ml_exclusions.py
  • Added: New Models service collection with two operations.

    • entities_models_v1
    • queries_models_v1
    • _endpoint/__init__.py
    • _endpoint/_models.py
    • _payload/__init__.py
    • _payload/_models.py
    • __init__.py
    • models.py

    Unit testing expanded to complete code coverage.

    • tests/test_models.py
  • Added: Added 18 new operations to the Ngsiem service collection.

    • bulk_add_dashboard_labels
    • bulk_remove_dashboard_labels
    • bulk_update_dashboard_labels
    • bulk_add_lookup_file_labels
    • bulk_remove_lookup_file_labels
    • bulk_update_lookup_file_labels
    • bulk_add_saved_query_labels
    • bulk_remove_saved_query_labels
    • bulk_update_saved_query_labels
    • update_dashboard_labels
    • add_dashboard_labels
    • remove_dashboard_labels
    • update_file_labels
    • add_file_labels
    • remove_file_labels
    • update_saved_query_labels
    • add_saved_query_labels
    • remove_saved_query_labels
    • _endpoint/_ngsiem.py
    • ngsiem.py

    Unit testing expanded to complete code coverage.

    • tests/test_ngsiem.py
  • Added: New Scanning Orchestrator service collection with eight operations.

    • get_combined_schedules
    • trigger_scan_by_schedule
    • get_schedules
    • create_schedules
    • delete_schedules
    • update_schedules
    • get_service_types
    • search_schedules
    • _endpoint/__init__.py
    • _endpoint/_scanning_orchestrator.py
    • _payload/__init__.py
    • _payload/_scanning_orchestrator.py
    • __init__.py
    • scanning_orchestrator.py

    Unit testing expanded to complete code coverage.

    • tests/test_scanning_orchestrator.py
  • Added: New Spans service collection with two operations.

    • entities_spans_v1
    • queries_spans_v1
    • _endpoint/__init__.py
    • _endpoint/_spans.py
    • _payload/__init__.py
    • _payload/_spans.py
    • __init__.py
    • spans.py

    Unit testing expanded to complete code coverage.

    • tests/test_spans.py
  • Added: New Stream service collection with one operation.

    • stream_invocation_response_v1
    • _endpoint/__init__.py
    • _endpoint/_stream.py
    • _payload/__init__.py
    • _payload/_stream.py
    • __init__.py
    • stream.py

    Unit testing expanded to complete code coverage.

    • tests/test_stream.py
  • Updated: Added Authorization as an allowed parameter to the GetEventsBody, GetEventsEntities, QueryEvents, GetRulesEntities, and QueryRules operations within the Tailored Intelligence service collection.

    • _endpoint/_tailored_intelligence.py
    • tailored_intelligence.py
  • Added: New Tools service collection with two operations.

    • entities_tools_v1
    • queries_tools_v1
    • _endpoint/__init__.py
    • _endpoint/_tools.py
    • _payload/__init__.py
    • _payload/_tools.py
    • __init__.py
    • tools.py

    Unit testing expanded to complete code coverage.

    • tests/test_tools.py
  • Decommissioned: Decommissioned WorkflowExecuteInternal operation in the Workflows service collection.

    • _endpoint/_workflows.py
    • _endpoint/deprecated/_workflows.py
    • _endpoint/deprecated/_mapping.py
    • workflows.py
  • Updated: Added include_mocks and version as allowed parameters in the WorkflowDefinitionsExport operation within the Workflows service collection.

    • _endpoint/_workflows.py
    • workflows.py
  • Updated: Converted method docstrings within every service collection to the "format friendly" style. Keyword arguments and return values are now typed entries beneath underlined section headers, which is valid numpydoc and reStructuredText and renders as structured documentation in editors and IDEs. Method behavior is unchanged.

    • *.py (every service collection)
    • .pylintrc

    Utilities used to perform and maintain the conversion.

    • util/convert_docstrings.py
    • util/fix_docstring_underlines.py

Issues resolved

  • Fixed: Fixed the documented body keyword argument being ignored by the start_search method within the NGSIEM service collection. The search payload was only built when body was absent, and the request was then gated on that payload, so passing body returned a local error result without calling the API. The search keyword is unaffected. Closes [ BUG ] NGSIEM.start_search() ignores the documented body keyword #1491.

    • ngsiem.py

    Unit testing expanded to complete code coverage.

    • tests/test_ngsiem.py
    • Thanks go out to @mraible for identifying, reporting, and confirming a fix for this issue! 🙇
  • Fixed: Documented the timestamp format required by the filter keyword for the query_malware and query_malware_entities operations within the Intel service collection. These operations return last_updated and created_timestamp as ISO 8601 strings, so filter values for those fields must be quoted (last_updated:>='2026-01-28T10:22:34Z'). An unquoted value is parsed as an integer, so a Unix epoch timestamp is accepted but matches no records, making the filter appear to be ignored. FalconPy passes the filter value to the API unmodified, so this is a documentation change only. Closes [ BUG ] query_malware_entities ignores last_updated FQL filter #1422.

    • intel.py
    • Thanks go out to @Kakudou for identifying and reporting this issue! 🙇
  • Fixed: Fixed path parameters being interpolated into operation routes without per-segment encoding. A value containing a forward slash or a dot-segment sequence altered the generated path, and since the requests library normalizes a path before transmission, the request could be issued against a different route than the calling method selected. The new encode_path_segment handler is applied at all three route construction sites: handle_path_variables (Service Classes), handle_field and scrub_target (the Uber Class), and the path variable handlers within the legacy APIHarness. Integers, UUIDs and hyphenated keys are unaffected. Closes [ ENH ] Harden path-variable interpolation in handle_path_variables and scrub_target #1488.

    • _util/__init__.py
    • _util/_functions.py
    • _util/_uber.py
    • api_complete/_legacy.py

    Unit testing expanded to complete code coverage.

    • tests/test_path_encoding.py
    • Thanks go out to @liyander for identifying and reporting this issue! 🙇
  • Fixed: Fixed Context Authentication discarding an explicitly provided base_url. The cloud region advertised by the discovered context object was applied unconditionally, replacing the base URL specified by the caller, which retargeted requests to the context cs_cloud value within Foundry FaaS functions. A caller-provided base URL now takes precedence, and the context is only consulted when one was not supplied.

    • _auth_object/_falcon_interface.py

    Unit testing expanded to complete code coverage.

    • tests/test_zero_trust_assessment.py
    • Thanks go out to @mraible for identifying, reporting, and providing a reproduction for this issue! 🙇
  • Fixed: Added US-3 to the list of dashed region names recognized when a base URL is specified by name. Passing base_url="us-3" produced https://us-3 instead of the US-3 API URL, since the dash was only stripped for regions present in that list. All regions now resolve the same way with or without the dash.

    • _util/_functions.py

    Unit testing expanded to complete code coverage.

    • tests/test_authentications.py
  • Fixed: Added the missing US-3 and USGOV-2 ingest base URLs. Retrieving an ingest base URL for a US-3 or USGOV-2 tenant raised a KeyError, making the NGSIEM HTTP Event Collector unusable in those regions.

    • _enum/_ingest_base_url.py

David Levi and others added 30 commits August 5, 2026 13:38
Add an optional session (requests.Session) keyword argument, accepted by
OAuth2, APIHarnessV2, the legacy APIHarness, and every Service Class,
allowing callers to reuse a persistent HTTP connection across login, every
API call, token renewal, and logout. Default (no session) behavior is
unchanged, FalconPy never closes a caller-provided session, and no global
session is introduced.
start_search documented body as an accepted keyword, but the guard only
built search when body was falsy, then gated the request on search alone.
Passing body= left search as None and returned a locally generated error
without issuing a request.

Closes #1491
@jshcodes
jshcodes deployed to testing-eu1 August 12, 2026 17:40 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants