Skip to content
This repository was archived by the owner on Oct 27, 2021. It is now read-only.

Commit

Permalink
Move QueryDatabase handling into codepropertygraph (#17)
Browse files Browse the repository at this point in the history
* Move `Query` to `QueryDatabase`

* Use `QueryDatabase` from `codepropertygraph`

* Set correct `codepropertygraph` version

* Update joern version
  • Loading branch information
fabsx00 authored Jan 1, 2021
1 parent b002c79 commit eb28522
Show file tree
Hide file tree
Showing 19 changed files with 24 additions and 184 deletions.
1 change: 1 addition & 0 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ libraryDependencies ++= Seq(
"com.github.scopt" %% "scopt" % "3.7.1",
"org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.13.3" % Runtime,
"io.shiftleft" %% "semanticcpg" % Versions.cpg,
"io.shiftleft" %% "console" % Versions.cpg,
"io.shiftleft" %% "dataflowengineoss" % Versions.cpg,
"io.shiftleft" %% "fuzzyc2cpg-tests" % Versions.cpg % Test classifier "tests",
"io.shiftleft" %% "semanticcpg-tests" % Versions.cpg % Test classifier "tests",
Expand Down
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -o pipefail
set -o nounset
set -eu

readonly JOERN_VERSION="v1.1.64"
readonly JOERN_VERSION="v1.1.66"

if [ "$(uname)" = 'Darwin' ]; then
# get script location
Expand Down
2 changes: 1 addition & 1 deletion project/Versions.scala
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Declare dependency versions in one place */
object Versions {
val cpg = "1.3.25"
val cpg = "1.3.26"
val overflowdb = "1.24"
}
1 change: 1 addition & 0 deletions src/main/scala/io/joern/scanners/QueriesToJson.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.shiftleft.dataflowengineoss.queryengine.EngineContext
import org.json4s._
import org.json4s.native.Serialization
import better.files.File
import io.shiftleft.console.QueryDatabase

object QueriesToJson extends App {
implicit val engineContext: EngineContext = null
Expand Down
142 changes: 0 additions & 142 deletions src/main/scala/io/joern/scanners/QueryDatabase.scala

This file was deleted.

1 change: 1 addition & 0 deletions src/main/scala/io/joern/scanners/Scan.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.joern.scanners

import io.shiftleft.codepropertygraph.Cpg
import io.shiftleft.console.{DefaultArgumentProvider, QueryDatabase}
import io.shiftleft.dataflowengineoss.queryengine.EngineContext
import io.shiftleft.passes.{CpgPass, DiffGraph}
import io.shiftleft.semanticcpg.layers.{
Expand Down
1 change: 1 addition & 0 deletions src/main/scala/io/joern/scanners/c/CopyLoops.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.joern.scanners.c

import io.joern.scanners._
import io.shiftleft.console._
import io.shiftleft.semanticcpg.language._

object CopyLoops extends QueryBundle {
Expand Down
1 change: 1 addition & 0 deletions src/main/scala/io/joern/scanners/c/HeapBasedOverflow.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import io.joern.scanners._
import io.shiftleft.dataflowengineoss.queryengine.EngineContext
import io.shiftleft.semanticcpg.language._
import io.shiftleft.dataflowengineoss.language._
import io.shiftleft.console._

object HeapBasedOverflow extends QueryBundle {

Expand Down
1 change: 1 addition & 0 deletions src/main/scala/io/joern/scanners/c/InsecureFunctions.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.joern.scanners.c

import io.joern.scanners._
import io.shiftleft.semanticcpg.language._
import io.shiftleft.console._

object InsecureFunctions extends QueryBundle {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package io.joern.scanners.c

import io.joern.scanners._
import io.joern.scanners.{QueryBundle, q}
import io.shiftleft.semanticcpg.language._
import io.shiftleft.console._

object IntegerTruncations extends QueryBundle {

Expand Down
1 change: 1 addition & 0 deletions src/main/scala/io/joern/scanners/c/Metrics.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.joern.scanners.c

import io.joern.scanners._
import io.shiftleft.console._
import io.shiftleft.semanticcpg.language._

object Metrics extends QueryBundle {
Expand Down
17 changes: 7 additions & 10 deletions src/main/scala/io/joern/scanners/package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package io.joern

import io.shiftleft.codepropertygraph.Cpg
import io.shiftleft.codepropertygraph.generated.{NodeTypes, nodes}
import io.shiftleft.console.Query
import overflowdb.traversal.Traversal
import io.shiftleft.semanticcpg.language._

import overflowdb.traversal._

package object scanners {
Expand All @@ -16,17 +16,14 @@ package object scanners {

}

case class Query(name: String,
author: String,
title: String,
description: String,
score: Double,
f: Cpg => Traversal[nodes.StoredNode]) {

implicit class QueryWrapper(q: Query) {
def apply(cpg: Cpg): List[nodes.NewFinding] = {
f(cpg)
q.f(cpg)
.map(
finding(_, title = title, description = description, score = score)
finding(_,
title = q.title,
description = q.description,
score = q.score)
)
.l
}
Expand Down
1 change: 1 addition & 0 deletions src/test/scala/io/joern/scanners/c/CopyLoopTests.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.joern.scanners.c

import io.shiftleft.codepropertygraph.generated.nodes
import io.shiftleft.semanticcpg.language._
import io.joern.scanners._

class CopyLoopTests extends Suite {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.joern.scanners.c

import io.shiftleft.codepropertygraph.generated.nodes
import io.joern.scanners._

class HeapBasedOverflowTests extends Suite {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.joern.scanners.c

import io.shiftleft.codepropertygraph.generated.nodes
import io.shiftleft.semanticcpg.language._
import io.joern.scanners._

class InsecureFunctionsTests extends Suite {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.joern.scanners.c

import io.shiftleft.codepropertygraph.generated.nodes
import io.shiftleft.semanticcpg.language._
import io.joern.scanners._

class IntegerTruncationsTests extends Suite {

Expand Down
1 change: 1 addition & 0 deletions src/test/scala/io/joern/scanners/c/MetricsTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.joern.scanners.c

import io.shiftleft.codepropertygraph.generated.nodes
import io.joern.scanners._

class MetricsTests extends Suite {

Expand Down
28 changes: 0 additions & 28 deletions src/test/scala/io/joern/scanners/c/QueryDatabaseTests.scala

This file was deleted.

3 changes: 2 additions & 1 deletion src/test/scala/io/joern/scanners/c/ScanTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.joern.scanners.c

import io.joern.scanners.{JoernDefaultArgumentProvider, QueryDatabase}
import io.joern.scanners.JoernDefaultArgumentProvider
import io.shiftleft.console.QueryDatabase

class ScanTests extends Suite {

Expand Down

0 comments on commit eb28522

Please sign in to comment.