SpecterOps/BloodHound

Bug: Cypher using nodes() function is wrongly marked as having wrong syntax

Opened this issue · 0 comments

Description:

Using the following cypher query:

MATCH p=((n:Computer)-[r2:MemberOf*1..]->(g:Group))
WHERE NONE(n IN nodes(p) WHERE n.objectid = "test123")
RETURN p

results in the following errors being shown, albeit the queries work just fine:

  • mismatched input '(' expecting {')',SP}
  • mismatched input 'WHERE' expecting {<EOF>,';'}

Are you intending to fix this bug?

no

Component(s) Affected:

  • UI

Steps to Reproduce:

  1. Go to Cypher
  2. Type in:
MATCH p=((n:Computer)-[r2:MemberOf*1..]->(g:Group))
WHERE NONE(n IN nodes(p) WHERE n.objectid = "test123")
RETURN p
  1. See wrong errors

Expected Behavior:

No errors should be displayed

Actual Behavior:

Errors are displayed

Screenshots/Code Snippets/Sample Files:

cypher_highlighting_1
cypher_highlighting_2

Environment Information:

BloodHound: v5.15.0

Browser (if UI related): Firefox 129.0.2

Node.js (if UI related: 18.19.0

Contributor Checklist:

  • I have searched the issue tracker to ensure this bug hasn't been reported before or is not already being addressed.
  • I have provided clear steps to reproduce the issue.
  • I have included relevant environment information details.
  • I have attached necessary supporting documents.