Skip to content

Nodes missing reserved name/displayname properties #19

Description

@p0dalirius

Summary

KeyCredential nodes set a non-reserved displayName (wrong case) and never set name, and key-material nodes set neither, so nodes render without a label and are not matched by BloodHound name search.

Location

  • File(s): parse.go
  • Line(s) / function(s): ParseResults() — KeyCredential node properties at L60-L69; key-material node properties at L87-L162

Category

functional

Severity

medium

Brief justification: Every emitted node is missing the reserved name property BloodHound uses for the node label, tooltip, and search; key-material nodes have no human-readable label at all.

Reproduction / Evidence

Verified by code analysis.

  • For the KeyCredential node, the only label-like property set is p.SetProperty("displayName", kc.Identifier) at parse.go:62. The reserved property is lowercase displayname; displayName is treated as an arbitrary custom property. name is never set.
  • For key-material nodes (parse.go:87-162), the property set contains only KeyType and key parameters — neither name nor displayname is set, so these nodes are emitted with no label.

The BloodHound OpenGraph schema designates name and displayname (lowercase) as the reserved label/search properties; nodes without name have no searchable label.

Expected Behavior

Every node sets a lowercase name (and displayname) property so it has a label in the UI and is searchable.

Actual Behavior

KeyCredential nodes expose a mis-cased displayName and no name; key-material nodes expose no label property at all.

Root Cause

The reserved property names were written in camelCase (displayName) and the required name property was never assigned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions