Cypher è il linguaggio di query dichiarativo di Neo4j per leggere, creare, aggiornare ed eliminare dati in un database a grafo. Usa pattern e predicati per descrivere nodi, relazioni e condizioni, il che lo rende adatto a query complesse su dati connessi.
Nelle applicazioni sensibili alla sicurezza, Cypher è importante perché spesso si trova dietro un'API o un livello di policy. Se le regole di autorizzazione vengono tradotte in modo errato in Cypher, un utente può accedere a dati o eseguire mutazioni che non dovrebbe vedere o compiere. Gli aggressori cercano questi punti deboli di traduzione per aggirare i filtri, mentre i difensori verificano le query generate, testano i percorsi negati e controllano che le regole di schema, come autenticazione e autorizzazione, rimangano valide durante la conversione dalla logica dell'applicazione all'esecuzione nel database.


