Skip to content

[frontend] Observable nested objects table displays current File instead of opposite object for reversed sample relationship #16078

@saweol

Description

@saweol

Description

When viewing a File observable that is the target of a Malware sample nested ref relationship, the Nested Objects table displays the File itself instead of the opposite object.

The row is displayed as:

Sample / File / <file hash>

However, clicking the row navigates to the Malware object, for example BeaverTail. This makes the UI inconsistent: the displayed object and the navigation target are different.

Environment

  1. OS: Mac Tahoe 26.5
  2. OpenCTI version: 7.260510.0
  3. OpenCTI client: frontend
  4. Browser: Safari / Chrome

Reproducible Steps

  1. Create a Malware object, e.g. BeaverTail.
  2. Create a File observable.
  3. Create a nested relationship from Malware to File with relationship type sample.
  4. Open the File observable.
  5. Go to Knowledge -> Nested Objects.
  6. Observe the sample row.

Expected Output

The File page should display the opposite object for the reversed relationship, for example:

Sample / Malware / BeaverTail

or at minimum the displayed object should match the object opened when clicking the row.

Actual Output

The row displays:

Sample / File / <file hash>

but clicking the row opens the Malware object.

Additional information

This seems to be a frontend rendering inconsistency.

In StixCyberObservableNestedEntitiesTable.tsx, the displayed columns use data.to, while the redirection link computes the opposite object based on the current observable ID.

Relevant code areas:

  • StixCyberObservableNestedEntitiesTable.tsx: columns render data.to
  • StixCyberObservableNestedEntitiesTable.tsx: getRedirectionLink computes opposite side
  • StixDomainObjectNestedEntitiesLines.tsx: domain object nested table appears to compute the opposite object consistently
Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    UXbuguse for describing something not working as expected

    Type

    No fields configured for Bug.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions