Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.4.4 - New service collections, operation updates and bug fixes #1175

Merged
merged 30 commits into from
Jun 5, 2024

Conversation

jshcodes
Copy link
Member

@jshcodes jshcodes commented Jun 4, 2024

FalconPy 1.4.4

This update implements the following:

  • Adds three new service collections
  • Updates several operations, parameters and descriptions.
  • Removes four operations.
  • Resolves two bugs.
  • Enhancement
  • Bug fixes
  • Updated unit tests

Unit test coverage

Name                                                                   Stmts   Miss  Cover
------------------------------------------------------------------------------------------
src/falconpy/__init__.py                                                  95      0   100%
src/falconpy/_api_request/__init__.py                                      7      0   100%
src/falconpy/_api_request/_request.py                                    109      0   100%
src/falconpy/_api_request/_request_behavior.py                            55      0   100%
src/falconpy/_api_request/_request_connection.py                           8      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                           256      0   100%
src/falconpy/_auth_object/_interface_config.py                            40      0   100%
src/falconpy/_auth_object/_uber_interface.py                              42      0   100%
src/falconpy/_constant/__init__.py                                        11      0   100%
src/falconpy/_endpoint/__init__.py                                       178      0   100%
src/falconpy/_endpoint/_alerts.py                                          1      0   100%
src/falconpy/_endpoint/_api_integrations.py                                1      0   100%
src/falconpy/_endpoint/_cloud_connect_aws.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_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/_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/_detects.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/_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/_falcon_complete_dashboard.py                       1      0   100%
src/falconpy/_endpoint/_falcon_container.py                                1      0   100%
src/falconpy/_endpoint/_falconx_sandbox.py                                 1      0   100%
src/falconpy/_endpoint/_fdr.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/_host_group.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/_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/_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/_mssp.py                                            1      0   100%
src/falconpy/_endpoint/_oauth2.py                                          1      0   100%
src/falconpy/_endpoint/_ods.py                                             1      0   100%
src/falconpy/_endpoint/_overwatch_dashboard.py                             1      0   100%
src/falconpy/_endpoint/_prevention_policies.py                             1      0   100%
src/falconpy/_endpoint/_quarantine.py                                      1      0   100%
src/falconpy/_endpoint/_quick_scan.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/_sample_uploads.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_visibility_exclusions.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/_tailored_intelligence.py                           1      0   100%
src/falconpy/_endpoint/_threatgraph.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                             37      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/_discover.py                             1      0   100%
src/falconpy/_endpoint/deprecated/_exposure_management.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/_hosts.py                                1      0   100%
src/falconpy/_endpoint/deprecated/_identity_protection.py                  1      0   100%
src/falconpy/_endpoint/deprecated/_installation_tokens.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/_mapping.py                              2      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/_scheduled_reports.py                    1      0   100%
src/falconpy/_endpoint/deprecated/_zero_trust_assessment.py                1      0   100%
src/falconpy/_enum/__init__.py                                             4      0   100%
src/falconpy/_enum/_base_url.py                                            7      0   100%
src/falconpy/_enum/_container_base_url.py                                  6      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                                        68      0   100%
src/falconpy/_error/_warnings.py                                          73      0   100%
src/falconpy/_log/__init__.py                                              2      0   100%
src/falconpy/_log/_facility.py                                            34      0   100%
src/falconpy/_payload/__init__.py                                         33      0   100%
src/falconpy/_payload/_alerts.py                                          11      0   100%
src/falconpy/_payload/_api_integrations.py                                12      0   100%
src/falconpy/_payload/_cloud_connect_aws.py                               23      0   100%
src/falconpy/_payload/_cloud_snapshots.py                                 22      0   100%
src/falconpy/_payload/_container.py                                       66      0   100%
src/falconpy/_payload/_cspm_registration.py                               64      0   100%
src/falconpy/_payload/_d4c_registration.py                                38      0   100%
src/falconpy/_payload/_detects.py                                         15      0   100%
src/falconpy/_payload/_device_control_policy.py                           33      0   100%
src/falconpy/_payload/_exposure_management.py                             14      0   100%
src/falconpy/_payload/_falconx.py                                         25      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                                         66      0   100%
src/falconpy/_payload/_host_group.py                                      31      0   100%
src/falconpy/_payload/_incidents.py                                       15      0   100%
src/falconpy/_payload/_ioa.py                                             35      0   100%
src/falconpy/_payload/_ioc.py                                             52      0   100%
src/falconpy/_payload/_malquery.py                                        56      0   100%
src/falconpy/_payload/_message_center.py                                  22      0   100%
src/falconpy/_payload/_mobile_enrollment.py                               12      0   100%
src/falconpy/_payload/_mssp.py                                            15      0   100%
src/falconpy/_payload/_ods.py                                             13      0   100%
src/falconpy/_payload/_prevention_policy.py                               19      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/_sensor_update_policy.py                            30      0   100%
src/falconpy/_payload/_workflows.py                                       42      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                                          25      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                       118      0   100%
src/falconpy/_service_class/_service_class.py                            104      0   100%
src/falconpy/_util/__init__.py                                             5      0   100%
src/falconpy/_util/_auth.py                                               47      0   100%
src/falconpy/_util/_functions.py                                         404      0   100%
src/falconpy/_util/_service.py                                             3      0   100%
src/falconpy/_util/_uber.py                                               49      0   100%
src/falconpy/_version.py                                                  41      0   100%
src/falconpy/alerts.py                                                    62      0   100%
src/falconpy/api_complete/__init__.py                                      3      0   100%
src/falconpy/api_complete/_advanced.py                                    59      0   100%
src/falconpy/api_complete/_legacy.py                                     202      0   100%
src/falconpy/api_integrations.py                                          16      0   100%
src/falconpy/cloud_connect_aws.py                                         48      0   100%
src/falconpy/cloud_snapshots.py                                           33      0   100%
src/falconpy/configuration_assessment.py                                  13      0   100%
src/falconpy/configuration_assessment_evaluation_logic.py                  9      0   100%
src/falconpy/container_alerts.py                                          17      0   100%
src/falconpy/container_detections.py                                      33      0   100%
src/falconpy/container_images.py                                          45      0   100%
src/falconpy/container_packages.py                                        25      0   100%
src/falconpy/container_vulnerabilities.py                                 45      0   100%
src/falconpy/cspm_registration.py                                        212      0   100%
src/falconpy/custom_ioa.py                                                91      0   100%
src/falconpy/custom_storage.py                                            68      0   100%
src/falconpy/d4c_registration.py                                         120      0   100%
src/falconpy/detects.py                                                   32      0   100%
src/falconpy/device_control_policies.py                                   78      0   100%
src/falconpy/discover.py                                                  38      0   100%
src/falconpy/drift_indicators.py                                          21      0   100%
src/falconpy/event_streams.py                                             20      0   100%
src/falconpy/exposure_management.py                                       34      0   100%
src/falconpy/falcon_complete_dashboard.py                                111      0   100%
src/falconpy/falcon_container.py                                          57      0   100%
src/falconpy/falconx_sandbox.py                                           96      0   100%
src/falconpy/fdr.py                                                       23      0   100%
src/falconpy/filevantage.py                                              159      0   100%
src/falconpy/firewall_management.py                                      139      0   100%
src/falconpy/firewall_policies.py                                         71      0   100%
src/falconpy/foundry_logscale.py                                          64      0   100%
src/falconpy/host_group.py                                                61      0   100%
src/falconpy/hosts.py                                                    113      0   100%
src/falconpy/identity_protection.py                                       34      0   100%
src/falconpy/image_assessment_policies.py                                 63      0   100%
src/falconpy/incidents.py                                                 41      0   100%
src/falconpy/installation_tokens.py                                       43      0   100%
src/falconpy/intel.py                                                    105      0   100%
src/falconpy/ioa_exclusions.py                                            33      0   100%
src/falconpy/ioc.py                                                       94      0   100%
src/falconpy/iocs.py                                                      40      0   100%
src/falconpy/kubernetes_protection.py                                    242      0   100%
src/falconpy/malquery.py                                                  50      0   100%
src/falconpy/message_center.py                                            90      0   100%
src/falconpy/ml_exclusions.py                                             35      0   100%
src/falconpy/mobile_enrollment.py                                         19      0   100%
src/falconpy/mssp.py                                                     174      0   100%
src/falconpy/oauth2.py                                                    30      0   100%
src/falconpy/ods.py                                                       73      0   100%
src/falconpy/overwatch_dashboard.py                                       31      0   100%
src/falconpy/prevention_policy.py                                         62      0   100%
src/falconpy/quarantine.py                                                46      0   100%
src/falconpy/quick_scan.py                                                27      0   100%
src/falconpy/real_time_response.py                                       127      0   100%
src/falconpy/real_time_response_admin.py                                  83      0   100%
src/falconpy/real_time_response_audit.py                                  10      0   100%
src/falconpy/recon.py                                                    128      0   100%
src/falconpy/report_executions.py                                         24      0   100%
src/falconpy/response_policies.py                                         61      0   100%
src/falconpy/sample_uploads.py                                            92      0   100%
src/falconpy/scheduled_reports.py                                         20      0   100%
src/falconpy/sensor_download.py                                           55      0   100%
src/falconpy/sensor_update_policy.py                                     110      0   100%
src/falconpy/sensor_visibility_exclusions.py                              33      0   100%
src/falconpy/spotlight_evaluation_logic.py                                23      0   100%
src/falconpy/spotlight_vulnerabilities.py                                 31      0   100%
src/falconpy/tailored_intelligence.py                                     41      0   100%
src/falconpy/threatgraph.py                                               29      0   100%
src/falconpy/unidentified_containers.py                                   17      0   100%
src/falconpy/user_management.py                                          139      0   100%
src/falconpy/workflows.py                                                100      0   100%
src/falconpy/zero_trust_assessment.py                                     23      0   100%
------------------------------------------------------------------------------------------
TOTAL                                                                   8216      0   100%

