regscale-cli 6.16.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of regscale-cli might be problematic. Click here for more details.
- regscale/__init__.py +1 -0
- regscale/airflow/__init__.py +9 -0
- regscale/airflow/azure/__init__.py +9 -0
- regscale/airflow/azure/cli.py +89 -0
- regscale/airflow/azure/upload_dags.py +116 -0
- regscale/airflow/click_dags.py +127 -0
- regscale/airflow/click_mixins.py +82 -0
- regscale/airflow/config.py +25 -0
- regscale/airflow/factories/__init__.py +0 -0
- regscale/airflow/factories/connections.py +58 -0
- regscale/airflow/factories/workflows.py +78 -0
- regscale/airflow/hierarchy.py +88 -0
- regscale/airflow/operators/__init__.py +0 -0
- regscale/airflow/operators/click.py +36 -0
- regscale/airflow/sensors/__init__.py +0 -0
- regscale/airflow/sensors/sql.py +107 -0
- regscale/airflow/sessions/__init__.py +0 -0
- regscale/airflow/sessions/sql/__init__.py +3 -0
- regscale/airflow/sessions/sql/queries.py +64 -0
- regscale/airflow/sessions/sql/sql_server_queries.py +248 -0
- regscale/airflow/tasks/__init__.py +0 -0
- regscale/airflow/tasks/branches.py +22 -0
- regscale/airflow/tasks/cli.py +116 -0
- regscale/airflow/tasks/click.py +73 -0
- regscale/airflow/tasks/debugging.py +9 -0
- regscale/airflow/tasks/groups.py +116 -0
- regscale/airflow/tasks/init.py +60 -0
- regscale/airflow/tasks/states.py +47 -0
- regscale/airflow/tasks/workflows.py +36 -0
- regscale/ansible/__init__.py +9 -0
- regscale/core/__init__.py +0 -0
- regscale/core/app/__init__.py +3 -0
- regscale/core/app/api.py +571 -0
- regscale/core/app/application.py +665 -0
- regscale/core/app/internal/__init__.py +136 -0
- regscale/core/app/internal/admin_actions.py +230 -0
- regscale/core/app/internal/assessments_editor.py +873 -0
- regscale/core/app/internal/catalog.py +316 -0
- regscale/core/app/internal/comparison.py +459 -0
- regscale/core/app/internal/control_editor.py +571 -0
- regscale/core/app/internal/encrypt.py +79 -0
- regscale/core/app/internal/evidence.py +1240 -0
- regscale/core/app/internal/file_uploads.py +151 -0
- regscale/core/app/internal/healthcheck.py +66 -0
- regscale/core/app/internal/login.py +305 -0
- regscale/core/app/internal/migrations.py +240 -0
- regscale/core/app/internal/model_editor.py +1701 -0
- regscale/core/app/internal/poam_editor.py +632 -0
- regscale/core/app/internal/workflow.py +105 -0
- regscale/core/app/logz.py +74 -0
- regscale/core/app/utils/XMLIR.py +258 -0
- regscale/core/app/utils/__init__.py +0 -0
- regscale/core/app/utils/api_handler.py +358 -0
- regscale/core/app/utils/app_utils.py +1110 -0
- regscale/core/app/utils/catalog_utils/__init__.py +0 -0
- regscale/core/app/utils/catalog_utils/common.py +91 -0
- regscale/core/app/utils/catalog_utils/compare_catalog.py +193 -0
- regscale/core/app/utils/catalog_utils/diagnostic_catalog.py +97 -0
- regscale/core/app/utils/catalog_utils/download_catalog.py +103 -0
- regscale/core/app/utils/catalog_utils/update_catalog.py +718 -0
- regscale/core/app/utils/catalog_utils/update_catalog_v2.py +1378 -0
- regscale/core/app/utils/catalog_utils/update_catalog_v3.py +1272 -0
- regscale/core/app/utils/catalog_utils/update_plans.py +334 -0
- regscale/core/app/utils/file_utils.py +238 -0
- regscale/core/app/utils/parser_utils.py +81 -0
- regscale/core/app/utils/pickle_file_handler.py +57 -0
- regscale/core/app/utils/regscale_utils.py +319 -0
- regscale/core/app/utils/report_utils.py +119 -0
- regscale/core/app/utils/variables.py +226 -0
- regscale/core/decorators.py +31 -0
- regscale/core/lazy_group.py +65 -0
- regscale/core/login.py +63 -0
- regscale/core/server/__init__.py +0 -0
- regscale/core/server/flask_api.py +473 -0
- regscale/core/server/helpers.py +373 -0
- regscale/core/server/rest.py +64 -0
- regscale/core/server/static/css/bootstrap.css +6030 -0
- regscale/core/server/static/css/bootstrap.min.css +6 -0
- regscale/core/server/static/css/main.css +176 -0
- regscale/core/server/static/images/regscale-cli.svg +49 -0
- regscale/core/server/static/images/regscale.svg +38 -0
- regscale/core/server/templates/base.html +74 -0
- regscale/core/server/templates/index.html +43 -0
- regscale/core/server/templates/login.html +28 -0
- regscale/core/server/templates/make_base64.html +22 -0
- regscale/core/server/templates/upload_STIG.html +109 -0
- regscale/core/server/templates/upload_STIG_result.html +26 -0
- regscale/core/server/templates/upload_ssp.html +144 -0
- regscale/core/server/templates/upload_ssp_result.html +128 -0
- regscale/core/static/__init__.py +0 -0
- regscale/core/static/regex.py +14 -0
- regscale/core/utils/__init__.py +117 -0
- regscale/core/utils/click_utils.py +13 -0
- regscale/core/utils/date.py +238 -0
- regscale/core/utils/graphql.py +254 -0
- regscale/core/utils/urls.py +23 -0
- regscale/dev/__init__.py +6 -0
- regscale/dev/analysis.py +454 -0
- regscale/dev/cli.py +235 -0
- regscale/dev/code_gen.py +492 -0
- regscale/dev/dirs.py +69 -0
- regscale/dev/docs.py +384 -0
- regscale/dev/monitoring.py +26 -0
- regscale/dev/profiling.py +216 -0
- regscale/exceptions/__init__.py +4 -0
- regscale/exceptions/license_exception.py +7 -0
- regscale/exceptions/validation_exception.py +9 -0
- regscale/integrations/__init__.py +1 -0
- regscale/integrations/commercial/__init__.py +486 -0
- regscale/integrations/commercial/ad.py +433 -0
- regscale/integrations/commercial/amazon/__init__.py +0 -0
- regscale/integrations/commercial/amazon/common.py +106 -0
- regscale/integrations/commercial/aqua/__init__.py +0 -0
- regscale/integrations/commercial/aqua/aqua.py +91 -0
- regscale/integrations/commercial/aws/__init__.py +6 -0
- regscale/integrations/commercial/aws/cli.py +322 -0
- regscale/integrations/commercial/aws/inventory/__init__.py +110 -0
- regscale/integrations/commercial/aws/inventory/base.py +64 -0
- regscale/integrations/commercial/aws/inventory/resources/__init__.py +19 -0
- regscale/integrations/commercial/aws/inventory/resources/compute.py +234 -0
- regscale/integrations/commercial/aws/inventory/resources/containers.py +113 -0
- regscale/integrations/commercial/aws/inventory/resources/database.py +101 -0
- regscale/integrations/commercial/aws/inventory/resources/integration.py +237 -0
- regscale/integrations/commercial/aws/inventory/resources/networking.py +253 -0
- regscale/integrations/commercial/aws/inventory/resources/security.py +240 -0
- regscale/integrations/commercial/aws/inventory/resources/storage.py +91 -0
- regscale/integrations/commercial/aws/scanner.py +823 -0
- regscale/integrations/commercial/azure/__init__.py +0 -0
- regscale/integrations/commercial/azure/common.py +32 -0
- regscale/integrations/commercial/azure/intune.py +488 -0
- regscale/integrations/commercial/azure/scanner.py +49 -0
- regscale/integrations/commercial/burp.py +78 -0
- regscale/integrations/commercial/cpe.py +144 -0
- regscale/integrations/commercial/crowdstrike.py +1117 -0
- regscale/integrations/commercial/defender.py +1511 -0
- regscale/integrations/commercial/dependabot.py +210 -0
- regscale/integrations/commercial/durosuite/__init__.py +0 -0
- regscale/integrations/commercial/durosuite/api.py +1546 -0
- regscale/integrations/commercial/durosuite/process_devices.py +101 -0
- regscale/integrations/commercial/durosuite/scanner.py +637 -0
- regscale/integrations/commercial/durosuite/variables.py +21 -0
- regscale/integrations/commercial/ecr.py +90 -0
- regscale/integrations/commercial/gcp/__init__.py +237 -0
- regscale/integrations/commercial/gcp/auth.py +96 -0
- regscale/integrations/commercial/gcp/control_tests.py +238 -0
- regscale/integrations/commercial/gcp/variables.py +18 -0
- regscale/integrations/commercial/gitlab.py +332 -0
- regscale/integrations/commercial/grype.py +165 -0
- regscale/integrations/commercial/ibm.py +90 -0
- regscale/integrations/commercial/import_all/__init__.py +0 -0
- regscale/integrations/commercial/import_all/import_all_cmd.py +467 -0
- regscale/integrations/commercial/import_all/scan_file_fingerprints.json +27 -0
- regscale/integrations/commercial/jira.py +1046 -0
- regscale/integrations/commercial/mappings/__init__.py +0 -0
- regscale/integrations/commercial/mappings/csf_controls.json +713 -0
- regscale/integrations/commercial/mappings/nist_800_53_r5_controls.json +1516 -0
- regscale/integrations/commercial/nessus/__init__.py +0 -0
- regscale/integrations/commercial/nessus/nessus_utils.py +429 -0
- regscale/integrations/commercial/nessus/scanner.py +416 -0
- regscale/integrations/commercial/nexpose.py +90 -0
- regscale/integrations/commercial/okta.py +798 -0
- regscale/integrations/commercial/opentext/__init__.py +0 -0
- regscale/integrations/commercial/opentext/click.py +99 -0
- regscale/integrations/commercial/opentext/scanner.py +143 -0
- regscale/integrations/commercial/prisma.py +91 -0
- regscale/integrations/commercial/qualys.py +1462 -0
- regscale/integrations/commercial/salesforce.py +980 -0
- regscale/integrations/commercial/sap/__init__.py +0 -0
- regscale/integrations/commercial/sap/click.py +31 -0
- regscale/integrations/commercial/sap/sysdig/__init__.py +0 -0
- regscale/integrations/commercial/sap/sysdig/click.py +57 -0
- regscale/integrations/commercial/sap/sysdig/sysdig_scanner.py +190 -0
- regscale/integrations/commercial/sap/tenable/__init__.py +0 -0
- regscale/integrations/commercial/sap/tenable/click.py +49 -0
- regscale/integrations/commercial/sap/tenable/scanner.py +196 -0
- regscale/integrations/commercial/servicenow.py +1756 -0
- regscale/integrations/commercial/sicura/__init__.py +0 -0
- regscale/integrations/commercial/sicura/api.py +855 -0
- regscale/integrations/commercial/sicura/commands.py +73 -0
- regscale/integrations/commercial/sicura/scanner.py +481 -0
- regscale/integrations/commercial/sicura/variables.py +16 -0
- regscale/integrations/commercial/snyk.py +90 -0
- regscale/integrations/commercial/sonarcloud.py +260 -0
- regscale/integrations/commercial/sqlserver.py +369 -0
- regscale/integrations/commercial/stig_mapper_integration/__init__.py +0 -0
- regscale/integrations/commercial/stig_mapper_integration/click_commands.py +38 -0
- regscale/integrations/commercial/stig_mapper_integration/mapping_engine.py +353 -0
- regscale/integrations/commercial/stigv2/__init__.py +0 -0
- regscale/integrations/commercial/stigv2/ckl_parser.py +349 -0
- regscale/integrations/commercial/stigv2/click_commands.py +95 -0
- regscale/integrations/commercial/stigv2/stig_integration.py +202 -0
- regscale/integrations/commercial/synqly/__init__.py +0 -0
- regscale/integrations/commercial/synqly/assets.py +46 -0
- regscale/integrations/commercial/synqly/ticketing.py +132 -0
- regscale/integrations/commercial/synqly/vulnerabilities.py +223 -0
- regscale/integrations/commercial/synqly_jira.py +840 -0
- regscale/integrations/commercial/tenablev2/__init__.py +0 -0
- regscale/integrations/commercial/tenablev2/authenticate.py +31 -0
- regscale/integrations/commercial/tenablev2/click.py +1584 -0
- regscale/integrations/commercial/tenablev2/scanner.py +504 -0
- regscale/integrations/commercial/tenablev2/stig_parsers.py +140 -0
- regscale/integrations/commercial/tenablev2/utils.py +78 -0
- regscale/integrations/commercial/tenablev2/variables.py +17 -0
- regscale/integrations/commercial/trivy.py +162 -0
- regscale/integrations/commercial/veracode.py +96 -0
- regscale/integrations/commercial/wizv2/WizDataMixin.py +97 -0
- regscale/integrations/commercial/wizv2/__init__.py +0 -0
- regscale/integrations/commercial/wizv2/click.py +429 -0
- regscale/integrations/commercial/wizv2/constants.py +1001 -0
- regscale/integrations/commercial/wizv2/issue.py +361 -0
- regscale/integrations/commercial/wizv2/models.py +112 -0
- regscale/integrations/commercial/wizv2/parsers.py +339 -0
- regscale/integrations/commercial/wizv2/sbom.py +115 -0
- regscale/integrations/commercial/wizv2/scanner.py +416 -0
- regscale/integrations/commercial/wizv2/utils.py +796 -0
- regscale/integrations/commercial/wizv2/variables.py +39 -0
- regscale/integrations/commercial/wizv2/wiz_auth.py +159 -0
- regscale/integrations/commercial/xray.py +91 -0
- regscale/integrations/integration/__init__.py +2 -0
- regscale/integrations/integration/integration.py +26 -0
- regscale/integrations/integration/inventory.py +17 -0
- regscale/integrations/integration/issue.py +100 -0
- regscale/integrations/integration_override.py +149 -0
- regscale/integrations/public/__init__.py +103 -0
- regscale/integrations/public/cisa.py +641 -0
- regscale/integrations/public/criticality_updater.py +70 -0
- regscale/integrations/public/emass.py +411 -0
- regscale/integrations/public/emass_slcm_import.py +697 -0
- regscale/integrations/public/fedramp/__init__.py +0 -0
- regscale/integrations/public/fedramp/appendix_parser.py +548 -0
- regscale/integrations/public/fedramp/click.py +479 -0
- regscale/integrations/public/fedramp/components.py +714 -0
- regscale/integrations/public/fedramp/docx_parser.py +259 -0
- regscale/integrations/public/fedramp/fedramp_cis_crm.py +1124 -0
- regscale/integrations/public/fedramp/fedramp_common.py +3181 -0
- regscale/integrations/public/fedramp/fedramp_docx.py +388 -0
- regscale/integrations/public/fedramp/fedramp_five.py +2343 -0
- regscale/integrations/public/fedramp/fedramp_traversal.py +138 -0
- regscale/integrations/public/fedramp/import_fedramp_r4_ssp.py +279 -0
- regscale/integrations/public/fedramp/import_workbook.py +495 -0
- regscale/integrations/public/fedramp/inventory_items.py +244 -0
- regscale/integrations/public/fedramp/mappings/__init__.py +0 -0
- regscale/integrations/public/fedramp/mappings/fedramp_r4_parts.json +7388 -0
- regscale/integrations/public/fedramp/mappings/fedramp_r5_params.json +8636 -0
- regscale/integrations/public/fedramp/mappings/fedramp_r5_parts.json +9605 -0
- regscale/integrations/public/fedramp/mappings/system_roles.py +34 -0
- regscale/integrations/public/fedramp/mappings/user.py +175 -0
- regscale/integrations/public/fedramp/mappings/values.py +141 -0
- regscale/integrations/public/fedramp/markdown_parser.py +150 -0
- regscale/integrations/public/fedramp/metadata.py +689 -0
- regscale/integrations/public/fedramp/models/__init__.py +59 -0
- regscale/integrations/public/fedramp/models/leveraged_auth_new.py +168 -0
- regscale/integrations/public/fedramp/models/poam_importer.py +522 -0
- regscale/integrations/public/fedramp/parts_mapper.py +107 -0
- regscale/integrations/public/fedramp/poam/__init__.py +0 -0
- regscale/integrations/public/fedramp/poam/scanner.py +851 -0
- regscale/integrations/public/fedramp/properties.py +201 -0
- regscale/integrations/public/fedramp/reporting.py +84 -0
- regscale/integrations/public/fedramp/resources.py +496 -0
- regscale/integrations/public/fedramp/rosetta.py +110 -0
- regscale/integrations/public/fedramp/ssp_logger.py +87 -0
- regscale/integrations/public/fedramp/system_characteristics.py +922 -0
- regscale/integrations/public/fedramp/system_control_implementations.py +582 -0
- regscale/integrations/public/fedramp/system_implementation.py +190 -0
- regscale/integrations/public/fedramp/xml_utils.py +87 -0
- regscale/integrations/public/nist_catalog.py +275 -0
- regscale/integrations/public/oscal.py +1946 -0
- regscale/integrations/public/otx.py +169 -0
- regscale/integrations/scanner_integration.py +2692 -0
- regscale/integrations/variables.py +25 -0
- regscale/models/__init__.py +7 -0
- regscale/models/app_models/__init__.py +5 -0
- regscale/models/app_models/catalog_compare.py +213 -0
- regscale/models/app_models/click.py +252 -0
- regscale/models/app_models/datetime_encoder.py +21 -0
- regscale/models/app_models/import_validater.py +321 -0
- regscale/models/app_models/mapping.py +260 -0
- regscale/models/app_models/pipeline.py +37 -0
- regscale/models/click_models.py +413 -0
- regscale/models/config.py +154 -0
- regscale/models/email_style.css +67 -0
- regscale/models/hierarchy.py +8 -0
- regscale/models/inspect_models.py +79 -0
- regscale/models/integration_models/__init__.py +0 -0
- regscale/models/integration_models/amazon_models/__init__.py +0 -0
- regscale/models/integration_models/amazon_models/inspector.py +262 -0
- regscale/models/integration_models/amazon_models/inspector_scan.py +206 -0
- regscale/models/integration_models/aqua.py +247 -0
- regscale/models/integration_models/azure_alerts.py +255 -0
- regscale/models/integration_models/base64.py +23 -0
- regscale/models/integration_models/burp.py +433 -0
- regscale/models/integration_models/burp_models.py +128 -0
- regscale/models/integration_models/cisa_kev_data.json +19333 -0
- regscale/models/integration_models/defender_data.py +93 -0
- regscale/models/integration_models/defenderimport.py +143 -0
- regscale/models/integration_models/drf.py +443 -0
- regscale/models/integration_models/ecr_models/__init__.py +0 -0
- regscale/models/integration_models/ecr_models/data.py +69 -0
- regscale/models/integration_models/ecr_models/ecr.py +239 -0
- regscale/models/integration_models/flat_file_importer.py +1079 -0
- regscale/models/integration_models/grype_import.py +247 -0
- regscale/models/integration_models/ibm.py +126 -0
- regscale/models/integration_models/implementation_results.py +85 -0
- regscale/models/integration_models/nexpose.py +140 -0
- regscale/models/integration_models/prisma.py +202 -0
- regscale/models/integration_models/qualys.py +720 -0
- regscale/models/integration_models/qualys_scanner.py +160 -0
- regscale/models/integration_models/sbom/__init__.py +0 -0
- regscale/models/integration_models/sbom/cyclone_dx.py +139 -0
- regscale/models/integration_models/send_reminders.py +620 -0
- regscale/models/integration_models/snyk.py +155 -0
- regscale/models/integration_models/synqly_models/__init__.py +0 -0
- regscale/models/integration_models/synqly_models/capabilities.json +1 -0
- regscale/models/integration_models/synqly_models/connector_types.py +22 -0
- regscale/models/integration_models/synqly_models/connectors/__init__.py +7 -0
- regscale/models/integration_models/synqly_models/connectors/assets.py +97 -0
- regscale/models/integration_models/synqly_models/connectors/ticketing.py +583 -0
- regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py +169 -0
- regscale/models/integration_models/synqly_models/ocsf_mapper.py +331 -0
- regscale/models/integration_models/synqly_models/param.py +72 -0
- regscale/models/integration_models/synqly_models/synqly_model.py +733 -0
- regscale/models/integration_models/synqly_models/tenants.py +39 -0
- regscale/models/integration_models/tenable_models/__init__.py +0 -0
- regscale/models/integration_models/tenable_models/integration.py +187 -0
- regscale/models/integration_models/tenable_models/models.py +513 -0
- regscale/models/integration_models/trivy_import.py +231 -0
- regscale/models/integration_models/veracode.py +217 -0
- regscale/models/integration_models/xray.py +135 -0
- regscale/models/locking.py +100 -0
- regscale/models/platform.py +110 -0
- regscale/models/regscale_models/__init__.py +67 -0
- regscale/models/regscale_models/assessment.py +570 -0
- regscale/models/regscale_models/assessment_plan.py +52 -0
- regscale/models/regscale_models/asset.py +567 -0
- regscale/models/regscale_models/asset_mapping.py +190 -0
- regscale/models/regscale_models/case.py +42 -0
- regscale/models/regscale_models/catalog.py +261 -0
- regscale/models/regscale_models/cci.py +46 -0
- regscale/models/regscale_models/change.py +167 -0
- regscale/models/regscale_models/checklist.py +372 -0
- regscale/models/regscale_models/comment.py +49 -0
- regscale/models/regscale_models/compliance_settings.py +112 -0
- regscale/models/regscale_models/component.py +412 -0
- regscale/models/regscale_models/component_mapping.py +65 -0
- regscale/models/regscale_models/control.py +38 -0
- regscale/models/regscale_models/control_implementation.py +1128 -0
- regscale/models/regscale_models/control_objective.py +261 -0
- regscale/models/regscale_models/control_parameter.py +100 -0
- regscale/models/regscale_models/control_test.py +34 -0
- regscale/models/regscale_models/control_test_plan.py +75 -0
- regscale/models/regscale_models/control_test_result.py +52 -0
- regscale/models/regscale_models/custom_field.py +245 -0
- regscale/models/regscale_models/data.py +109 -0
- regscale/models/regscale_models/data_center.py +40 -0
- regscale/models/regscale_models/deviation.py +203 -0
- regscale/models/regscale_models/email.py +97 -0
- regscale/models/regscale_models/evidence.py +47 -0
- regscale/models/regscale_models/evidence_mapping.py +40 -0
- regscale/models/regscale_models/facility.py +59 -0
- regscale/models/regscale_models/file.py +382 -0
- regscale/models/regscale_models/filetag.py +37 -0
- regscale/models/regscale_models/form_field_value.py +94 -0
- regscale/models/regscale_models/group.py +169 -0
- regscale/models/regscale_models/implementation_objective.py +335 -0
- regscale/models/regscale_models/implementation_option.py +275 -0
- regscale/models/regscale_models/implementation_role.py +33 -0
- regscale/models/regscale_models/incident.py +177 -0
- regscale/models/regscale_models/interconnection.py +43 -0
- regscale/models/regscale_models/issue.py +1176 -0
- regscale/models/regscale_models/leveraged_authorization.py +125 -0
- regscale/models/regscale_models/line_of_inquiry.py +52 -0
- regscale/models/regscale_models/link.py +205 -0
- regscale/models/regscale_models/meta_data.py +64 -0
- regscale/models/regscale_models/mixins/__init__.py +0 -0
- regscale/models/regscale_models/mixins/parent_cache.py +124 -0
- regscale/models/regscale_models/module.py +224 -0
- regscale/models/regscale_models/modules.py +191 -0
- regscale/models/regscale_models/objective.py +14 -0
- regscale/models/regscale_models/parameter.py +87 -0
- regscale/models/regscale_models/ports_protocol.py +81 -0
- regscale/models/regscale_models/privacy.py +89 -0
- regscale/models/regscale_models/profile.py +50 -0
- regscale/models/regscale_models/profile_link.py +68 -0
- regscale/models/regscale_models/profile_mapping.py +124 -0
- regscale/models/regscale_models/project.py +63 -0
- regscale/models/regscale_models/property.py +278 -0
- regscale/models/regscale_models/question.py +85 -0
- regscale/models/regscale_models/questionnaire.py +87 -0
- regscale/models/regscale_models/questionnaire_instance.py +177 -0
- regscale/models/regscale_models/rbac.py +132 -0
- regscale/models/regscale_models/reference.py +86 -0
- regscale/models/regscale_models/regscale_model.py +1643 -0
- regscale/models/regscale_models/requirement.py +29 -0
- regscale/models/regscale_models/risk.py +274 -0
- regscale/models/regscale_models/sbom.py +54 -0
- regscale/models/regscale_models/scan_history.py +436 -0
- regscale/models/regscale_models/search.py +53 -0
- regscale/models/regscale_models/security_control.py +132 -0
- regscale/models/regscale_models/security_plan.py +204 -0
- regscale/models/regscale_models/software_inventory.py +159 -0
- regscale/models/regscale_models/stake_holder.py +64 -0
- regscale/models/regscale_models/stig.py +647 -0
- regscale/models/regscale_models/supply_chain.py +152 -0
- regscale/models/regscale_models/system_role.py +188 -0
- regscale/models/regscale_models/system_role_external_assignment.py +40 -0
- regscale/models/regscale_models/tag.py +37 -0
- regscale/models/regscale_models/tag_mapping.py +19 -0
- regscale/models/regscale_models/task.py +133 -0
- regscale/models/regscale_models/threat.py +196 -0
- regscale/models/regscale_models/user.py +175 -0
- regscale/models/regscale_models/user_group.py +55 -0
- regscale/models/regscale_models/vulnerability.py +242 -0
- regscale/models/regscale_models/vulnerability_mapping.py +162 -0
- regscale/models/regscale_models/workflow.py +55 -0
- regscale/models/regscale_models/workflow_action.py +34 -0
- regscale/models/regscale_models/workflow_instance.py +269 -0
- regscale/models/regscale_models/workflow_instance_step.py +114 -0
- regscale/models/regscale_models/workflow_template.py +58 -0
- regscale/models/regscale_models/workflow_template_step.py +45 -0
- regscale/regscale.py +815 -0
- regscale/utils/__init__.py +7 -0
- regscale/utils/b64conversion.py +14 -0
- regscale/utils/click_utils.py +118 -0
- regscale/utils/decorators.py +48 -0
- regscale/utils/dict_utils.py +59 -0
- regscale/utils/files.py +79 -0
- regscale/utils/fxns.py +30 -0
- regscale/utils/graphql_client.py +113 -0
- regscale/utils/lists.py +16 -0
- regscale/utils/numbers.py +12 -0
- regscale/utils/shell.py +148 -0
- regscale/utils/string.py +121 -0
- regscale/utils/synqly_utils.py +165 -0
- regscale/utils/threading/__init__.py +8 -0
- regscale/utils/threading/threadhandler.py +131 -0
- regscale/utils/threading/threadsafe_counter.py +47 -0
- regscale/utils/threading/threadsafe_dict.py +242 -0
- regscale/utils/threading/threadsafe_list.py +83 -0
- regscale/utils/version.py +104 -0
- regscale/validation/__init__.py +0 -0
- regscale/validation/address.py +37 -0
- regscale/validation/record.py +48 -0
- regscale/visualization/__init__.py +5 -0
- regscale/visualization/click.py +34 -0
- regscale_cli-6.16.0.0.dist-info/LICENSE +21 -0
- regscale_cli-6.16.0.0.dist-info/METADATA +659 -0
- regscale_cli-6.16.0.0.dist-info/RECORD +481 -0
- regscale_cli-6.16.0.0.dist-info/WHEEL +5 -0
- regscale_cli-6.16.0.0.dist-info/entry_points.txt +6 -0
- regscale_cli-6.16.0.0.dist-info/top_level.txt +2 -0
- tests/fixtures/__init__.py +2 -0
- tests/fixtures/api.py +87 -0
- tests/fixtures/models.py +91 -0
- tests/fixtures/test_fixture.py +144 -0
- tests/mocks/__init__.py +0 -0
- tests/mocks/objects.py +3 -0
- tests/mocks/response.py +32 -0
- tests/mocks/xml.py +13 -0
- tests/regscale/__init__.py +0 -0
- tests/regscale/core/__init__.py +0 -0
- tests/regscale/core/test_api.py +232 -0
- tests/regscale/core/test_app.py +406 -0
- tests/regscale/core/test_login.py +37 -0
- tests/regscale/core/test_logz.py +66 -0
- tests/regscale/core/test_sbom_generator.py +87 -0
- tests/regscale/core/test_validation_utils.py +163 -0
- tests/regscale/core/test_version.py +78 -0
- tests/regscale/models/__init__.py +0 -0
- tests/regscale/models/test_asset.py +71 -0
- tests/regscale/models/test_config.py +26 -0
- tests/regscale/models/test_control_implementation.py +27 -0
- tests/regscale/models/test_import.py +97 -0
- tests/regscale/models/test_issue.py +36 -0
- tests/regscale/models/test_mapping.py +52 -0
- tests/regscale/models/test_platform.py +31 -0
- tests/regscale/models/test_regscale_model.py +346 -0
- tests/regscale/models/test_report.py +32 -0
- tests/regscale/models/test_tenable_integrations.py +118 -0
- tests/regscale/models/test_user_model.py +121 -0
- tests/regscale/test_about.py +19 -0
- tests/regscale/test_authorization.py +65 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<svg width="427" height="60" viewBox="0 0 427 60" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M42.655 5.35419C40.9585 3.6522 38.9418 2.30284 36.7214 1.38391C34.5009 0.464981 32.1205 -0.00534522 29.7173 4.58254e-05H4.22118C3.10124 0.00125658 2.02759 0.447005 1.23609 1.23936C0.444595 2.03171 -6.54462e-07 3.10585 0 4.2258V17.1178C0 18.2373 0.444715 19.311 1.23634 20.1026C2.02797 20.8942 3.10166 21.339 4.22118 21.339C5.34071 21.339 6.4144 20.8942 7.20603 20.1026C7.99765 19.311 8.44237 18.2373 8.44237 17.1178V8.43786H29.7173C31.0121 8.43443 32.2947 8.68739 33.4913 9.18215C34.6878 9.67691 35.7745 10.4037 36.6887 11.3205C37.1364 11.7773 44.793 7.48763 42.655 5.35419Z" fill="url(#paint0_linear_1733_1356)"/>
|
|
3
|
+
<path d="M41.3986 54.6151C40.7921 54.6167 40.1924 54.4874 39.6405 54.2359C39.0885 53.9843 38.5974 53.6166 38.2008 53.1577L27.7894 41.1383C27.061 40.2932 26.6968 39.1941 26.7764 38.0812C26.856 36.9683 27.373 35.9322 28.2143 35.1994C29.0605 34.4727 30.1597 34.11 31.2722 34.1905C32.3847 34.2709 33.4203 34.7879 34.1532 35.6289L44.5645 47.6483C45.2912 48.4945 45.6539 49.5937 45.5735 50.7062C45.4931 51.8187 44.976 52.8543 44.1351 53.5872C43.3753 54.2462 42.4044 54.6109 41.3986 54.6151V54.6151Z" fill="url(#paint1_linear_1733_1356)"/>
|
|
4
|
+
<path d="M30.9819 42.5955C29.966 42.5975 28.9838 42.2306 28.218 41.563C27.3746 40.8315 26.856 39.7951 26.7764 38.6815C26.6967 37.5679 27.0624 36.4682 27.7931 35.6241L37.172 24.7742C38.7983 22.8833 39.6514 20.4485 39.5607 17.9561C39.4701 15.4637 38.4425 13.0972 36.6832 11.3294C36.2911 10.9374 35.98 10.472 35.7677 9.95976C35.5555 9.44751 35.4463 8.89847 35.4463 8.34399C35.4463 7.78951 35.5555 7.24046 35.7677 6.72821C35.98 6.21596 36.2911 5.75054 36.6832 5.35854C37.0752 4.96639 37.5407 4.6553 38.0529 4.44306C38.5652 4.23082 39.1142 4.12158 39.6687 4.12158C40.2232 4.12158 40.7722 4.23082 41.2845 4.44306C41.7967 4.6553 42.2621 4.96639 42.6541 5.35854C45.9192 8.63727 47.827 13.0272 47.9964 17.6513C48.1658 22.2754 46.5843 26.7931 43.5678 30.3019L34.1843 41.1382C33.7872 41.5976 33.2953 41.9657 32.7425 42.2172C32.1898 42.4687 31.5892 42.5978 30.9819 42.5955V42.5955Z" fill="url(#paint2_linear_1733_1356)"/>
|
|
5
|
+
<path d="M4.22118 21.3389C3.10166 21.3389 2.02797 20.8942 1.23634 20.1026C0.444715 19.311 0 18.2373 0 17.1178V4.22576C-6.54462e-07 3.10581 0.444596 2.03166 1.23609 1.23931C2.02759 0.446959 3.10124 0.00121076 4.22118 0C5.34113 0.00121076 6.41481 0.446959 7.20631 1.23931C7.9978 2.03166 8.44237 3.10581 8.44237 4.22576V17.1178C8.44237 18.2373 7.99765 19.311 7.20603 20.1026C6.4144 20.8942 5.34071 21.3389 4.22118 21.3389Z" fill="url(#paint3_linear_1733_1356)"/>
|
|
6
|
+
<path d="M8.44237 39.0686L27.9722 16.5236C28.7051 15.6827 29.7407 15.1657 30.8532 15.0852C31.9657 15.0048 33.0649 15.3675 33.9111 16.0942C34.7514 16.8277 35.2675 17.8636 35.3471 18.9761C35.4267 20.0886 35.0633 21.1875 34.336 22.0331L7.38251 53.1392C6.59674 54.1032 8.44237 39.0686 8.44237 39.0686Z" fill="url(#paint4_linear_1733_1356)"/>
|
|
7
|
+
<path d="M4.22118 54.6151C3.10166 54.6151 2.02797 54.1704 1.23634 53.3788C0.444715 52.5871 0 51.5135 0 50.3939V31.0102C0 29.8907 0.444715 28.817 1.23634 28.0254C2.02797 27.2338 3.10166 26.7891 4.22118 26.7891C5.34071 26.7891 6.4144 27.2338 7.20603 28.0254C7.99765 28.817 8.44237 29.8907 8.44237 31.0102V50.4031C8.43995 51.521 7.99416 52.5923 7.20279 53.382C6.41143 54.1716 5.33913 54.6151 4.22118 54.6151Z" fill="url(#paint5_linear_1733_1356)"/>
|
|
8
|
+
<path d="M88.8219 30.549C95.2542 27.31 98.7947 23.0523 98.7947 17.7347C98.7947 10.2014 93.7283 6.08984 85.1854 6.08984H64.8516V48.4342H72.1199V12.3348H84.6829C88.2417 12.3348 91.2751 15.0073 91.2751 18.7306C91.2751 23.4132 87.0265 26.5745 80.4434 27.4973C80.2222 27.5289 80.0121 27.6141 79.8314 27.7455C79.6506 27.8768 79.5047 28.0504 79.4064 28.2511C79.3064 28.4524 79.2574 28.6751 79.2638 28.8998C79.2702 29.1245 79.3317 29.3441 79.443 29.5394L90.1284 48.521H99.1647L88.429 30.7591L88.8219 30.549Z" fill="#2C3044"/>
|
|
9
|
+
<path d="M117.263 17.5928C107.747 17.5928 102.922 22.6728 102.922 32.6684C102.922 37.9358 104.316 41.9331 107.066 44.5463C109.816 47.1594 114.037 48.4933 119.597 48.4933C122.851 48.5399 126.102 48.2614 129.3 47.6619V45.3C129.302 44.9162 129.221 44.5366 129.064 44.1866C128.906 43.8367 128.675 43.5247 128.387 43.2717C128.096 43.0231 127.756 42.8382 127.389 42.7288C127.023 42.6195 126.637 42.5881 126.258 42.6367C124.249 42.8791 122.228 43.0012 120.205 43.0021C113.466 43.0021 110.049 40.6083 110.049 35.8846V35.478H130.945C131.09 34.3096 131.164 33.1333 131.164 31.9558C131.155 22.417 126.482 17.5928 117.263 17.5928ZM124.243 30.7086H110.008L110.044 30.2518C110.419 25.4687 112.849 23.0474 117.263 23.0474C121.895 23.0474 124.243 25.4001 124.243 30.0416V30.7086Z" fill="#2C3044"/>
|
|
10
|
+
<path d="M164.513 46.5015V18.5795C160.267 17.9832 155.987 17.6536 151.699 17.5928C146.395 17.5928 142.379 18.8719 139.753 21.4028C137.126 23.9337 135.801 27.7985 135.801 32.8695C135.801 42.8468 140.369 47.9086 149.397 47.9086C151.95 47.926 154.481 47.4224 156.834 46.4284L157.391 46.1863V46.803C157.391 51.8876 154.381 54.4642 148.437 54.4642C146.166 54.4743 143.898 54.277 141.662 53.8749C141.274 53.8018 140.875 53.8159 140.494 53.9163C140.112 54.0166 139.757 54.2007 139.456 54.4551C139.153 54.7103 138.91 55.0286 138.744 55.3877C138.577 55.7467 138.491 56.1379 138.492 56.5337V58.5986C141.695 59.5738 145.03 60.0453 148.378 59.9965C159.082 59.9965 164.513 55.4556 164.513 46.5015ZM157.167 40.3982C155.046 41.4848 152.698 42.0576 150.315 42.0702C145.344 42.0702 142.823 38.9545 142.823 32.8101C142.823 26.4646 145.724 23.2439 151.448 23.2439C153.878 23.2439 155.788 23.4997 157.122 23.9977L157.382 24.0936V40.284L157.167 40.3982Z" fill="#2C3044"/>
|
|
11
|
+
<path d="M199.16 45.6473C202.029 43.5093 203.51 40.2064 203.564 35.8253C203.615 32.102 202.331 28.9727 199.85 26.8347C197.475 24.7698 194.122 23.6368 190.156 23.5957C184.994 23.5272 181.732 22.682 180.179 21.0557C179.785 20.6407 179.482 20.148 179.289 19.6091C179.096 19.0703 179.018 18.4971 179.06 17.9263C179.215 13.1113 182.047 11.4529 189.466 11.4529C192.596 11.4529 194.976 12.1565 197.584 12.9788C197.964 13.0978 198.375 13.07 198.735 12.9008C199.096 12.7316 199.379 12.4334 199.53 12.0651L200.901 8.69364C197.274 6.9058 193.303 5.92692 189.261 5.82469C183.185 5.74246 178.854 6.70182 176.012 8.75303C173.171 10.8042 171.814 13.961 171.759 18.4517C171.704 22.449 173.975 27.3235 180.489 28.991C184.679 30.0646 189.841 30.0371 190.06 30.0326C192.111 30.06 193.674 30.6173 194.697 31.6818C195.72 32.7462 196.127 34.0893 196.104 35.8755C196.072 38.2648 195.245 39.9871 193.569 41.0926C191.892 42.1982 189.494 42.7053 186.113 42.6596C183.047 42.6683 180.009 42.0803 177.168 40.9282C176.532 40.6638 175.82 40.6487 175.173 40.8857C174.526 41.1227 173.993 41.5946 173.678 42.2073L172.015 45.4052C175.816 47.5341 180.782 48.7401 186.035 48.8086C191.842 48.8726 196.255 47.8082 199.16 45.6473Z" fill="#2C3044"/>
|
|
12
|
+
<path d="M232.216 18.4244C229.695 17.8729 227.121 17.5972 224.541 17.6021C219.091 17.6021 214.947 18.8493 212.252 21.3116C209.557 23.774 208.2 27.5155 208.2 32.4585C208.2 37.8081 209.57 41.8648 212.266 44.519C214.961 47.1733 219.118 48.521 224.541 48.521C227.122 48.5266 229.695 48.2494 232.216 47.6941V45.4099C232.216 45.0244 232.134 44.6433 231.977 44.2914C231.819 43.9395 231.589 43.6248 231.302 43.3678C231.011 43.1114 230.668 42.9197 230.297 42.8055C229.926 42.6913 229.535 42.6572 229.15 42.7054C227.821 42.8819 226.481 42.9719 225.139 42.9749C218.625 42.9749 215.317 39.4299 215.317 32.4448C215.317 26.2546 218.625 23.1207 225.139 23.1207C226.481 23.1245 227.82 23.213 229.15 23.3857C229.535 23.4372 229.927 23.4051 230.298 23.2916C230.669 23.1781 231.012 22.9858 231.302 22.7278C231.589 22.4709 231.819 22.1561 231.977 21.8043C232.134 21.4524 232.216 21.0713 232.216 20.6858V18.4244Z" fill="#2C3044"/>
|
|
13
|
+
<path d="M247.256 48.5119C250.407 48.525 253.483 47.5575 256.059 45.7435L256.681 45.314V46.2277C256.681 46.8335 256.921 47.4145 257.35 47.8429C257.778 48.2713 258.359 48.5119 258.965 48.5119H263.309V27.6435C263.309 20.9737 258.741 17.5931 249.718 17.5931C246.011 17.5589 242.313 17.9591 238.699 18.7854V20.9783C238.698 21.3726 238.783 21.7626 238.948 22.1208C239.113 22.479 239.354 22.7969 239.654 23.0523C239.955 23.3076 240.308 23.4933 240.689 23.5959C241.069 23.6986 241.468 23.7158 241.856 23.6462C244.456 23.2368 247.087 23.0625 249.718 23.1254C254.013 23.1254 256.192 24.6969 256.192 27.7943V30.6724L255.712 30.581C253.628 30.185 251.511 29.9846 249.389 29.9825C240.609 29.9825 236.141 33.0297 236.141 39.0371C236.146 45.4146 239.782 48.5119 247.256 48.5119ZM249.38 34.6103C251.555 34.5992 253.725 34.8042 255.858 35.2225L256.183 35.2864V40.9056L256.014 41.0289C253.837 42.6781 251.183 43.5744 248.453 43.5826C245.059 43.5826 243.268 41.9791 243.268 38.9457C243.268 36.0676 245.324 34.6103 249.38 34.6103V34.6103Z" fill="#2C3044"/>
|
|
14
|
+
<path d="M278.086 6.10376H270.969V48.5075H278.086V6.10376Z" fill="#2C3044"/>
|
|
15
|
+
<path d="M298.602 17.5928C289.086 17.5928 284.262 22.6728 284.262 32.6684C284.262 37.9404 285.632 41.9331 288.401 44.5463C291.169 47.1594 295.372 48.4933 300.932 48.4933C304.186 48.5399 307.437 48.2614 310.635 47.6619V45.2818C310.637 44.9001 310.556 44.5225 310.398 44.1749C310.24 43.8273 310.01 43.5177 309.722 43.2671C309.435 43.0206 309.1 42.837 308.738 42.7284C308.376 42.6198 307.995 42.5885 307.62 42.6367C305.604 42.8789 303.575 43.0009 301.544 43.0021C294.81 43.0021 291.393 40.6083 291.393 35.8846V35.478H312.284C312.43 34.3096 312.503 33.1333 312.504 31.9558C312.49 22.417 307.817 17.5928 298.602 17.5928ZM305.583 30.7086H291.348L291.38 30.2518C291.759 25.4687 294.184 23.0474 298.602 23.0474C303.234 23.0474 305.583 25.4001 305.583 30.0416V30.7086Z" fill="#2C3044"/>
|
|
16
|
+
<path d="M338 28V33H323V28H338Z" fill="#2C3044"/>
|
|
17
|
+
<path d="M381.053 49.7773C377.319 51.1901 373.081 51.8965 368.338 51.8965C352.798 51.8965 345.027 44.3786 345.027 29.3428C345.027 15.1143 352.798 8 368.338 8C373.081 8 377.319 8.70638 381.053 10.1191V17.3848C377.319 15.7702 373.283 14.9629 368.943 14.9629C358.549 14.9629 353.353 19.7562 353.353 29.3428C353.353 39.7367 358.549 44.9336 368.943 44.9336C373.283 44.9336 377.319 44.1263 381.053 42.5117V49.7773Z" fill="#2C3044"/>
|
|
18
|
+
<path d="M395.094 8.30273V44.6309H412.289V51.5938H387.071V8.30273H395.094Z" fill="#2C3044"/>
|
|
19
|
+
<path d="M426.36 8.30273V51.5938H418.338V8.30273H426.36Z" fill="#2C3044"/>
|
|
20
|
+
<defs>
|
|
21
|
+
<linearGradient id="paint0_linear_1733_1356" x1="0" y1="10.6718" x2="43.8108" y2="10.6718" gradientUnits="userSpaceOnUse">
|
|
22
|
+
<stop stop-color="#2AA4CA"/>
|
|
23
|
+
<stop offset="1" stop-color="#1AA5B0"/>
|
|
24
|
+
</linearGradient>
|
|
25
|
+
<linearGradient id="paint1_linear_1733_1356" x1="26.7615" y1="44.3819" x2="45.6198" y2="44.3819" gradientUnits="userSpaceOnUse">
|
|
26
|
+
<stop stop-color="#2D318D"/>
|
|
27
|
+
<stop offset="1" stop-color="#1A70AD"/>
|
|
28
|
+
</linearGradient>
|
|
29
|
+
<linearGradient id="paint2_linear_1733_1356" x1="37.3822" y1="42.5955" x2="37.3822" y2="4.12052" gradientUnits="userSpaceOnUse">
|
|
30
|
+
<stop stop-color="#1A70AD"/>
|
|
31
|
+
<stop offset="0.64" stop-color="#2AA4CA"/>
|
|
32
|
+
<stop offset="1" stop-color="#17A7C8"/>
|
|
33
|
+
</linearGradient>
|
|
34
|
+
<linearGradient id="paint3_linear_1733_1356" x1="4.22118" y1="21.3389" x2="4.22118" y2="0" gradientUnits="userSpaceOnUse">
|
|
35
|
+
<stop stop-color="#20A495"/>
|
|
36
|
+
<stop offset="1" stop-color="#1AA8C6"/>
|
|
37
|
+
</linearGradient>
|
|
38
|
+
<linearGradient id="paint4_linear_1733_1356" x1="21.2932" y1="53.2032" x2="21.2932" y2="15.0663" gradientUnits="userSpaceOnUse">
|
|
39
|
+
<stop stop-color="#9E0E5D"/>
|
|
40
|
+
<stop offset="0.5" stop-color="#EF5A23"/>
|
|
41
|
+
<stop offset="1" stop-color="#F3931F"/>
|
|
42
|
+
</linearGradient>
|
|
43
|
+
<linearGradient id="paint5_linear_1733_1356" x1="4.22118" y1="54.6151" x2="4.22118" y2="26.7891" gradientUnits="userSpaceOnUse">
|
|
44
|
+
<stop stop-color="#F3931F"/>
|
|
45
|
+
<stop offset="0.5" stop-color="#F8B03B"/>
|
|
46
|
+
<stop offset="1" stop-color="#F9CA2D"/>
|
|
47
|
+
</linearGradient>
|
|
48
|
+
</defs>
|
|
49
|
+
</svg>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<svg width="103" height="20" viewBox="0 0 103 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M13.9774 2.09804C13.4236 1.54253 12.7652 1.10214 12.0403 0.80225C11.3154 0.502359 10.5384 0.348901 9.75387 0.350724H1.43338C1.06767 0.350897 0.716995 0.49628 0.458459 0.754908C0.199922 1.01354 0.0546875 1.36424 0.0546875 1.72991L0.0546875 5.9373C0.0546875 6.30265 0.199839 6.65303 0.458211 6.91137C0.716583 7.16971 1.06701 7.31485 1.4324 7.31485C1.7978 7.31485 2.14823 7.16971 2.4066 6.91137C2.66497 6.65303 2.81012 6.30265 2.81012 5.9373V3.10452H9.75517C10.1777 3.10343 10.5962 3.18598 10.9867 3.3474C11.3772 3.50883 11.7318 3.74595 12.0301 4.04508C12.1764 4.19455 14.6753 2.79448 13.9774 2.09804Z" fill="url(#paint0_linear_128_1384)"/>
|
|
3
|
+
<path d="M13.5674 18.1751C13.3693 18.1758 13.1734 18.1337 12.9931 18.0515C12.8128 17.9694 12.6524 17.8493 12.5229 17.6993L9.12514 13.7765C8.88715 13.5008 8.76809 13.142 8.79403 12.7787C8.81996 12.4153 8.98878 12.0771 9.26354 11.8379C9.53978 11.6007 9.89865 11.4823 10.2619 11.5086C10.6251 11.5349 10.9631 11.7037 11.2023 11.9783L14.6001 15.9011C14.8375 16.1772 14.956 16.5361 14.9298 16.8993C14.9035 17.2625 14.7345 17.6006 14.4598 17.8396C14.2119 18.0548 13.895 18.1738 13.5667 18.1751H13.5674Z" fill="url(#paint1_linear_128_1384)"/>
|
|
4
|
+
<path d="M10.1664 14.2527C9.90259 14.253 9.64426 14.1776 9.42221 14.0352C9.20015 13.8928 9.02375 13.6895 8.91406 13.4497C8.80436 13.2098 8.766 12.9434 8.80355 12.6824C8.8411 12.4213 8.95298 12.1765 9.12583 11.9773L12.1874 8.43633C12.7182 7.81928 12.9967 7.02473 12.9671 6.21137C12.9376 5.39801 12.6023 4.62573 12.0281 4.04879C11.8351 3.85625 11.7035 3.61074 11.6501 3.34336C11.5967 3.07598 11.6238 2.79877 11.7281 2.54684C11.8325 2.29492 12.0092 2.07962 12.236 1.92823C12.4628 1.77683 12.7294 1.69615 13.0021 1.69641C13.1831 1.69641 13.3624 1.73209 13.5296 1.80142C13.6969 1.87075 13.8488 1.97236 13.9767 2.10044C15.0423 3.17044 15.665 4.60302 15.7203 6.11201C15.7756 7.62101 15.2595 9.09532 14.2751 10.2404L11.2122 13.7768C11.0825 13.9268 10.922 14.0469 10.7416 14.129C10.5612 14.2111 10.3652 14.2533 10.167 14.2527H10.1664Z" fill="url(#paint2_linear_128_1384)"/>
|
|
5
|
+
<path d="M1.43208 7.31516C1.25109 7.31516 1.07187 7.27949 0.904672 7.2102C0.737474 7.1409 0.585574 7.03934 0.457654 6.91132C0.329735 6.78329 0.228304 6.63131 0.159161 6.46407C0.0900172 6.29683 0.0545166 6.1176 0.0546881 5.93663V1.72989C0.0546878 1.36445 0.199743 1.01394 0.457997 0.755353C0.716252 0.496762 1.06659 0.351227 1.43208 0.350708C1.79768 0.351054 2.14819 0.496513 2.40658 0.755123C2.66498 1.01373 2.81012 1.36433 2.81012 1.72989V5.93728C2.81012 6.11814 2.77449 6.29723 2.70527 6.46432C2.63605 6.63141 2.5346 6.78324 2.40669 6.91112C2.27879 7.03901 2.12695 7.14046 1.95984 7.20967C1.79272 7.27888 1.61361 7.3145 1.43273 7.3145L1.43208 7.31516Z" fill="url(#paint3_linear_128_1384)"/>
|
|
6
|
+
<path d="M2.81013 13.1013L9.18464 5.7439C9.42383 5.46936 9.7619 5.30052 10.1251 5.27423C10.4883 5.24794 10.8472 5.36633 11.1234 5.60357C11.3977 5.84301 11.5662 6.18118 11.5921 6.54434C11.6181 6.90749 11.4993 7.26616 11.2618 7.54213L2.4635 17.6938C2.20695 18.0084 2.80948 13.1013 2.80948 13.1013H2.81013Z" fill="url(#paint4_linear_128_1384)"/>
|
|
7
|
+
<path d="M1.43208 18.1744C1.25114 18.1744 1.07198 18.1388 0.904823 18.0695C0.737667 18.0003 0.585796 17.8988 0.457885 17.7708C0.329974 17.6429 0.22853 17.491 0.159348 17.3238C0.0901659 17.1566 0.0546019 16.9775 0.0546877 16.7965V10.4704C0.0546877 10.1051 0.19984 9.75471 0.458211 9.49637C0.716583 9.23803 1.06701 9.0929 1.4324 9.0929C1.7978 9.0929 2.14822 9.23803 2.4066 9.49637C2.66497 9.75471 2.81012 10.1051 2.81012 10.4704V16.7992C2.8096 17.1641 2.66426 17.5139 2.406 17.7717C2.14775 18.0296 1.7977 18.1744 1.43273 18.1744H1.43208Z" fill="url(#paint5_linear_128_1384)"/>
|
|
8
|
+
<path d="M29.0452 10.3209C31.1453 9.2642 32.3007 7.87457 32.3007 6.13901C32.3007 3.68089 30.6472 2.33891 27.8591 2.33891H21.2222V16.1582H23.5944V4.37668H27.6946C28.8566 4.37668 29.8469 5.24936 29.8469 6.46406C29.8469 7.99271 28.4597 9.024 26.3113 9.32555C26.2021 9.34079 26.1023 9.39588 26.0312 9.48022C25.9601 9.56456 25.9227 9.6722 25.9262 9.78245C25.9283 9.85584 25.9485 9.92756 25.9849 9.99132L29.4721 16.1869H32.4215L28.9179 10.3901L29.0459 10.3209H29.0452ZM38.3286 6.09266C35.2226 6.09266 33.6481 7.75055 33.6481 11.0128C33.6481 12.7321 34.1031 14.0368 35.0006 14.8899C35.8982 15.7424 37.2756 16.1777 39.0904 16.1777C40.1526 16.1929 41.2136 16.1019 42.2577 15.9062V15.1354C42.2583 15.0101 42.2319 14.8862 42.1805 14.772C42.129 14.6578 42.0536 14.556 41.9594 14.4735C41.8645 14.3923 41.7537 14.3319 41.6341 14.2962C41.5145 14.2604 41.3887 14.2501 41.2648 14.2659C40.6091 14.3452 39.9493 14.3851 39.2888 14.3854C37.0889 14.3854 35.974 13.6041 35.974 12.0624V11.9299H42.7943C42.842 11.5487 42.8661 11.1649 42.8661 10.7804C42.8629 7.66701 41.3379 6.09266 38.3286 6.09266ZM40.6068 10.3732H35.9609L35.9726 10.2243C36.0947 8.66305 36.8885 7.87326 38.3286 7.87326C39.8404 7.87326 40.6068 8.64085 40.6068 10.1558V10.3732ZM53.7514 15.527V6.4151C52.3652 6.22031 50.9681 6.11262 49.5683 6.09266C47.8371 6.09266 46.5263 6.5104 45.6692 7.33608C44.8121 8.16242 44.3793 9.42346 44.3793 11.0787C44.3793 14.3345 45.8709 15.9871 48.817 15.9871C49.6506 15.9929 50.4767 15.8285 51.2447 15.5041L51.4262 15.4245V15.6255C51.4262 17.2854 50.4437 18.1261 48.5043 18.1261C47.7627 18.1293 47.0225 18.0649 46.2926 17.9335C46.1014 17.8971 45.9034 17.926 45.7306 18.0156C45.5577 18.1052 45.42 18.2504 45.3396 18.4276C45.2854 18.5451 45.258 18.6724 45.258 18.8016V19.4752C46.3031 19.7938 47.3919 19.9478 48.4847 19.9321C51.9784 19.9321 53.7514 18.4498 53.7514 15.5276V15.527ZM51.3531 13.5362C50.6606 13.8906 49.8945 14.0773 49.1166 14.0812C47.4944 14.0812 46.6713 13.0643 46.6713 11.0592C46.6713 8.9881 47.6178 7.93723 49.4867 7.93723C50.2799 7.93723 50.9033 8.02078 51.3387 8.1833L51.4236 8.21463V13.4983L51.3531 13.5356V13.5362ZM65.0597 15.2489C65.9958 14.5505 66.4796 13.4735 66.4972 12.0434C66.5135 10.8281 66.0944 9.80725 65.285 9.1095C64.5094 8.43525 63.4154 8.06516 62.1209 8.05211C60.436 8.02992 59.3713 7.75382 58.8641 7.22316C58.7354 7.08769 58.6365 6.92687 58.5735 6.75098C58.5106 6.57509 58.485 6.38799 58.4985 6.20167C58.5494 4.63059 59.4738 4.08949 61.8957 4.08949C62.9173 4.08949 63.6941 4.31859 64.5453 4.58751C64.6693 4.62631 64.8034 4.6172 64.921 4.56197C65.0386 4.50674 65.1312 4.40941 65.1805 4.28922L65.6277 3.18874C64.444 2.60537 63.1477 2.28601 61.8284 2.25275C59.8452 2.22534 58.4319 2.53864 57.5043 3.20832C56.5774 3.87735 56.1335 4.90799 56.1158 6.37398C56.0982 7.6781 56.8391 9.26877 58.9653 9.81313C60.3329 10.1636 62.0177 10.1545 62.0895 10.1525C62.7586 10.1617 63.2691 10.3438 63.6027 10.691C63.9369 11.0383 64.0695 11.4769 64.0623 12.0598C64.0518 12.8398 63.7816 13.4017 63.2345 13.7627C62.6875 14.123 61.9048 14.2888 60.8009 14.2738C59.8004 14.2766 58.8088 14.0846 57.8816 13.7085C57.674 13.6222 57.4415 13.6173 57.2304 13.6947C57.0193 13.7721 56.8451 13.9262 56.7425 14.1263L56.1994 15.1699C57.4397 15.8644 59.0612 16.258 60.7755 16.2802C62.6712 16.3011 64.1112 15.9539 65.0597 15.2489ZM75.8491 6.36419C75.0261 6.18427 74.1861 6.09432 73.3437 6.09593C71.5648 6.09593 70.2122 6.50257 69.3329 7.30671C68.4529 8.10955 68.0104 9.33077 68.0104 10.9443C68.0104 12.6903 68.4575 14.014 69.3375 14.8801C70.2168 15.7463 71.5739 16.1862 73.3437 16.1862C74.1861 16.1882 75.0263 16.0978 75.8491 15.9166V15.1713C75.8488 14.9813 75.7878 14.7965 75.6751 14.6436C75.5624 14.4907 75.4038 14.3779 75.2224 14.3214C75.1014 14.2842 74.9739 14.273 74.8483 14.2888C74.4142 14.3462 73.9769 14.3756 73.5388 14.3762C71.4127 14.3762 70.333 13.2196 70.333 10.9397C70.333 8.91956 71.4127 7.89676 73.5388 7.89676C73.9767 7.89809 74.4141 7.92708 74.8483 7.98357C75.0373 8.00882 75.2293 7.97215 75.3956 7.87906C75.5619 7.78597 75.6935 7.64149 75.7707 7.46728C75.8223 7.3524 75.8491 7.22773 75.8491 7.10176V6.36419ZM80.7581 16.1836C81.7863 16.1879 82.7903 15.8722 83.631 15.2803L83.834 15.1399V15.4382C83.8339 15.5361 83.853 15.6332 83.8904 15.7237C83.9278 15.8142 83.9827 15.8964 84.052 15.9657C84.1212 16.0349 84.2035 16.0898 84.294 16.1272C84.3845 16.1646 84.4816 16.1838 84.5795 16.1836H85.9974V9.3732C85.9974 7.1964 84.5064 6.09266 81.5617 6.09266C80.3516 6.08166 79.1444 6.21244 77.9648 6.48233V7.19771C77.9647 7.39154 78.0282 7.58005 78.1455 7.73437C78.2628 7.88868 78.4275 8.0003 78.6143 8.05211C78.7383 8.0854 78.8689 8.09127 78.9955 8.06843C79.8442 7.93462 80.7026 7.87783 81.5617 7.89872C82.9632 7.89872 83.6747 8.4111 83.6747 9.42215V10.3621L83.5181 10.3314C82.8376 10.2022 82.1466 10.1369 81.4539 10.1362C78.5882 10.1362 77.1299 11.131 77.1299 13.0911C77.1318 15.1732 78.3186 16.1836 80.7581 16.1836ZM81.4513 11.6466C82.161 11.643 82.8693 11.7099 83.5657 11.8463L83.6715 11.8672V13.7013L83.6166 13.7412C82.9061 14.2793 82.0398 14.5718 81.1484 14.5747C80.0407 14.5747 79.4564 14.0512 79.4564 13.0617C79.4564 12.1218 80.1275 11.6466 81.4513 11.6466ZM90.8209 2.34348H88.4976V16.1823H90.8209V2.34348ZM97.5172 6.09266C94.4112 6.09266 92.8367 7.75055 92.8367 11.0128C92.8367 12.7334 93.2838 14.0368 94.1873 14.8899C95.0914 15.7424 96.4629 16.1777 98.2777 16.1777C99.3397 16.1929 100.4 16.1019 101.444 15.9062V15.1295C101.446 14.9422 101.386 14.7595 101.275 14.6091C101.163 14.4587 101.005 14.3487 100.826 14.296C100.707 14.2605 100.583 14.2503 100.461 14.2659C99.8025 14.345 99.1403 14.3849 98.4774 14.3854C96.2795 14.3854 95.1639 13.6041 95.1639 12.0624V11.9299H101.983C102.03 11.5486 102.054 11.1647 102.055 10.7804C102.05 7.66701 100.525 6.09266 97.5172 6.09266ZM99.7954 10.3732H95.1495L95.16 10.2243C95.2833 8.66305 96.0752 7.87326 97.5172 7.87326C99.0291 7.87326 99.7954 8.64085 99.7954 10.1558V10.3732Z" fill="#393D55"/>
|
|
9
|
+
<defs>
|
|
10
|
+
<linearGradient id="paint0_linear_128_1384" x1="0.0546875" y1="3.8336" x2="14.3541" y2="3.8336" gradientUnits="userSpaceOnUse">
|
|
11
|
+
<stop stop-color="#2AA4CA"/>
|
|
12
|
+
<stop offset="1" stop-color="#1AA5B0"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<linearGradient id="paint1_linear_128_1384" x1="8.78961" y1="14.8352" x2="14.9448" y2="14.8352" gradientUnits="userSpaceOnUse">
|
|
15
|
+
<stop stop-color="#2D318D"/>
|
|
16
|
+
<stop offset="1" stop-color="#1A70AD"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
<linearGradient id="paint2_linear_128_1384" x1="12.256" y1="14.2527" x2="12.256" y2="1.69641" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop stop-color="#1A70AD"/>
|
|
20
|
+
<stop offset="0.64" stop-color="#2AA4CA"/>
|
|
21
|
+
<stop offset="1" stop-color="#17A7C8"/>
|
|
22
|
+
</linearGradient>
|
|
23
|
+
<linearGradient id="paint3_linear_128_1384" x1="1.43273" y1="7.31451" x2="1.43273" y2="0.350708" gradientUnits="userSpaceOnUse">
|
|
24
|
+
<stop stop-color="#20A495"/>
|
|
25
|
+
<stop offset="1" stop-color="#1AA8C6"/>
|
|
26
|
+
</linearGradient>
|
|
27
|
+
<linearGradient id="paint4_linear_128_1384" x1="7.00431" y1="17.7147" x2="7.00431" y2="5.26808" gradientUnits="userSpaceOnUse">
|
|
28
|
+
<stop stop-color="#9E0E5D"/>
|
|
29
|
+
<stop offset="0.5" stop-color="#EF5A23"/>
|
|
30
|
+
<stop offset="1" stop-color="#F3931F"/>
|
|
31
|
+
</linearGradient>
|
|
32
|
+
<linearGradient id="paint5_linear_128_1384" x1="1.43273" y1="18.1744" x2="1.43273" y2="9.09322" gradientUnits="userSpaceOnUse">
|
|
33
|
+
<stop stop-color="#F3931F"/>
|
|
34
|
+
<stop offset="0.5" stop-color="#F8B03B"/>
|
|
35
|
+
<stop offset="1" stop-color="#F9CA2D"/>
|
|
36
|
+
</linearGradient>
|
|
37
|
+
</defs>
|
|
38
|
+
</svg>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>RegScale Power Tools</title>
|
|
8
|
+
<!-- Bootstrap 5 CSS CDN -->
|
|
9
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet"
|
|
10
|
+
integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
|
|
11
|
+
<link rel="stylesheet" href="static/css/main.css">
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<header>
|
|
15
|
+
<div role="nav" class="nav">
|
|
16
|
+
<div class="row">
|
|
17
|
+
<div class="nav-buttons">
|
|
18
|
+
<a href="/home">Power Tools</a>
|
|
19
|
+
<a href="/upload_ssp">Upload SSP</a>
|
|
20
|
+
<a href="/upload_STIG">Upload STIG(s)</a>
|
|
21
|
+
<a href="/make_base64">Base64</a>
|
|
22
|
+
<!-- Experimental Hamburger/More Menu -->
|
|
23
|
+
<span id="hamburger-menu">
|
|
24
|
+
<button class="hamburger-button"> More... </button>
|
|
25
|
+
<div class="nav-links">
|
|
26
|
+
<a href="/auth">Authenticate</a>
|
|
27
|
+
<a href="{{ site_info.domain }}" target="_blank" rel="noopener">RegScale</a>
|
|
28
|
+
</div>
|
|
29
|
+
</span>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</header>
|
|
34
|
+
|
|
35
|
+
<main>
|
|
36
|
+
<div class="card profile-card-with-stats box-shadow-2" style="height: 70%; width:98%; margin: auto; margin-top:100px;">
|
|
37
|
+
<div class="">
|
|
38
|
+
<div class="card-body mt-4">
|
|
39
|
+
<div class="container">
|
|
40
|
+
{% block content %}{% endblock %}
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</main>
|
|
46
|
+
|
|
47
|
+
<!-- Page Footer -->
|
|
48
|
+
<footer class="footer footer-white footer-big py-5" style="z-index: -1;" role="contentinfo">
|
|
49
|
+
<div class="container">
|
|
50
|
+
<hr />
|
|
51
|
+
<!-- Footer -->
|
|
52
|
+
<div class="footer-bottom" id="regscale-footer">
|
|
53
|
+
<p class="design">
|
|
54
|
+
<a href="https://www.regscale.com" id="footer-copyright" target="_blank" class="footerLink" rel="noopener">© 2024
|
|
55
|
+
- RegScale, Inc - All rights reserved</a>
|
|
56
|
+
</p>
|
|
57
|
+
</div>
|
|
58
|
+
<hr />
|
|
59
|
+
</div>
|
|
60
|
+
</footer>
|
|
61
|
+
|
|
62
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"
|
|
63
|
+
integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
|
|
64
|
+
|
|
65
|
+
<!-- Experimental Hamburger Menu -->
|
|
66
|
+
<script>
|
|
67
|
+
document.querySelector('.hamburger-button').addEventListener('click', function() {
|
|
68
|
+
document.querySelector('.nav-links').style.display =
|
|
69
|
+
(document.querySelector('.nav-links').style.display == 'block') ? 'none' : 'block';
|
|
70
|
+
});
|
|
71
|
+
</script>
|
|
72
|
+
|
|
73
|
+
</body>
|
|
74
|
+
</html>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
{% block content %}
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-md-12">
|
|
6
|
+
<h1>Power Tools</h1>
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
<div class="row">
|
|
11
|
+
<div class="col-md-12">
|
|
12
|
+
<p>Welcome to RegScale Power Tools</p>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<div class="card" style="width: 18rem;">
|
|
16
|
+
<div class="card-body">
|
|
17
|
+
<h5 class="card-title">Upload Security Plan</h5>
|
|
18
|
+
<p class="card-text">
|
|
19
|
+
Upload a SSP Word Doc or SSP OSCAL XML file.
|
|
20
|
+
</p>
|
|
21
|
+
<a href="/upload_ssp" class="card-link">Get started...</a>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div class="card" style="width: 18rem;">
|
|
26
|
+
<div class="card-body">
|
|
27
|
+
<h5 class="card-title">Upload STIGs</h5>
|
|
28
|
+
<p class="card-text">Import your STIG files to track asset vulnerabilities.</p>
|
|
29
|
+
<a href="/upload_STIG" class="card-link">Get started...</a>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div class="card" style="width: 18rem;">
|
|
34
|
+
<div class="card-body">
|
|
35
|
+
<h5 class="card-title">Encode to Base64</h5>
|
|
36
|
+
<p class="card-text">Convert a file to Base64 format to embed in OSCAL.</p>
|
|
37
|
+
<a href="/make_base64" class="card-link">Get started...</a>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
{% endblock %}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
{% block content %}
|
|
3
|
+
<style>
|
|
4
|
+
|
|
5
|
+
input[type=text] {
|
|
6
|
+
width: 100%;
|
|
7
|
+
padding: 12px 20px;
|
|
8
|
+
margin: 8px 0;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
border: 1px solid #ccc;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
</style>
|
|
15
|
+
<div class="row">
|
|
16
|
+
<div class="login-container col-mdl-12" style="background-color: white;">
|
|
17
|
+
<h2>Authenticate to RegScale</h2>
|
|
18
|
+
<form id="login" action="/login-token" method="post">
|
|
19
|
+
<label for="domain" RegScale Domain</label>
|
|
20
|
+
<input type="text" id="domain" name="domain" placeholder="Your RegScale domain.", value="{{ site_info.get('domain') }}">
|
|
21
|
+
<label for="password">Bearer Token</label>
|
|
22
|
+
<input type="text" id="token" name="token" placeholder="Your Bearer Token.">
|
|
23
|
+
<input type="submit" value="Submit">
|
|
24
|
+
</form>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
</div>
|
|
28
|
+
{% endblock %}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
{% block content %}
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-md-12">
|
|
6
|
+
<h1>Base64-encode a File</h1>
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
<div class="row">
|
|
11
|
+
<div class="col-md-12">
|
|
12
|
+
<form action="{{ url_for('encode_base64') }}" method="post" enctype="multipart/form-data">
|
|
13
|
+
<div class="file-upload">
|
|
14
|
+
<input type="file" name="file" accept=".xml, image/png, image/gif, image/jpeg, image/jpg, image/svg+xml" required>
|
|
15
|
+
<br /><br />
|
|
16
|
+
<button type="submit">Make Base64-encoded version</button>
|
|
17
|
+
</div>
|
|
18
|
+
</form>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
{% endblock %}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
{% block content %}
|
|
3
|
+
<!-- Handle the buttons and clear them when a user changes the radio button-->
|
|
4
|
+
<script>
|
|
5
|
+
function clearInputAndDisable(elementId) {
|
|
6
|
+
const inputElement = document.getElementById(elementId);
|
|
7
|
+
inputElement.value = "";
|
|
8
|
+
inputElement.disabled = true;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function handleRadioClick(type) {
|
|
12
|
+
if (type === 'single') {
|
|
13
|
+
// Show and enable single file input
|
|
14
|
+
document.getElementById('cklFile').style.display = 'block';
|
|
15
|
+
document.getElementById('cklFileInput').disabled = false;
|
|
16
|
+
|
|
17
|
+
// Hide and disable zip input
|
|
18
|
+
document.getElementById('zip').style.display = 'none';
|
|
19
|
+
clearInputAndDisable('zipInput');
|
|
20
|
+
} else {
|
|
21
|
+
// Show and enable zip input
|
|
22
|
+
document.getElementById('zip').style.display = 'block';
|
|
23
|
+
document.getElementById('zipInput').disabled = false;
|
|
24
|
+
|
|
25
|
+
// Hide and disable single file input
|
|
26
|
+
document.getElementById('cklFile').style.display = 'none';
|
|
27
|
+
clearInputAndDisable('cklFileInput');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function validateForm() {
|
|
32
|
+
const cklFileInput = document.getElementById('cklFileInput');
|
|
33
|
+
const zipInput = document.getElementById('zipInput');
|
|
34
|
+
if ((cklFileInput.files.length > 0 && !cklFileInput.disabled) ||
|
|
35
|
+
(zipInput.files.length > 0 && !zipInput.disabled)) {
|
|
36
|
+
return true;
|
|
37
|
+
} else {
|
|
38
|
+
alert("Please select a file or zip before submitting.");
|
|
39
|
+
return false; // this will prevent form submission
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Attach an event listener to the submit button
|
|
44
|
+
document.getElementById('submitButton').addEventListener('click', function(event) {
|
|
45
|
+
|
|
46
|
+
// Prevent the default form submission to allow for validation
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
|
|
49
|
+
// Run the validateForm function
|
|
50
|
+
if (validateForm()) {
|
|
51
|
+
|
|
52
|
+
// If the form is valid, manually submit the form
|
|
53
|
+
document.getElementById('submitButton').disabled = true;
|
|
54
|
+
document.getElementById('submitButton').innerHTML = "Uploading...";
|
|
55
|
+
document.getElementById('stigUpload').submit();
|
|
56
|
+
} else {
|
|
57
|
+
// Handle invalid form scenario (this part is optional)
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
</script>
|
|
61
|
+
|
|
62
|
+
<div class="row">
|
|
63
|
+
<div class="col-md-12">
|
|
64
|
+
<h1>Upload STIG File(s) to <a href="{{ site_info.domain }}">{{ site_info.domain }}</a></h1>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div class="row">
|
|
69
|
+
<div class="col-md-12">
|
|
70
|
+
<form action="{{ url_for('process_stig_file') }}" method="post" enctype="multipart/form-data" id="stigUpload">
|
|
71
|
+
<div class="file-upload">
|
|
72
|
+
<!-- For single .CKL file upload -->
|
|
73
|
+
<h3>Would you like to upload a single .ckl File or Directory?</h3>
|
|
74
|
+
<label>
|
|
75
|
+
<input type="radio" name="uploadType" value="single" onclick="handleRadioClick('single')">
|
|
76
|
+
.ckl File
|
|
77
|
+
</label>
|
|
78
|
+
<label>
|
|
79
|
+
<input type="radio" name="uploadType" value="zip" onclick="handleRadioClick('zip')">
|
|
80
|
+
.zip File
|
|
81
|
+
</label>
|
|
82
|
+
<div id="cklFile" style="display:none;">
|
|
83
|
+
<input id="cklFileInput" type="file" name="cklFile" accept=".ckl">
|
|
84
|
+
</div>
|
|
85
|
+
<div id="zip" style="display:none;">
|
|
86
|
+
<input id="zipInput" type="file" name="zip" accept=".zip">
|
|
87
|
+
</div>
|
|
88
|
+
<br /><br />
|
|
89
|
+
<label for="regscale_catalogue_id">Select a profile:</label>
|
|
90
|
+
<select id="regscale_catalogue_id" name="regscale_catalogue_id">
|
|
91
|
+
{% for id, catalogue_name in regscale_catalogues %}
|
|
92
|
+
<option value="{{ id }}">{{ catalogue_name }}</option>
|
|
93
|
+
{% endfor %}
|
|
94
|
+
</select>
|
|
95
|
+
<br /><br />
|
|
96
|
+
<label for="regscale_ssp_id">Select a Security Plan:</label>
|
|
97
|
+
<select id="regscale_ssp_id" name="regscale_ssp_id">
|
|
98
|
+
{% for id, ssp_name in regscale_ssps %}
|
|
99
|
+
<option value="{{ id }}">{{ ssp_name }}</option>
|
|
100
|
+
{% endfor %}
|
|
101
|
+
</select>
|
|
102
|
+
<br /><br />
|
|
103
|
+
<button type="submit" id="submitButton" onclick="return validateForm();">Upload</button>
|
|
104
|
+
</div>
|
|
105
|
+
</form>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
{% endblock %}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
{% block content %}
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div style="display: grid;">
|
|
6
|
+
<h1>Processed {{ results.file_count }} .ckl File(s) to SSP #{{ results.ssp_id }}: {{ results.ssp_name }} in {{ results.time_elapsed }}</h1>
|
|
7
|
+
<br>
|
|
8
|
+
<a href="{{ site_info.domain }}/form/securityplans/{{ results.ssp_id }}">
|
|
9
|
+
<button type=" button" class="btn btn-primary">
|
|
10
|
+
View {{results.ssp_name}} in RegScale
|
|
11
|
+
</button>
|
|
12
|
+
</a>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-md-12">
|
|
15
|
+
<br>
|
|
16
|
+
<h2>Results</h2>
|
|
17
|
+
<h3>{{ results.start_msg }}</h3>
|
|
18
|
+
<!-- display the warning if it exists in results -->
|
|
19
|
+
{% if results.warning_msg %}
|
|
20
|
+
<h3 class="level-warning">{{ results.warning_msg }}</h3>
|
|
21
|
+
{% endif %}
|
|
22
|
+
<h3>{{ results.result_msg }}</h3>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
{% endblock %}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
{% block content %}
|
|
3
|
+
<!-- Handle the buttons and clear them when a user changes the radio button-->
|
|
4
|
+
<script>
|
|
5
|
+
function clearInputAndDisable(elementId) {
|
|
6
|
+
const inputElement = document.getElementById(elementId);
|
|
7
|
+
inputElement.value = "";
|
|
8
|
+
inputElement.disabled = true;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function handleRadioClick(type) {
|
|
12
|
+
if (type === 'rev4') {
|
|
13
|
+
// Show and enable rev4 file input
|
|
14
|
+
document.getElementById('docxFile').style.display = 'block';
|
|
15
|
+
document.getElementById('docxFileInput').disabled = false;
|
|
16
|
+
document.getElementById('appendixALabel').style.display = 'none';
|
|
17
|
+
document.getElementById('docxFileInputAppendix').style.display = 'none';
|
|
18
|
+
|
|
19
|
+
// Hide and disable rev5 input
|
|
20
|
+
document.getElementById('xmlFile').style.display = 'none';
|
|
21
|
+
clearInputAndDisable('xmlFileInput');
|
|
22
|
+
} else if (type === 'rev5docx') {
|
|
23
|
+
// Show and enable rev4 file input
|
|
24
|
+
document.getElementById('docxFile').style.display = 'block';
|
|
25
|
+
document.getElementById('docxFileInput').disabled = false;
|
|
26
|
+
document.getElementById('appendixALabel').style.display = 'block';
|
|
27
|
+
document.getElementById('docxFileInputAppendix').style.display = 'inline-block';
|
|
28
|
+
|
|
29
|
+
// Hide and disable rev5 input
|
|
30
|
+
document.getElementById('xmlFile').style.display = 'none';
|
|
31
|
+
clearInputAndDisable('xmlFileInput');
|
|
32
|
+
} else {
|
|
33
|
+
// Show and enable rev5 input
|
|
34
|
+
document.getElementById('xmlFile').style.display = 'block';
|
|
35
|
+
document.getElementById('xmlFileInput').disabled = false;
|
|
36
|
+
|
|
37
|
+
// Hide and disable rev4 file input
|
|
38
|
+
document.getElementById('docxFile').style.display = 'none';
|
|
39
|
+
clearInputAndDisable('docxFileInput');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Handle key presses, if it is submit, validate the form and execute the command
|
|
44
|
+
function handleKeyPress(event) {
|
|
45
|
+
if (event.key === 'Enter') {
|
|
46
|
+
return validateForm();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function validateForm() {
|
|
51
|
+
const docxFileInput = document.getElementById('docxFileInput');
|
|
52
|
+
const xmlFileInput = document.getElementById('xmlFileInput');
|
|
53
|
+
if ((docxFileInput.files.length > 0 && !docxFileInput.disabled) ||
|
|
54
|
+
(xmlFileInput.files.length > 0 && !xmlFileInput.disabled)) {
|
|
55
|
+
return true;
|
|
56
|
+
} else {
|
|
57
|
+
alert("Please select Rev 4 .docx, Rev 5 .docx or Rev 5 .xml and upload your documents before submitting.");
|
|
58
|
+
return false; // this will prevent form submission
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Attach an event listener to the submit button
|
|
63
|
+
document.getElementById('submitButton').addEventListener('click', function(event) {
|
|
64
|
+
|
|
65
|
+
// Prevent the default form submission to allow for validation
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
|
|
68
|
+
// Run the validateForm function
|
|
69
|
+
if (validateForm()) {
|
|
70
|
+
|
|
71
|
+
// If the form is valid, manually submit the form
|
|
72
|
+
document.getElementById('submitButton').disabled = true;
|
|
73
|
+
document.getElementById('submitButton').innerHTML = "Uploading...";
|
|
74
|
+
document.getElementById('sspUpload').submit();
|
|
75
|
+
} else {
|
|
76
|
+
// Handle invalid form scenario (this part is optional)
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
</script>
|
|
80
|
+
|
|
81
|
+
<div class="row">
|
|
82
|
+
<div class="col-md-12">
|
|
83
|
+
<h1>Upload FedRAMP SSP File to <a href="{{ site_info.domain }}">{{ site_info.domain }}</a></h1>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div class="row" style="margin-top: 12px;">
|
|
88
|
+
<div class="col-md-12">
|
|
89
|
+
<form action="{{ url_for('process_file') }}" method="post" enctype="multipart/form-data" id="sspUpload">
|
|
90
|
+
<div class="file-upload">
|
|
91
|
+
<!-- For rev 4 .docx file upload -->
|
|
92
|
+
<h3>Select upload type:</h3>
|
|
93
|
+
<label>
|
|
94
|
+
<input type="radio" name="fedrampVersion" value="Rev4" onclick="handleRadioClick('rev4')" onkeypress="handleKeyPress(event)">
|
|
95
|
+
Rev 4 .docx
|
|
96
|
+
</label><br/>
|
|
97
|
+
<label>
|
|
98
|
+
<input type="radio" name="fedrampVersion" value="Rev5docx" onclick="handleRadioClick('rev5docx')" onkeypress="handleKeyPress(event)">
|
|
99
|
+
Rev 5 .docx
|
|
100
|
+
</label><br/>
|
|
101
|
+
<label>
|
|
102
|
+
<input type="radio" name="fedrampVersion" value="Rev5" onclick="handleRadioClick('rev5')" onkeypress="handleKeyPress(event)">
|
|
103
|
+
Rev 4 or 5 .xml
|
|
104
|
+
</label>
|
|
105
|
+
<br /><br />
|
|
106
|
+
<div id="docxFile" style="display:none;">
|
|
107
|
+
<p>SSP .docx File</p>
|
|
108
|
+
<input id="docxFileInput" type="file" name="file" accept=".docx">
|
|
109
|
+
<br /><br />
|
|
110
|
+
<p id="appendixALabel">SSP Appendix A .docx File</p>
|
|
111
|
+
<input id="docxFileInputAppendix" type="file" name="fileAppendix" accept=".docx">
|
|
112
|
+
<br />
|
|
113
|
+
<p>Select a Profile</p>
|
|
114
|
+
<select id="regscale_profile_id" name="regscale_profile_id">
|
|
115
|
+
<option value="" selected>Select a profile</option>
|
|
116
|
+
{% for id, profile_name in regscale_profiles %}
|
|
117
|
+
<option value="{{ id }}">{{ profile_name }}</option>
|
|
118
|
+
{% endfor %}
|
|
119
|
+
</select>
|
|
120
|
+
<br /><br />
|
|
121
|
+
<label for="load_missing_controls">Load missing controls from Profile:</label>
|
|
122
|
+
<select id="load_missing_controls" name="load_missing_controls">
|
|
123
|
+
<option value="True" selected>Yes</option>
|
|
124
|
+
<option value="False">No</option>
|
|
125
|
+
</select>
|
|
126
|
+
</div>
|
|
127
|
+
<div id="xmlFile" style="display:none;">
|
|
128
|
+
<input id="xmlFileInput" type="file" name="file" accept=".xml">
|
|
129
|
+
<br /><br />
|
|
130
|
+
<label for="regscale_catalogue_id">Select a catalogue:</label>
|
|
131
|
+
<select id="regscale_catalogue_id" name="regscale_catalogue_id">
|
|
132
|
+
{% for id, catalogue_name in regscale_catalogues %}
|
|
133
|
+
<option value="{{ id }}">{{ catalogue_name }}</option>
|
|
134
|
+
{% endfor %}
|
|
135
|
+
</select>
|
|
136
|
+
</div>
|
|
137
|
+
<br /><br />
|
|
138
|
+
<button type="submit" id="submitButton" class="btn btn-primary" onclick="return validateForm();">Upload</button>
|
|
139
|
+
</div>
|
|
140
|
+
</form>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
|
|
144
|
+
{% endblock %}
|