Skip to content

[FE] Generic Report Schema: Render list & url types on vulnerability details page

Why are we doing this work

Allows scan results to add new labels and values to a vulnerability, where the label is any string they want and the value is one of the following types: named-list, list, table, url, int, text, diff, markdown (GFM), code, commit, file-location, and module-location.

This issue is specific to the following higher priority & more complicated types: named-list, list & url

Designs

component design
url Screen_Shot_2021-03-24_at_10.08.14_am
** list** TBC

(Note: the list component is used to recursively render nested arrays of items)

Sample Data

url

"details": {
  "site_url": {
    "name": "URL",
    "type": "url",
    "href": "http://site.com"
  }
}

list

Note that a list can contain a list of list of list of list of list.... etc. Personally, I'd recommending setting a limit on the UI, but I'll leave that up to you!

"details": {
  "urls": {
    "name": "URLs",
    "type": "list",
    "items": [
      {
        "type": "url",
        "href": "http://nginx/page/1"
      },
      {
        "type": "url",
        "href": "http://nginx/page/2"
      }
    ]
  }
}

Relevant links

Information that the developer might need to refer to when implementing the issue.

Non-functional requirements

  • Documentation:
  • Feature flag:
  • Performance:
  • Testing:

Implementation plan

  • frontend Add url component
    • Add specs
  • frontend Add list component (recursive rendering of items)
    • Note: Make sure that we limit the number of recursions
    • Add specs
Edited by Lindsay Kerr