Heimdall Processes Documentation - mitre/heimdall2 GitHub Wiki

Tenable.SC Connection Capability

Additional Supporting npm package

Added the adm-zip library used to decompress (in memory) the received zip file from the /scanResults{id}/downloads endpoint

Installation

$ npm install adm-zip
and
npm install --save-dev @types/node

Frontend

The following modules, classes contain actions that direct impact the Tenable.SC Connection capability

apps/frontend/src/components/global/

  • UploadNexus.vue

The UploadNexus.vue is where the upload tabs are defined (Local Files, S3 Bucket, Splunk, Tenable, Samples) The Tenable.SC upload option is defined in this file file.

Tenable.SC GUI modules

apps/frontend/src/components/global/upload_tabs/tenable

  • TenableReader.vue
  • AuthStep.vue
  • FileList.vue

TenableReader.vue: The main GUI for displaying the tenable query scans. Provides a step component displays progress through authentication and displaying scan results. Calls the authorization module authenticate the user

AuthStep.vue: Validates the inputted authentication tokens by login into the provided tenable instances (URL)

FileList.vue: Main module that controls the options sent to the tenable_utils

apps/frontend/src/utilities

  • tenable_utils.ts

tenable_utils.ts: Module containing the connections to the tenable instance via axios. Executes all queries.

Class Diagram

Tenable sc_Class_Diagram drawio

Group API Capability

Backend

The following modules, classes were modified implementing the Group API capability

apps/backend/src/apikeys/

  • apikey.controller.ts
  • apikey.model.ts
  • apikey.service.ts
  • apikeys.module.ts

apps/backend/src/apikeys/dto/

  • apikey.dto.ts
  • create-apikey.dto.ts

apps/backend/src/authn/

  • apikey.strategy.ts
  • authn.service.ts

apps/backend/src/evaluations/dto/

  • evaluation.dto.ts

apps/backend/src/evaluations/

  • evaluation.model.ts
  • evaluations.controller.ts
  • evaluations.service.ts

Class Diagram

Groups_Api_Key_Class_Diagram-Backend drawio

Frontend

The following module was modified implementing the Group API capability

apps/frontend/src/components/global/groups/

  • GroupModal.vue

The following module was added

apps/frontend/src/components/global/groups/

  • GroupAPIKeysModal.vue

Class Diagram

Groups_Api_Key_Class_Diagram-Frontend drawio

Interfaces

The following interfaces were modified

  • libs/interfaces/apikey/apikey.interface.ts
  • libs/interfaces/apikey/create-apikey.interface.ts
  • libs/interfaces/evaluation/evaluation.interface.ts

Class Diagram

Groups_Api_Key_Class_Diagram-Heimdall drawio

Database

The following database tables were modified

  • ApiKeys (type and groupId)
  • Evaluations (groupId)

Class Diagram

Groups_Api_Key_Class_Diagram-Database-backend drawio

⚠️ **GitHub.com Fallback** ⚠️