Bandit analysis

[main]	INFO	running on Python 3.11.8
Working... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 
Run started:2024-06-04 16:34:59.880373

Test results:
	No issues identified.

Code scanned:
	Total lines of code: 69910
	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: Added new API Integrations service collection with two new operations, GetCombinedPluginConfigs and ExecuteCommand.

    • __init__.py
    • _endpoint/__init__.py
    • _endpoint/_api_integrations.py
    • _payload/__init__.py
    • _payload/_api_integrations.py
    • api_integrations.py

    Unit testing expanded to complete code coverage.

    • tests/test_api_integrations.py
    • tests/test_uber.py
  • Added: Added new allowed parameters for the GetCSPMAwsAccountScriptsAttachment operation within the CSPM Registration service collection.

    • _endpoint/_cspm_registration.py
    • cspm_registration.py
  • Added: Added one new operation (update_rules_v2) to the Custom IOA service collection.

    • _endpoint/_custom_ioa.py
    • _endpoint/deprecated/_custom_ioa.py
    • custom_ioa.py

    Unit testing expanded to complete code coverage.

    • tests/test_custom_ioa.py
  • Added: Added new allowed parameters for the GetD4CAWSAccountScriptsAttachment operation within the D4C Registration service collection.

    • _endpoint/_d4c_registration.py
    • d4c_registration.py
  • Added: Added new Exposure Management service collection with 6 new operations.

    • aggregate_external_assets
    • blob_download_external_assets
    • blob_preview_external_assets
    • get_external_assets
    • patch_external_assets
    • query_external_assets
    • _endpoint/__init__.py
    • _endpoint/_exposure_management.py
    • _endpoint/deprecated/__init__.py
    • _endpoint/deprecated/_exposure_management.py
    • _payload/__init__.py
    • _payload/_exposure_management.py
    • __init__.py
    • exposure_management.py

    Unit testing expanded to complete code coverage.

    • tests/test_exposure_management.py
  • Added: Added five new operations to the FileVantage service collection.

    • getActionsMixin0
    • startActions
    • getContents
    • signalChangesExternal
    • queryActionsMixin0
    • _constant/__init__.py
    • _endpoint/_filevantage.py
    • _payload/__init__.py
    • _payload/_filevantage.py
    • filevantage.py

    Unit testing expanded to complete code coverage.

    • tests/test_filevantage.py
  • Added: Added cql-master, cql-update, and cql-changelog as allowed options for the type keyword within the GetLatestIntelRuleFile and QueryIntelRuleIds operations (Intel service collection).

    • _endpoint/_intel.py
    • intel.py
  • Added: Added one new operation (RequestDeviceEnrollmentV4) to the Mobile Enrollment service collection.

    • _endpoint/_mobile_enrollment.py
    • _payload/__init__.py
    • _payload/_mobile_enrollment.py
    • mobile_enrollment.py

    Unit testing expanded to complete code coverage.

    • tests/test_mobile_enrollment.py
  • Added: Added new ThreatGraph service collection with 5 new operations.

    • __init__.py
    • _endpoint/__init__.py
    • _endpoint/_threatgraph.py
    • _util/_functions.py
    • _util/uber.py
    • threatgraph.py

    Unit testing expanded to complete code coverage.

    • tests/test_threatgraph.py
  • Added: Added two new operations (WorkflowActivitiesCombined and WorkflowTriggersCombined) to the Workflows service collection.

    • _endpoint/_workflows.py
    • workflows.py

    Unit testing expanded to complete code coverage.

    • tests/test_workflows.py

Issues resolved

Other

  • Adjusted: Unit testing adjusted to allow 204 responses from DeletePolicy operation testing.

    • test_image_assessment_policies.py
  • Expanded: Unit testing expanded to test context authentication when base_url is not specified.

    • test_zero_trust_assessment.py
  • Updated: Updated enumerator for the sort parameter definition for the QueryCasesIdsByFilter operation (Message Center service collection).

    • _endpoint/_message_center.py
  • Updated: Updated filter parameter description for the query_iot_hosts operation within the Discover service collection.

    • _endpoint/_discover.py
    • _endpoint/deprecated/_discover.py
  • Removed: Removed one operation from the Drift Indicators service collection.

    • ReadDriftIndicatorEntities
    • _endpoint/_drift_indicators.py
    • drift_indicators.py

    Unit testing revised to complete code coverage.

    • tests/test_drift_indicators.py
  • Updated: Updated sort parameter description for the query_rulesMixin0 operation within the Custom IOA service collection.

    • _endpoint/_custom_ioa.py
    • _endpoint/deprecated/_custom_ioa.py
  • Removed: Removed three operations from the Kubernetes Protection service collection.

    • ReadContainerEnrichment
    • ReadDeploymentEnrichment
    • ReadPodEnrichment
    • _endpoint/_kubernetes_protection.py
    • kubernetes_protection.py

    Unit testing revised to complete code coverage.

    • tests/test_kubernetes_protection.py
  • Updated: Updated filter parameter description for the ReadRunningContainerImages operation within the Kubernetes Protection service collection.

    • _endpoint/_kubernetes_protection.py

