Documentation
ΒΆ
Overview ΒΆ
A cypher fuzzer generating complex, semantically and syntactically valid queries.
Dinkel provides an easily expandable framework for targeting all possible cypher implementations. Additionally, dinkel supports different fuzzing techniques, targeting exception and logic bugs.
This allows for easy and thorough testing of any cypher implementation with little setup required.
Dinkel achieves query complexity and validity by keeping track of the query context and database state during generation. This information then gets used within the stateful generation of a query's clauses, allowing for complex data dependencies within a query.
Directories
ΒΆ
Path | Synopsis |
---|---|
biscepter
module
|
|
Package cmd provides the basic cobra-cli commands for fuzzing.
|
Package cmd provides the basic cobra-cli commands for fuzzing. |
bugreports
Package bugreports provides the cobra-cli command for managing multiple bugreports.
|
Package bugreports provides the cobra-cli command for managing multiple bugreports. |
config
Package config manages fuzzing configs for cobra-cli commands.
|
Package config manages fuzzing configs for cobra-cli commands. |
Code generated by "middlewarer -type=DB"; DO NOT EDIT.
|
Code generated by "middlewarer -type=DB"; DO NOT EDIT. |
prometheus
Package exporter provides a prometheus exporter for monitoring dinkel.
|
Package exporter provides a prometheus exporter for monitoring dinkel. |
Package models holds all fuzzing targets.
|
Package models holds all fuzzing targets. |
apacheage
Package apacheage provides the model for Apache AGE, a postgres extension.
|
Package apacheage provides the model for Apache AGE, a postgres extension. |
falkordb
Package falkordb provides the model for FlakorDB, a Redis module.
|
Package falkordb provides the model for FlakorDB, a Redis module. |
memgraph
Package memgraph provides the model for memgraph
|
Package memgraph provides the model for memgraph |
mock
Package mock provides a mock implementation and driver for testing purposes.
|
Package mock provides a mock implementation and driver for testing purposes. |
neo4j
Package neo4j provides the model for Neo4j
|
Package neo4j provides the model for Neo4j |
opencypher
Package opencypher provides the OpenCypher model from which all other models descend.
|
Package opencypher provides the OpenCypher model from which all other models descend. |
opencypher/config
Package config provides the config for adapt query generation to targets.
|
Package config provides the config for adapt query generation to targets. |
opencypher/schema
Package schema defines the schema used for complex, stateful query generation.
|
Package schema defines the schema used for complex, stateful query generation. |
redisgraph
Package redisgraph provides the model for RedisGraph, a Redis module.
|
Package redisgraph provides the model for RedisGraph, a Redis module. |
Package scheduler holds the fuzzing scheduler, glueing together all parts needed for fuzzing.
|
Package scheduler holds the fuzzing scheduler, glueing together all parts needed for fuzzing. |
strategy
TODO: Docs
|
TODO: Docs |
Package seed provides seeds used to decide behavior during query generation.
|
Package seed provides seeds used to decide behavior during query generation. |
Package translator provides translations from ASTs to concrete queries.
|
Package translator provides translations from ASTs to concrete queries. |
helperclauses
Package helperclauses provides clauses that simplify the modelling of new queries.
|
Package helperclauses provides clauses that simplify the modelling of new queries. |
Click to show internal directories.
Click to hide internal directories.