From f59b32cc15c9be15332dc1e4eb7a4153e8cdef32 Mon Sep 17 00:00:00 2001 From: prabhu Date: Thu, 1 Feb 2024 22:09:57 +0000 Subject: [PATCH] Tweaks to console commands (#69) * Tweaks to console commands Signed-off-by: Prabhu Subramanian * Removed antlr comment Signed-off-by: Prabhu Subramanian --------- Signed-off-by: Prabhu Subramanian --- build.sbt | 2 +- chenpy/logger.py | 1 - codemeta.json | 2 +- .../scala/io/appthreat/console/Console.scala | 31 ++++++++++++++++++- meta.yaml | 2 +- .../x2cpg/src/main/resources/tags-vocab.txt | 2 ++ .../x2cpg/passes/taggers/CdxPass.scala | 7 +++-- project/Versions.scala | 2 -- pyproject.toml | 2 +- 9 files changed, 41 insertions(+), 10 deletions(-) diff --git a/build.sbt b/build.sbt index 1e567aad..085a1c16 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,6 @@ name := "chen" ThisBuild / organization := "io.appthreat" -ThisBuild / version := "2.0.6" +ThisBuild / version := "2.0.7" ThisBuild / scalaVersion := "3.3.1" val cpgVersion = "1.0.0" diff --git a/chenpy/logger.py b/chenpy/logger.py index 0bd13338..79287fc0 100644 --- a/chenpy/logger.py +++ b/chenpy/logger.py @@ -49,7 +49,6 @@ class CustomHighlighter(RegexHighlighter): log_time=False, log_path=False, theme=custom_theme, - width=int(os.getenv("COLUMNS", "270")), color_system="256", force_terminal=True, highlight=True, diff --git a/codemeta.json b/codemeta.json index 37cfc625..5a11de44 100644 --- a/codemeta.json +++ b/codemeta.json @@ -7,7 +7,7 @@ "downloadUrl": "https://github.com/AppThreat/chen", "issueTracker": "https://github.com/AppThreat/chen/issues", "name": "chen", - "version": "2.0.6", + "version": "2.0.7", "description": "Code Hierarchy Exploration Net (chen) is an advanced exploration toolkit for your application source code and its dependency hierarchy.", "applicationCategory": "code-analysis", "keywords": [ diff --git a/console/src/main/scala/io/appthreat/console/Console.scala b/console/src/main/scala/io/appthreat/console/Console.scala index cdda03d7..5e4ad5ab 100644 --- a/console/src/main/scala/io/appthreat/console/Console.scala +++ b/console/src/main/scala/io/appthreat/console/Console.scala @@ -460,6 +460,30 @@ class Console[T <: Project]( table.add_row("Imports", "" + atom.imports.size) table.add_row("Literals", "" + atom.literal.size) table.add_row("Config Files", "" + atom.configFile.size) + table.add_row( + "Validation tags", + "[#5A7C90]" + atom.tag.name("(validation|sanitization).*").name.size + "[/#5A7C90]" + ) + table.add_row( + "Unique packages", + "[#5A7C90]" + atom.tag.name("pkg.*").name.dedup.size + "[/#5A7C90]" + ) + table.add_row( + "Framework tags", + "[#5A7C90]" + atom.tag.name("framework.*").name.size + "[/#5A7C90]" + ) + table.add_row( + "Framework input", + "[#5A7C90]" + atom.tag.name("framework-(input|route)").name.size + "[/#5A7C90]" + ) + table.add_row( + "Framework output", + "[#5A7C90]" + atom.tag.name("framework-output").name.size + "[/#5A7C90]" + ) + table.add_row( + "Crypto tags", + "[#5A7C90]" + atom.tag.name("crypto.*").name.size + "[/#5A7C90]" + ) val appliedOverlays = Overlays.appliedOverlays(atom) if appliedOverlays.nonEmpty then table.add_row("Overlays", "" + appliedOverlays.size) richConsole.clear() @@ -517,7 +541,12 @@ class Console[T <: Project]( .filterNot(_.methodFullName == "NULL") .toSet .foreach(c => - if !addedMethods.contains(c.methodFullName) then + if !addedMethods.contains( + c.methodFullName + ) && c.methodFullName != "" && !c.methodFullName.startsWith( + "{ " + ) + then mtree .add( c.methodFullName + (if c.callee( diff --git a/meta.yaml b/meta.yaml index d838e041..e18b27b8 100644 --- a/meta.yaml +++ b/meta.yaml @@ -1,4 +1,4 @@ -{% set version = "2.0.6" %} +{% set version = "2.0.7" %} package: name: chen diff --git a/platform/frontends/x2cpg/src/main/resources/tags-vocab.txt b/platform/frontends/x2cpg/src/main/resources/tags-vocab.txt index acedf886..2c0303cc 100644 --- a/platform/frontends/x2cpg/src/main/resources/tags-vocab.txt +++ b/platform/frontends/x2cpg/src/main/resources/tags-vocab.txt @@ -88,3 +88,5 @@ jndi ldif jdbm kerberos +oidc +oauth2 diff --git a/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/CdxPass.scala b/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/CdxPass.scala index a9503cfa..2acf5225 100644 --- a/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/CdxPass.scala +++ b/platform/frontends/x2cpg/src/main/scala/io/appthreat/x2cpg/passes/taggers/CdxPass.scala @@ -105,8 +105,11 @@ class CdxPass(atom: Cpg) extends CpgPass(atom): properties.foreach { ns => val nsstr = ns.hcursor.downField("value").as[String].getOrElse("") val nsname = ns.hcursor.downField("name").as[String].getOrElse("") - // Skip the SrcFile property - if nsname != "SrcFile" then + // Skip the SrcFile, ResolvedUrl, GradleProfileName, cdx: properties + if nsname != "SrcFile" && nsname != "ResolvedUrl" && nsname != "GradleProfileName" && !nsname.startsWith( + "cdx:" + ) + then nsstr .split("(\n|,)") .filterNot(_.startsWith("java.")) diff --git a/project/Versions.scala b/project/Versions.scala index 363a7655..883dc86e 100644 --- a/project/Versions.scala +++ b/project/Versions.scala @@ -1,8 +1,6 @@ /* reads version declarations from /build.sbt so that we can declare them in one place */ object Versions { val cpg = parseVersion("cpgVersion") - // Dont upgrade antlr to 4.10 or above since those versions require java 11 or higher which - // causes problems upstreams. val antlr = "4.13.1" val scalatest = "3.2.17" val cats = "3.5.3" diff --git a/pyproject.toml b/pyproject.toml index f398957a..d96b18e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "appthreat-chen" -version = "2.0.6" +version = "2.0.7" description = "Code Hierarchy Exploration Net (chen)" authors = ["Team AppThreat "] license = "Apache-2.0"