@jshcodes jshcodes added intel Threat Intel issues and questions ioa Custom IOA and IOA exclusion issues and questions Discover Discover or Discover for Cloud issues and questions Horizon Horizon issues and questions FileVantage FileVantage issues or questions mobile enrollment Issues or questions regarding mobile enrollment Foundry Issues or questions regarding Falcon Foundry Fusion Falcon Fusion issues and questions ThreatGraph ThreatGraph issues and questions Exposure Management Exposure Management questions or issues API Integrations API Integrations issues or questions labels Jun 4, 2024
@jshcodes jshcodes self-assigned this Jun 4, 2024
@jshcodes jshcodes requested a review from crowdstrikedcs as a code owner June 4, 2024 16:37
@jshcodes jshcodes merged commit 6a4ad01 into main Jun 5, 2024
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Integrations API Integrations issues or questions Discover Discover or Discover for Cloud issues and questions Exposure Management Exposure Management questions or issues FileVantage FileVantage issues or questions Foundry Issues or questions regarding Falcon Foundry Fusion Falcon Fusion issues and questions Horizon Horizon issues and questions intel Threat Intel issues and questions ioa Custom IOA and IOA exclusion issues and questions mobile enrollment Issues or questions regarding mobile enrollment ThreatGraph ThreatGraph issues and questions
Projects
None yet
2 participants