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.5 - New service collections, fixes and updates #1210

Merged
merged 26 commits into from
Aug 1, 2024
Merged

Conversation

jshcodes
Copy link
Member

@jshcodes jshcodes commented Aug 1, 2024

FalconPy 1.4.5

This update provides three new service collections, expands context authentication functionality, resolves bugs, and adds a new region to the base URL enumerator.

  • Enhancement
  • Bug fixes
  • Updated unit tests

Unit test coverage

======================= 389 passed, 2 skipped in 550.26s (0:09:10) =======================
Name                                                                   Stmts   Miss  Cover
------------------------------------------------------------------------------------------
src/falconpy/__init__.py                                                  98      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                           257      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                                       186      0   100%
src/falconpy/_endpoint/_alerts.py                                          1      0   100%
src/falconpy/_endpoint/_api_integrations.py                                1      0   100%
src/falconpy/_endpoint/_certificate_based_exclusions.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/_compliance_assessments.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/_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/_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                             39      0   100%
src/falconpy/_endpoint/deprecated/_certificate_based_exclusions.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/_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                                            8      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                                         34      0   100%
src/falconpy/_payload/_alerts.py                                          11      0   100%
src/falconpy/_payload/_api_integrations.py                                12      0   100%
src/falconpy/_payload/_certificate_based_exclusions.py                    22      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                                                  37      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/certificate_based_exclusions.py                              34      0   100%
src/falconpy/cloud_snapshots.py                                           33      0   100%
src/falconpy/compliance_assessments.py                                    49      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/host_migration.py                                            88      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                                                                   8354      0   100%

Bandit analysis

[main]	INFO	running on Python 3.11.8
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 

Run started:2024-07-31 22:58:44.793026

Test results:
	No issues identified.

Code scanned:
	Total lines of code: 72154
	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 Host Migration service collection with 10 new operations.

    • __init__.py
    • _endpoint/__init__.py
    • _endpoint/_host_migration.py
    • host_migration.py

    Unit testing expanded to complete code coverage.

    • tests/test_host_migration.py
  • Added: Added new Certificate Based Exclusions service collection with six new operations.

    • __init__.py
    • _endpoint/__init__.py
    • _endpoint/_certificate_based_exclusions.py
    • _endpoint/deprecated/_certificate_based_exclusions.py
    • _payload/__init__.py
    • _payload/_certificate_based_exclusions.py
    • certificate_based_exclusions.py

    Unit testing expanded to complete code coverage.

    • tests/test_certificate_based_exclusions.py
  • Added: Added new Compliance Assessments service collection with 11 new operations.

    • __init__.py
    • _endpoint/__init__.py
    • _endpoint/_compliance_assessments.py
    • compliance_assessments.py

    Unit testing expanded to complete code coverage.

    • tests/test_compliance_assessments.py

Issues resolved

  • Fixed: Resolved comparison issue with version check helper method.
    • _version.py

Other

  • Added: USGOV2 cloud region added to Base URL enumerator.

    • _enum/_base_url.py
  • Added: Automatic base URL detection from context objects when available.

    • _auth_object/_falcon_interface.py
  • Pinned: setuptools package pinned to version 70.3.0 to avoid failures with new iterations of setuptools in Azure environments.

    • requirements.txt
    • requirements-dev.txt
    • setup.py
    • dev-setup.py
    • Thanks go out to @gansel51 for identifying this issue and contributing a fix! 🙇
  • Pinned: zipp package pinned to version 3.19.1 to avoid a potential vulnerability.

    • requirements-dev.txt

@jshcodes jshcodes self-assigned this Aug 1, 2024
@jshcodes jshcodes added host migration Host Migration issues or questions certificate based exclusions Certificate Based Exclusions issues and questions compliance assessments Compliance Assessments issues or questions labels Aug 1, 2024
@jshcodes jshcodes merged commit b934409 into main Aug 1, 2024
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
certificate based exclusions Certificate Based Exclusions issues and questions compliance assessments Compliance Assessments issues or questions host migration Host Migration issues or questions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants