Skip to content

Conversation

michael-simons
Copy link
Contributor

This change turns all the labels into parameters, avoiding the possibility of Cypher injection as the config does not do any sanitization.
In addition, the interaction with the driver is changed so that it uses transactional functions, which are retried when any communication with the Neo4j DBMS fails.
We can do this here as the repository is not subject to application wide transactions.

An alternative to the parameters for labels would be using Cypher-DSL as we did in other parts of this project to sanitize labels proper.

This change turns all the labels into parameters, avoiding the possibility of Cypher injection as the config does not do any sanitization. In addition, the interaction with the driver is changed so that it uses transactional functions, which are retried when any communication with the Neo4j DBMS fails. We can do this here as the repository is not subject to application wide transactions. An alternative to the parameters for labels would be using Cypher-DSL as we did in other parts of this project to sanitize labels proper. Signed-off-by: Michael Simons <michael@simons.ac>
@markpollack markpollack self-assigned this May 8, 2025
@markpollack markpollack added this to the 1.0.0-RC1 milestone May 8, 2025
@ilayaperumalg
Copy link
Member

@michael-simons Thanks for the PR! Rebased and merged as 1c06d7c

@michael-simons
Copy link
Contributor Author

Wonderful, thank you @ilayaperumalg and nice to see you again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 participants