Git Product home page Git Product logo

tsunami-security-scanner's Introduction

Tsunami

build

Tsunami is a general purpose network security scanner with an extensible plugin system for detecting high severity vulnerabilities with high confidence.

To learn more about Tsunami, visit our documentation.

Tsunami relies heavily on its plugin system to provide basic scanning capabilities. All publicly available Tsunami plugins are hosted in a separate google/tsunami-security-scanner-plugins repository.

Current Status

  • Currently Tsunami is in 'pre-alpha' release for developer preview.
  • Tsunami project is currently under active development. Do expect major API changes in the future.

Quick Start

To quickly get started with Tsunami scans,

Traditional install

  1. install the following required dependencies:

    nmap >= 7.80
    ncrack >= 0.7
    
  2. start a vulnerable application that can be identified by Tsunami, e.g. an unauthenticated Jupyter Notebook server. The easiest way is to use a docker image:

    docker run --name unauthenticated-jupyter-notebook -p 8888:8888 -d jupyter/base-notebook start-notebook.sh --NotebookApp.token=''
  3. execute the following command:

    bash -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"
    

The quick_start.sh script performs the following tasks:

  1. Clone the google/tsunami-security-scanner and google/tsunami-security-scanner-plugins repos into $HOME/tsunami/repos directory.
  2. Compile all Google Tsunami plugins and move all plugin jar files into $HOME/tsunami/plugins directory.
  3. Compile the Tsunami scanner Fat Jar file and move it into $HOME/tsunami directory.
  4. Move the tsunami.yaml example config into $HOME/tsunami directory.
  5. Print example Tsunami command for scanning 127.0.0.1 using the previously generated artifacts.

Docker install

  1. start a vulnerable application that can be identified by Tsunami, e.g. an unauthenticated Jupyter Notebook server. The easiest way is to use a docker image:

    docker run --name unauthenticated-jupyter-notebook -p 8888:8888 -d jupyter/base-notebook start-notebook.sh --NotebookApp.token=''
  2. build the docker image for Tsunami:

    docker build -t tsunami .
  3. run the Tsunami image. The logs can be saved to the host machine by mounting a volume:

    docker run --network="host" -v "$(pwd)/logs":/usr/tsunami/logs tsunami
  4. debugging issues with Tsunami container. The tsunami container is based on Debian. To run debug tools simply exec into the container and install them:

    docker exec -it tsunami bash

    Contributing

Read how to contribute to Tsunami.

License

Tsunami is released under the Apache 2.0 license.

Copyright 2019 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Disclaimers

Tsunami is not an official Google product.

tsunami-security-scanner's People

Contributors

aminvakil avatar cgdecker avatar cpovirk avatar cushon avatar erikvarga avatar gaby avatar guolim avatar jeffbdye avatar jkim-hack avatar jonzeolla avatar magl0 avatar maoning avatar moritzwilhelm avatar nttran8 avatar rayanht avatar schischi avatar shrutig-287 avatar tooryx avatar yuriypobezhymov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tsunami-security-scanner's Issues

Change the default installation folder

I noticed that tsunami places itself in ~/tsunami, which is in my home directory.

This is bad practice, and is not following the XDG directory specification.

Instead, tsunami should place itself in ~/.local/share.

Install problem: Downloading gradle-6.5-bin.zip timeout

Hi

Am getting the following error when running:
bash -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh

Error:
Exception in thread "main" java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-6.5-bin.zip failed: timeout

I'm using Ubuntu 18 and as I'm behind a company proxy I've setup proxy settings for the system, for docker, curl and wget.

Any idea what I've missed?

Thanks

Execution failed for task ':compileJava'.

Task :compileJava FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':compileJava'.

Could not resolve all files for configuration ':compileClasspath'.
Could not resolve com.google.auto.value:auto-value-annotations:1.7.
Required by:
project :
project : > com.google.tsunami:tsunami-common:0.0.1
project : > com.google.tsunami:tsunami-plugin:0.0.1
project : > com.google.tsunami:tsunami-common:0.0.1 > com.google.cloud:google-cloud-storage:1.103.1 > com.google.auth:google-auth-library-oauth2-http:0.20.0
> Could not resolve com.google.auto.value:auto-value-annotations:1.7.
> Could not get resource 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.pom'.
> Could not GET 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.pom'.
> Connect to maven-central.storage-download.googleapis.com:443 [maven-central.storage-download.googleapis.com/34.64.4.112] failed: connect timed out
Could not resolve com.google.flogger:flogger:0.5.1.
Required by:
project :
project : > com.google.flogger:google-extensions:0.5.1
project : > com.google.tsunami:tsunami-common:0.0.1
project : > com.google.tsunami:tsunami-plugin:0.0.1
> Could not resolve com.google.flogger:flogger:0.5.1.
> Could not get resource 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/flogger/flogger/0.5.1/flogger-0.5.1.pom'.
> Could not GET 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/flogger/flogger/0.5.1/flogger-0.5.1.pom'.
> Connect to maven-central.storage-download.googleapis.com:443 [maven-central.storage-download.googleapis.com/34.64.4.112] failed: connect timed out
Could not resolve com.google.flogger:flogger-system-backend:0.5.1.
Required by:
project :
project : > com.google.tsunami:tsunami-common:0.0.1
> Could not resolve com.google.flogger:flogger-system-backend:0.5.1.
> Could not get resource 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/flogger/flogger-system-backend/0.5.1/flogger-system-backend-0.5.1.pom'.
> Could not GET 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/flogger/flogger-system-backend/0.5.1/flogger-system-backend-0.5.1.pom'.
> Connect to maven-central.storage-download.googleapis.com:443 [maven-central.storage-download.googleapis.com/34.64.4.112] failed: connect timed out
Could not resolve com.google.auto.value:auto-value-annotations:1.7.
Required by:
project : > com.google.tsunami:tsunami-common:0.0.1 > com.google.truth:truth:1.0.1
> Could not resolve com.google.auto.value:auto-value-annotations:1.7.
> Could not get resource 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.pom'.
> Could not GET 'https://maven-central.storage-download.googleapis.com/repos/central/data/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.pom'.
> Connect to maven-central.storage-download.googleapis.com:443 [maven-central.storage-download.googleapis.com/34.64.4.112] failed: connect timed out

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 1m 37s
1 actionable task: 1 executed

need help:(

Add config option to disable SSL verification

Is there any config option to disable SSL verification? It's very common to have invalid/misplaced ssl certificate when trying to reach host via IP (not FQDN). Also it would be very useful when certificates are self-signed.

Jul 11, 2020 3:46:08 PM com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector isWordPressService
WARNING: Unable to query 'http://<ip-address>/wp-login.php'.
javax.net.ssl.SSLPeerUnverifiedException: Hostname 10.72.101.77 not verified:
    certificate: sha256/A1CYziHdbvXQPQyM1htVAP2h7Gv55fP4jfXGQneU7VI=
    DN: CN=*.example.com, OU=Example, O=Example, L=City, C=Country
    subjectAltNames: [example.com, *.example.com]

Import project to eclipse

Hello,I tried to import this project to eclipse,but there are some missing class such like:

com.google.tsunami.proto.AddressFamily
com.google.tsunami.proto.NetworkEndpoint

I can't found any Java files defined these classes,how can i fix this problem?
error

Executing a script from the master branch is potentially unsafe

https://github.com/google/tsunami-security-scanner/blame/6314ba862884833be797e7e40d97c5b2cfc32101/README.md#L42

Executing scripts from the master branch on the target (production) system is generally considered a bad practice because:

  1. The master/main branch is a routinely updated working branch which at times may not have the bugfixes developed for a release. Therefore, scripts in it might generally contain code which is not properly tested.

  2. The quick_start.sh script does path manipulation. Bugs in path manipulation are known to happen from time to time, with disastrous effects: 1, 2, 3, 4.
    That might potentially be prevented by a sanitizing githook but there are no such hooks in the repository.

  3. The master branch would probably get renamed in the future. Hard-coding a link to it into README.md would unnecessarily complicate the transition with backward compatibility issues.

A suggestion: tag a stable release and link to it instead.

Task :tsunami-common:compileJava FAILED

I ran ./quick_start.sh and got
`
Fetching source code for Tsunami scanner ...
Already up to date.

Fetching source code for Tsunami scanner plugins ...
Already up to date.

Building all Google plugins ...

Building detectors/credentials/ncrack ...

Task :compileJava UP-TO-DATE
Task :processResources NO-SOURCE
Task :classes UP-TO-DATE
Task :jar UP-TO-DATE
Task :assemble UP-TO-DATE
Task :compileTestJava UP-TO-DATE
Task :processTestResources NO-SOURCE
Task :testClasses UP-TO-DATE
Task :test UP-TO-DATE
Task :check UP-TO-DATE
Task :build UP-TO-DATE

BUILD SUCCESSFUL in 1s
4 actionable tasks: 4 up-to-date

Building detectors/exposedui/hadoop/yarn ...

Task :compileJava UP-TO-DATE
Task :processResources NO-SOURCE
Task :classes UP-TO-DATE
Task :jar UP-TO-DATE
Task :assemble UP-TO-DATE
Task :compileTestJava UP-TO-DATE
Task :processTestResources UP-TO-DATE
Task :testClasses UP-TO-DATE
Task :test UP-TO-DATE
Task :check UP-TO-DATE
Task :build UP-TO-DATE

BUILD SUCCESSFUL in 853ms
5 actionable tasks: 5 up-to-date

Building detectors/exposedui/jenkins ...

Task :compileJava UP-TO-DATE
Task :processResources NO-SOURCE
Task :classes UP-TO-DATE
Task :jar UP-TO-DATE
Task :assemble UP-TO-DATE
Task :compileTestJava UP-TO-DATE
Task :processTestResources UP-TO-DATE
Task :testClasses UP-TO-DATE
Task :test UP-TO-DATE
Task :check UP-TO-DATE
Task :build UP-TO-DATE

BUILD SUCCESSFUL in 990ms
5 actionable tasks: 5 up-to-date

Building detectors/exposedui/jupyter ...

Task :compileJava UP-TO-DATE
Task :processResources NO-SOURCE
Task :classes UP-TO-DATE
Task :jar UP-TO-DATE
Task :assemble UP-TO-DATE
Task :compileTestJava UP-TO-DATE
Task :processTestResources NO-SOURCE
Task :testClasses UP-TO-DATE
Task :test UP-TO-DATE
Task :check UP-TO-DATE
Task :build UP-TO-DATE

BUILD SUCCESSFUL in 855ms
4 actionable tasks: 4 up-to-date

Building detectors/exposedui/wordpress ...

Task :compileJava UP-TO-DATE
Task :processResources NO-SOURCE
Task :classes UP-TO-DATE
Task :jar UP-TO-DATE
Task :assemble UP-TO-DATE
Task :compileTestJava UP-TO-DATE
Task :processTestResources UP-TO-DATE
Task :testClasses UP-TO-DATE
Task :test UP-TO-DATE
Task :check UP-TO-DATE
Task :build UP-TO-DATE

BUILD SUCCESSFUL in 820ms
5 actionable tasks: 5 up-to-date

Building portscan/nmap ...

Task :compileJava UP-TO-DATE
Task :processResources NO-SOURCE
Task :classes UP-TO-DATE
Task :jar UP-TO-DATE
Task :assemble UP-TO-DATE
Task :compileTestJava UP-TO-DATE
Task :processTestResources UP-TO-DATE
Task :testClasses UP-TO-DATE
Task :test UP-TO-DATE
Task :check UP-TO-DATE
Task :build UP-TO-DATE

BUILD SUCCESSFUL in 990ms
5 actionable tasks: 5 up-to-date

Building Tsunami scanner jar file ...

Task :tsunami-proto:extractIncludeProto UP-TO-DATE
Task :tsunami-proto:extractProto UP-TO-DATE
Task :tsunami-proto:generateProto
Task :tsunami-proto:compileJava UP-TO-DATE
Task :tsunami-proto:processResources UP-TO-DATE
Task :tsunami-proto:classes UP-TO-DATE
Task :tsunami-proto:jar UP-TO-DATE

Task :tsunami-common:compileJava FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
7 actionable tasks: 2 executed, 5 up-to-date
`

Then I ran ./gradlew shadowJar --stacktrace --debug and got
`2020-07-09T10:09:11.577-0400 [INFO] [org.gradle.internal.nativeintegration.services.NativeServices] Initialized native services in: /Users/gbiago909/.gradle/native
2020-07-09T10:09:11.647-0400 [LIFECYCLE] [org.gradle.launcher.cli.DebugLoggerWarningAction]
#############################################################################
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

Debug level logging will leak security sensitive information!

https://docs.gradle.org/6.5/userguide/logging.html#sec:debug_security
#############################################################################

2020-07-09T10:09:11.822-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Executing build d7a675d5-b2cc-4130-abeb-17df7abeb61b in daemon client {pid=8913}
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface utun1
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:66a4:8431:f539:cd5d%utun1
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface utun0
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:b78a:ec72:3ca3:c02d%utun0
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface llw0
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:4456:b7ff:fed7:c9e6%llw0
2020-07-09T10:09:11.834-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface awdl0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:4456:b7ff:fed7:c9e6%awdl0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface en6
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:aede:48ff:fe00:1122%en6
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface utun2
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2001:558:1401:11:0:0:0:8f38%utun2
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:aede:48ff:fe00:1122%utun2
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /10.166.100.126
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface en0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? false
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2601:43:3:3190:0:0:0:e8bd%en0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2601:43:3:3190:dcce:bbd8:464f:5987%en0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /2601:43:3:3190:1098:5b1c:db92:dde8%en0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /fe80:0:0:0:14:6b:3ca5:5594%en0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding remote address /10.0.0.49
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface lo0
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? true
2020-07-09T10:09:11.837-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Ignoring remote address on loopback interface /fe80:0:0:0:0:0:0:1%lo0
2020-07-09T10:09:11.838-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /0:0:0:0:0:0:0:1%lo0
2020-07-09T10:09:11.838-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /127.0.0.1
2020-07-09T10:09:11.847-0400 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
2020-07-09T10:09:11.849-0400 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
2020-07-09T10:09:11.852-0400 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
2020-07-09T10:09:11.860-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpOutgoingConnector] Attempting to connect to [2d5e703e-1de4-4738-bd83-77db938c3b45 port:59825, addresses:[/127.0.0.1]].
2020-07-09T10:09:11.860-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpOutgoingConnector] Trying to connect to address /127.0.0.1.
2020-07-09T10:09:11.871-0400 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpOutgoingConnector] Connected to address /127.0.0.1:59825.
2020-07-09T10:09:11.887-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Connected to daemon DaemonInfo{pid=7866, address=[2d5e703e-1de4-4738-bd83-77db938c3b45 port:59825, addresses:[/127.0.0.1]], state=Idle, lastBusy=1594303747133, context=DefaultDaemonContext[uid=25979027-ae3c-4afd-8d88-e5b7ca850970,javaHome=/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home,daemonRegistryDir=/Users/gbiago909/.gradle/daemon,pid=7866,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]}. Dispatching request Build{id=d7a675d5-b2cc-4130-abeb-17df7abeb61b, currentDir=/opt/tsunami-security-scanner}.
2020-07-09T10:09:11.887-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: dispatching class org.gradle.launcher.daemon.protocol.Build
2020-07-09T10:09:11.892-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Received result org.gradle.launcher.daemon.protocol.BuildStarted@2fba3fc4 from daemon DaemonInfo{pid=7866, address=[2d5e703e-1de4-4738-bd83-77db938c3b45 port:59825, addresses:[/127.0.0.1]], state=Idle, lastBusy=1594303747133, context=DefaultDaemonContext[uid=25979027-ae3c-4afd-8d88-e5b7ca850970,javaHome=/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home,daemonRegistryDir=/Users/gbiago909/.gradle/daemon,pid=7866,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]} (build should be starting).
2020-07-09T10:09:11.892-0400 [INFO] [org.gradle.launcher.daemon.server.exec.LogToClient] The client will now receive all logging from the daemon (pid: 7866). The daemon log file: /Users/gbiago909/.gradle/daemon/6.5/daemon-7866.out.log
2020-07-09T10:09:11.892-0400 [INFO] [org.gradle.launcher.daemon.server.exec.LogAndCheckHealth] Starting 16th build in daemon [uptime: 26 mins 40.327 secs, performance: 100%, non-heap usage: 35% of 268.4 MB]
2020-07-09T10:09:11.892-0400 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] The daemon has started executing the build.
2020-07-09T10:09:11.892-0400 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] Executing build with daemon context: DefaultDaemonContext[uid=25979027-ae3c-4afd-8d88-e5b7ca850970,javaHome=/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home,daemonRegistryDir=/Users/gbiago909/.gradle/daemon,pid=7866,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]
2020-07-09T10:09:11.896-0400 [INFO] [org.gradle.internal.work.DefaultWorkerLeaseService] Using 12 worker leases.
2020-07-09T10:09:11.913-0400 [DEBUG] [org.gradle.deployment.internal.DefaultDeploymentRegistry] Stopping 0 deployment handles
2020-07-09T10:09:11.913-0400 [DEBUG] [org.gradle.deployment.internal.DefaultDeploymentRegistry] Stopped deployment handles
2020-07-09T10:09:11.926-0400 [DEBUG] [org.gradle.launcher.daemon.server.exec.ExecuteBuild] The daemon has finished executing the build.
2020-07-09T10:09:11.959-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientInputForwarder] Dispatching close input message: org.gradle.launcher.daemon.protocol.CloseInput@7f5a515e
2020-07-09T10:09:12.072-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 16: dispatching class org.gradle.launcher.daemon.protocol.CloseInput
2020-07-09T10:09:12.074-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClient] Received result Success[value=org.gradle.launcher.exec.BuildActionResult@327af41b] from daemon DaemonInfo{pid=7866, address=[2d5e703e-1de4-4738-bd83-77db938c3b45 port:59825, addresses:[/127.0.0.1]], state=Idle, lastBusy=1594303747133, context=DefaultDaemonContext[uid=25979027-ae3c-4afd-8d88-e5b7ca850970,javaHome=/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home,daemonRegistryDir=/Users/gbiago909/.gradle/daemon,pid=7866,idleTimeout=10800000,priority=NORMAL,daemonOpts=--add-opens,java.base/java.util=ALL-UNNAMED,--add-opens,java.base/java.lang=ALL-UNNAMED,--add-opens,java.base/java.lang.invoke=ALL-UNNAMED,--add-opens,java.prefs/java.util.prefs=ALL-UNNAMED,-XX:MaxMetaspaceSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]} (build should be done).
2020-07-09T10:09:12.074-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: dispatching class org.gradle.launcher.daemon.protocol.Finished
2020-07-09T10:09:12.074-0400 [DEBUG] [org.gradle.launcher.daemon.client.DaemonClientConnection] thread 1: connection stop
2020-07-09T10:09:12.080-0400 [LIFECYCLE] [org.gradle.launcher.cli.DebugLoggerWarningAction]
#############################################################################
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

Debug level logging will leak security sensitive information!

https://docs.gradle.org/6.5/userguide/logging.html#sec:debug_security
#############################################################################
`

I ran this on MAC OSX 10.15.5 Catalina Darwin HQSML-1689616 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64

Kali 2020.2 Exception: Error parsing Nmap result document

Caught exception when initiated scan in accordance with workflow described in README.md:

  1. Loaded jupyter in docker (active, verified via netstat, browser);
  2. Oneliner for Tsunami installation;
  3. Tsunami launch cmd:
cd /root/tsunami && \                                                                                                                                                                       
java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/root/tsunami/plugins/*" \                                                                                                                    
  -Dtsunami-config.location=/root/tsunami/tsunami.yaml \                                                                                                                                    
  com.google.tsunami.main.cli.TsunamiCli \                                                                                                                                                  
  --ip-v4-target=127.0.0.1 \                                                                                                                                                                
  --scan-results-local-output-format=JSON \                                                                                                                                                 
  --scan-results-local-output-filename=/tmp/tsunami-output.json

OS - brand fresh Kali in VirtualBox, just from offsec page, version:

root@kali:~# cat /etc/*release
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2020.2"
VERSION_ID="2020.2"
VERSION_CODENAME="kali-rolling"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
root@kali:~# uname -a
Linux kali 5.5.0-kali2-amd64 #1 SMP Debian 5.5.17-1kali1 (2020-04-21) x86_64 GNU/Linux

Nmap and Ncrack versions (up-to-date):

Package: nmap
Version: 7.80+dfsg1-2kali2
...
Package: ncrack
Version: 0.7+debian-1

Output log fragment with fail information:

...
INFO: Executing the following command: '/usr/bin/nmap --unprivileged -Pn -n -sT -sV --version-intensity 5 -T4 --script banner 127.0.0.1 -oX /tmp/nmap8784088487303244937.report'            
Jul 10, 2020 9:20:16 AM com.google.tsunami.plugins.portscan.nmap.client.parser.NmapResultHandler startDocument
INFO: Start parsing Nmap result document.                                                     
Jul 10, 2020 9:20:16 AM com.google.tsunami.plugin.PluginExecutorImpl buildFailedResult        
WARNING: Plugin '/Tsunami Team ([email protected])/PORT_SCAN/NmapPortScanner/0.1' failed.                                                                                              
Jul 10, 2020 9:20:16 AM com.google.tsunami.workflow.DefaultScanningWorkflow onExecutionError  
SEVERE: Tsunami scan failed, aborting workflow!!!                                             
com.google.tsunami.plugin.PluginExecutionException: (Tsunami error PLUGIN_EXECUTION_ERROR): Plugin execution error on '/Tsunami Team ([email protected])/PORT_SCAN/NmapPortScanner/0.1'
.                                                                                             
        at com.google.tsunami.plugin.PluginExecutorImpl.wrapException(PluginExecutorImpl.java:100)      
...

Full Tsunami output here: https://gist.github.com/dtrizna/74d81e33691ee379193c7032e45b9d93

NcrackClient error

java --version
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

ncrack --version

Ncrack version 0.7 ( http://ncrack.org )
Modules: SSH, RDP, FTP, Telnet, HTTP(S), Wordpress, POP3(S), IMAP, CVS, SMB, VNC, SIP, Redis, PostgreSQL, MQTT, MySQL, MSSQL, MongoDB, Cassandra, WinRM, OWA, DICOM

nmap --version
Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.1d nmap-libssh2-1.8.2 libz-1.2.11 libpcre-8.39 libpcap-1.9.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

wsl2 - ubuntu 20.04

When trying:
cd /root/tsunami &&
java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/root/tsunami/plugins/*"
-Dtsunami-config.location=/root/tsunami/tsunami.yaml
com.google.tsunami.main.cli.TsunamiCli
--ip-v4-target=127.0.0.1
--scan-results-local-output-format=JSON
--scan-results-local-output-filename=/tmp/tsunami-output.json

Get error:

Jun 30, 2020 10:26:21 AM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 1.759 s
Jun 30, 2020 10:26:21 AM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorConfigs
Jun 30, 2020 10:26:21 AM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.portscan.nmap.NmapPortScannerConfigs
Jun 30, 2020 10:26:21 AM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jun 30, 2020 10:26:21 AM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jun 30, 2020 10:26:21 AM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector is registered.
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector is registered.
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector is registered.
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector is registered.
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector is registered.
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.portscan.nmap.NmapPortScanner
Jun 30, 2020 10:26:21 AM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.portscan.nmap.NmapPortScanner is registered.
Jun 30, 2020 10:26:21 AM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. No implementation for com.google.tsunami.plugins.detectors.credentials.ncrack.client.NcrackClient (with no qualifier annotation) was bound, and could not find an injectable constructor. Injectable classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
    at com.google.tsunami.plugins.detectors.credentials.ncrack.client.NcrackClient.class(NcrackClient.java:148)
    while locating com.google.inject.Provider<com.google.tsunami.plugins.detectors.credentials.ncrack.client.NcrackClient> for the 1st parameter of com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackCredentialTester.(NcrackCredentialTester.java:79)
    at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorBootstrapModule.configurePlugin(NcrackWeakCredentialDetectorBootstrapModule.java:40) (via modules: com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule -> com.google.tsunami.plugin.PluginLoadingModule -> com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorBootstrapModule)

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:554)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:161)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:135)

tnx

java.io.IOException: unexpected end of stream on

My env java setups on Mac:

  • openjdk 14.0.1 2020-04-14
  • OpenJDK Runtime Environment (build 14.0.1+7)
  • OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

While I'm scanning the target with generated command from script, I am encountering the error for every plugin trys:

WARNING: Unable to query Hadoop Yarn cluster info page.
java.io.IOException: unexpected end of stream on Connection{IP_ADDRESS:80, proxy=DIRECT hostAddress=/IP_ADDRESS:80 cipherSuite=none protocol=http/1.1}

(not only for hadoop, happens for every plugins)
thanks for the tool btw :)

Plugin Repositories (could not resolve plugin artifact 'net.ltgt.errorprone:net.ltgt.errorprone.gradle.plugin:1.1.1')

when i use quick_start.sh ,i fund errors like bellow

  • Where:
    Build file '/root/tsunami/repos/tsunami-security-scanner/build.gradle' line: 4

  • What went wrong:
    Plugin [id: 'net.ltgt.errorprone', version: '1.1.1', apply: false] was not found in any of the following sources:

  • Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
  • Plugin Repositories (could not resolve plugin artifact 'net.ltgt.errorprone:net.ltgt.errorprone.gradle.plugin:1.1.1')
    Searched in the following repositories:
    Gradle Central Plugin Repository
  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 12s

how can i fix this error?

No implementation for java.util.Map

Ran the command from the howto doc as follow:

java \                                                                                                                                                    ๎‚ฒ 1 โ†ต ๎‚ฒ akashsullia 
     -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:<path-to-plugin>/*" \
     -Dtsunami.config.location=<path-to>/tsunami-security-scanner/tsunami.yaml \
     com.google.tsunami.main.cli.TsunamiCli \
     --ip-v4-target=<some-ip> \
     --scan-results-local-output-format=JSON \
     --scan-results-local-output-filename=results.json

and received the following error:

Jul 10, 2020 3:16:24 AM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 3.007 s
Jul 10, 2020 3:16:25 AM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jul 10, 2020 3:16:25 AM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jul 10, 2020 3:16:25 AM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
Jul 10, 2020 3:16:25 AM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for java.util.Map<com.google.tsunami.plugin.PluginDefinition, javax.inject.Provider<com.google.tsunami.plugin.TsunamiPlugin>> was bound.
  while locating java.util.Map<com.google.tsunami.plugin.PluginDefinition, javax.inject.Provider<com.google.tsunami.plugin.TsunamiPlugin>>
    for the 1st parameter of com.google.tsunami.plugin.PluginManager.<init>(PluginManager.java:41)
  while locating com.google.tsunami.plugin.PluginManager
    for the 1st parameter of com.google.tsunami.workflow.DefaultScanningWorkflow.<init>(DefaultScanningWorkflow.java:100)
  while locating com.google.tsunami.workflow.DefaultScanningWorkflow
    for the 1st parameter of com.google.tsunami.main.cli.TsunamiCli.<init>(TsunamiCli.java:63)
  while locating com.google.tsunami.main.cli.TsunamiCli

1 error
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1120)
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1078)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1131)
        at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:139)

I tried running it with both jdk-8 and jdk-14.

Scan a whole subnet?

Hello,

Pardon what could be a super newb question, but will this scanner only cover a single host at a time? I didn't see any command line flags for hitting a whole subnet or text file full of hosts?

Thanks,
Brian

Not able to scan 127.0.0.1

I set the Path=C:\Users\KING\tsunami\profiles\ in environment variables and executed the below command.
java -Dtsunami-config.location=C:\Users\KING\tsunami\tsunami.yaml -Xmx100m -jar C:\Users\KING\tsunami\tsunami-main-0.0.2-SNAPSHOT-cli.jar TsunamiCli --gcs-archiver-chunk-size-in-bytes=1000 --gcs-archiver-chunk-upload-threshold-in-bytes=1000000 --hostname-target=localhost --ip-v4-target=127.0.0.1 --ip-v6-target=127.0.0.1 --scan-results-gcs-output-file-url=\tmp\tsunami-output-file-url.txt --scan-results-gcs-output-format=JSON --scan-results-local-output-filename=\tmp\tsunami-output.json --scan-results-local-output-format=JSON

TsunamiCli is able to load, but it is showing the commandline arguments are not setted properly. Please see the below exception:

Jul 16, 2020 4:25:43 PM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 6.237 s
Jul 16, 2020 4:25:43 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jul 16, 2020 4:25:43 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jul 16, 2020 4:25:43 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
Usage: TsunamiCli [options]
Options:
--gcs-archiver-chunk-size-in-bytes
The size of the data chunk when GCS archiver uploads data to Cloud
Storage.
Default: 1000
--gcs-archiver-chunk-upload-threshold-in-bytes
The default data size threshold in bytes to enable chunk upload to GCS.
Default: 1000000
--hostname-target
The hostname of the scanning target.
--ip-v4-target
The IP v4 address of the scanning target.
--ip-v6-target
The IP v6 address of the scanning target.
--scan-results-gcs-output-file-url
The GCS file url for the uploaded scanning results.
--scan-results-gcs-output-format
The format of the scanning results uploaded to GCS bucket.
Possible Values: [BIN_PROTO, JSON]
--scan-results-local-output-filename
The local output filename of the scanning results.
--scan-results-local-output-format
The format of the scanning results saved as local file.
Possible Values: [BIN_PROTO, JSON]

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/C:/Users/KING/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jul 16, 2020 4:25:43 PM com.google.inject.internal.MessageProcessor visit
INFO: An exception was caught and reported. Message: com.beust.jcommander.ParameterException: Was passed main parameter 'TsunamiCli' but no main parameter was defined
com.beust.jcommander.ParameterException: Was passed main parameter 'TsunamiCli' but no main parameter was defined
at com.beust.jcommander.JCommander.getMainParameter(JCommander.java:914)
at com.beust.jcommander.JCommander.parseValues(JCommander.java:759)
at com.beust.jcommander.JCommander.parse(JCommander.java:282)
at com.beust.jcommander.JCommander.parse(JCommander.java:265)
at com.google.tsunami.common.cli.CliOptionsModule.configure(CliOptionsModule.java:70)
at com.google.inject.AbstractModule.configure(AbstractModule.java:61)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:347)
at com.google.inject.AbstractModule.install(AbstractModule.java:103)
at com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule.configure(TsunamiCli.java:113)
at com.google.inject.AbstractModule.configure(AbstractModule.java:61)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:347)
at com.google.inject.spi.Elements.getElements(Elements.java:104)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:137)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:105)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:137)

Jul 16, 2020 4:25:43 PM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. An exception was caught and reported. Message: Was passed main parameter 'TsunamiCli' but no main parameter was defined
    at com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule.configure(TsunamiCli.java:113) (via modules: com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule -> com.google.tsunami.common.cli.CliOptionsModule)

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:554)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:161)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:137)
Caused by: com.beust.jcommander.ParameterException: Was passed main parameter 'TsunamiCli' but no main parameter was defined
at com.beust.jcommander.JCommander.getMainParameter(JCommander.java:914)
at com.beust.jcommander.JCommander.parseValues(JCommander.java:759)
at com.beust.jcommander.JCommander.parse(JCommander.java:282)
at com.beust.jcommander.JCommander.parse(JCommander.java:265)
at com.google.tsunami.common.cli.CliOptionsModule.configure(CliOptionsModule.java:70)
at com.google.inject.AbstractModule.configure(AbstractModule.java:61)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:347)
at com.google.inject.AbstractModule.install(AbstractModule.java:103)
at com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule.configure(TsunamiCli.java:113)
at com.google.inject.AbstractModule.configure(AbstractModule.java:61)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:347)
at com.google.inject.spi.Elements.getElements(Elements.java:104)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:137)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:105)
... 4 more

Please suggest how to proceed further.

Thanks
Peresh

Chore: Compilation warning due to deprecated JsonParser

Description

The following warning appears at build-time:

Note: /usr/repos/tsunami-security-scanner/common/src/main/java/com/google/tsunami/common/net/http/HttpResponse.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

According to the gson documentation the JsonParser constructor has been deprecated and static methods should be used directly instead.

WARNING: An illegal reflective access operation has occurred

When I try to run the scanner after following the installation with quick_start.sh on an Ubuntu system I get a lot of Java errors and it doesn't seem to work:

Jun 18, 2020 7:27:42 PM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 944.2 ms
Jun 18, 2020 7:27:42 PM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.portscan.nmap.NmapPortScannerConfigs
Jun 18, 2020 7:27:42 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jun 18, 2020 7:27:42 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jun 18, 2020 7:27:42 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector is registered.
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector is registered.
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector is registered.
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector is registered.
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector is registered.
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.portscan.nmap.NmapPortScanner
Jun 18, 2020 7:27:42 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.portscan.nmap.NmapPortScanner is registered.
Jun 18, 2020 7:27:42 PM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
	at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2357)
	at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:243)
	at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:115)
	at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:717)
	at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:941)
	at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:863)
	at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:300)
	at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:231)
	at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:949)
	at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:48)
	at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:60)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:135)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:135)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 19 more

AutoValue_PortRange.java:14: error: cannot find symbol

Got these similar errors:

symbol: class ฤฑnt
location: class AutoValue_PortRange
/home/xx/tsunami/repos/tsunami-security-scanner-plugins/google/portscan/nmap/build/generated/sources/annotationProcessor/java/main/com/google/tsunami/plugins/portscan/nmap/client/data/AutoValue_PortRange.java:14: error: cannot find symbol
ฤฑnt endPort) {
^
symbol: class ฤฑnt
location: class AutoValue_PortRange
/home/xx/tsunami/repos/tsunami-security-scanner-plugins/google/portscan/nmap/build/generated/sources/annotationProcessor/java/main/com/google/tsunami/plugins/portscan/nmap/client/data/AutoValue_PortRange.java:20: error: cannot find symbol
ฤฑnt startPort() {
^
symbol: class ฤฑnt
location: class AutoValue_PortRange
/home/xx/tsunami/repos/tsunami-security-scanner-plugins/google/portscan/nmap/build/generated/sources/annotationProcessor/java/main/com/google/tsunami/plugins/portscan/nmap/client/data/AutoValue_PortRange.java:25: error: cannot find symbol
ฤฑnt endPort() {
^
symbol: class ฤฑnt
location: class AutoValue_PortRange
9 errors

I tried with LANG=EN prefix also, same.
I tried to fix those shown files, but files somehow overwritten and broken again.

OS info:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"

$ java --version
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Thanks.

[FR] Refactor to Golang

Semi-serious post, Google & Oracle arenโ€™t on the best of footing.

Why use Java over something more open, for example Googleโ€™s own GoLang?

Tsunami scaling abilities

Hey, I'm just curious if there are any known limits for Tsunami. Is there any experimental data showing it can scale to a certain number of IPs per second? Thanks!

Illegal reflective access ( Use --illegal-access=warn)

hi all, i've use this command:

cd /root/tsunami && \
java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/root/tsunami/plugins/*" \
  -Dtsunami-config.location=/root/tsunami/tsunami.yaml \
  com.google.tsunami.main.cli.TsunamiCli \
  --ip-v4-target=192.168.238.138 \
  --scan-results-local-output-format=JSON \
  --scan-results-local-output-filename=/tmp/testdireport.json

and i've this result:

lug 21, 2020 12:02:52 PM com.google.tsunami.main.cli.TsunamiCli main
INFORMAZIONI: Full classpath scan took 10.14 s
lug 21, 2020 12:02:53 PM com.google.tsunami.common.config.ConfigModule configure
INFORMAZIONI: Found Tsunami config class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorConfigs
lug 21, 2020 12:02:53 PM com.google.tsunami.common.config.ConfigModule configure
INFORMAZIONI: Found Tsunami config class: com.google.tsunami.plugins.portscan.nmap.NmapPortScannerConfigs
lug 21, 2020 12:02:53 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFORMAZIONI: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
lug 21, 2020 12:02:53 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFORMAZIONI: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
lug 21, 2020 12:02:53 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFORMAZIONI: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFORMAZIONI: Found plugin class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFORMAZIONI: Plugin class com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector is registered.
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFORMAZIONI: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFORMAZIONI: Plugin class com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector is registered.
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFORMAZIONI: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFORMAZIONI: Plugin class com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector is registered.
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFORMAZIONI: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFORMAZIONI: Plugin class com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector is registered.
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFORMAZIONI: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFORMAZIONI: Plugin class com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector is registered.
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFORMAZIONI: Found plugin class: com.google.tsunami.plugins.portscan.nmap.NmapPortScanner
lug 21, 2020 12:02:53 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFORMAZIONI: Plugin class com.google.tsunami.plugins.portscan.nmap.NmapPortScanner is registered.
lug 21, 2020 12:02:53 PM com.google.tsunami.main.cli.TsunamiCli run
INFORMAZIONI: TsunamiCli starting...
lug 21, 2020 12:02:53 PM com.google.tsunami.workflow.DefaultScanningWorkflow runAsync
INFORMAZIONI: Staring Tsunami scanning workflow.
lug 21, 2020 12:02:53 PM com.google.tsunami.workflow.DefaultScanningWorkflow scanPorts
INFORMAZIONI: Starting port scanning phase of the scanning workflow.
lug 21, 2020 12:02:53 PM com.google.tsunami.plugins.portscan.nmap.NmapPortScanner scan
INFORMAZIONI: Starting nmap scan.
lug 21, 2020 12:02:54 PM com.google.tsunami.common.command.CommandExecutor execute
INFORMAZIONI: Executing the following command: '/usr/bin/nmap --unprivileged -Pn -n -sT -sV --version-intensity 5 -T4 --script banner 192.168.238.138 -oX /tmp/nmap10473025464739146339.report'
lug 21, 2020 12:03:05 PM com.google.tsunami.plugins.portscan.nmap.client.parser.NmapResultHandler startDocument
INFORMAZIONI: Start parsing Nmap result document.
lug 21, 2020 12:03:05 PM com.google.tsunami.plugins.portscan.nmap.client.parser.NmapResultHandler endDocument
INFORMAZIONI: Finished parsing Nmap result document.
lug 21, 2020 12:03:05 PM com.google.tsunami.plugins.portscan.nmap.NmapPortScanner scan
INFORMAZIONI: Finished nmap scan on target '192.168.238.138' in 11.86 s.
lug 21, 2020 12:03:05 PM com.google.tsunami.plugins.portscan.nmap.NmapPortScanner extractServicesFromNmapRun
INFORMAZIONI: Building PortScanningReport from Nmap result.
lug 21, 2020 12:03:05 PM com.google.tsunami.workflow.DefaultScanningWorkflow fingerprintNetworkServices
INFORMAZIONI: Port scanning phase done, moving to service fingerprinting phase with '0' fingerprinter(s) selected.
lug 21, 2020 12:03:05 PM com.google.tsunami.workflow.DefaultScanningWorkflow detectVulnerabilities
INFORMAZIONI: Service fingerprinting phase done, moving to vuln detection phase.
lug 21, 2020 12:03:05 PM com.google.tsunami.workflow.DefaultScanningWorkflow generateScanResults
INFORMAZIONI: Tsunami scanning workflow done. Generating scan results.
lug 21, 2020 12:03:05 PM com.google.tsunami.workflow.DefaultScanningWorkflow lambda$runAsync$0
INFORMAZIONI: Tsunami scanning workflow traces:
  Port scanning phase (11.91 s) with 1 plugin(s):
    /Tsunami Team ([email protected])/PORT_SCAN/NmapPortScanner/0.1
  Service fingerprinting phase (14.37 ms) with 0 plugin(s):
    
  Vuln detection phase (2.242 ms) with 0 plugin(s):
    
  # of detected vulnerability: 0.

I have to insert the "--illegal-access=warn" ? like:

cd /root/tsunami && \
java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/root/tsunami/plugins/*" --illegal-access=warn\
  -Dtsunami-config.location=/root/tsunami/tsunami.yaml \
  com.google.tsunami.main.cli.TsunamiCli \
  --ip-v4-target=192.168.238.138 \
  --scan-results-local-output-format=JSON \
  --scan-results-local-output-filename=/tmp/testdireport.json

Exception in thread "main" javax.net.ssl.SSLException: readHandshakeRecord

Hi everyone, thanks for this great project!
Im trying to install it following the quick_start.sh command, but im having this issue.

`
Fetching source code for Tsunami scanner ...
Cloning into 'tsunami-security-scanner'...
remote: Enumerating objects: 403, done.
remote: Counting objects: 100% (403/403), done.
remote: Compressing objects: 100% (194/194), done.
remote: Total 403 (delta 147), reused 381 (delta 125), pack-reused 0
Receiving objects: 100% (403/403), 235.64 KiB | 652.00 KiB/s, done.
Resolving deltas: 100% (147/147), done.

Fetching source code for Tsunami scanner plugins ...
Cloning into 'tsunami-security-scanner-plugins'...
remote: Enumerating objects: 377, done.
remote: Counting objects: 100% (377/377), done.
remote: Compressing objects: 100% (154/154), done.
remote: Total 377 (delta 75), reused 353 (delta 51), pack-reused 0
Receiving objects: 100% (377/377), 159.61 KiB | 501.00 KiB/s, done.
Resolving deltas: 100% (75/75), done.

Building all Google plugins ...

Building detectors/credentials/ncrack ...
Downloading https://services.gradle.org/distributions/gradle-5.2.1-bin.zip

Exception in thread "main" javax.net.ssl.SSLException: readHandshakeRecord
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1064)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:395)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
at org.gradle.wrapper.Download.downloadInternal(Download.java:67)
at org.gradle.wrapper.Download.download(Download.java:52)
at org.gradle.wrapper.Install$1.call(Install.java:62)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:62)
Suppressed: java.net.SocketException: Broken pipe (Write failed)
at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:351)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:398)
... 13 more
Caused by: java.net.SocketException: Broken pipe (Write failed)
at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeChangeCipherSpec(SSLSocketOutputRecord.java:221)
at java.base/sun.security.ssl.OutputRecord.changeWriteCiphers(OutputRecord.java:162)
at java.base/sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecProducer.produce(ChangeCipherSpec.java:118)
at java.base/sun.security.ssl.Finished$T12FinishedProducer.onProduceFinished(Finished.java:395)
at java.base/sun.security.ssl.Finished$T12FinishedProducer.produce(Finished.java:379)
at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)
at java.base/sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(ServerHelloDone.java:182)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1144)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1055)
... 14 more
`

How can I solve it? What Im missing?

Error: Could not find or load main class com.google.tsunami.main.cli.TsunamiCli

After a successful build of the quick start script, I get the following output:

Build successful, execute the following command to scan 127.0.0.1:

cd /c/Users/Mark/tsunami && \
java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/c/Users/Mark/tsunami/plugins/*" \
  -Dtsunami-config.location=/c/Users/Mark/tsunami/tsunami.yaml \
  com.google.tsunami.main.cli.TsunamiCli \
  --ip-v4-target=127.0.0.1 \
  --scan-results-local-output-format=JSON \
  --scan-results-local-output-filename=/tmp/tsunami-output.json

However, if I copy paste the command I am getting an error that the main class cannot be found:

Mark@TheBeast MINGW64 ~/Downloads/tsunami-security-scanner (master)
$ cd /c/Users/Mark/tsunami && \
> java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/c/Users/Mark/tsunami/plugins/*" \
>   -Dtsunami-config.location=/c/Users/Mark/tsunami/tsunami.yaml \
>   com.google.tsunami.main.cli.TsunamiCli \
>   --ip-v4-target=127.0.0.1 \
>   --scan-results-local-output-format=JSON \
>   --scan-results-local-output-filename=/tmp/tsunami-output.json
Error: Could not find or load main class com.google.tsunami.main.cli.TsunamiCli

The content of ~/tsunami is:

Mark@TheBeast MINGW64 ~/tsunami
$ ls -lAh
total 16M
drwxr-xr-x 1 Mark 197121   0 Jul 12 18:28 plugins/
drwxr-xr-x 1 Mark 197121   0 Jul 12 18:28 repos/
-rw-r--r-- 1 Mark 197121 132 Jul 12 18:34 tsunami.yaml
-rw-r--r-- 1 Mark 197121 16M Jul 12 18:34 tsunami-main-0.0.2-SNAPSHOT-cli.jar

Application versions:

Mark@TheBeast MINGW64 ~/tsunami
$ nmap --version
Nmap version 7.80 ( https://nmap.org )
Platform: i686-pc-windows-windows
Compiled with: nmap-liblua-5.3.5 openssl-1.0.2s nmap-libssh2-1.8.2 nmap-libz-1.2.11 nmap-libpcre-7.6 Npcap-0.9982 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: iocp poll select

Mark@TheBeast MINGW64 ~/tsunami
$ ncrack --version

Ncrack version 0.7 ( http://ncrack.org )
Modules: SSH, RDP, FTP, Telnet, HTTP(S), Wordpress, POP3(S), IMAP, CVS, SMB, VNC, SIP, Redis, PostgreSQL, MQTT, MySQL, MSSQL, MongoDB, Cassandra, WinRM, OWA, DICOM

FAILURE: Build failed with an exception

Hello,
I am seeing a new error message,attached is the complete export after running script
Operating system and Dependencies:
OS: ubuntu 20.04
Nmap: 7.80
Ncrack: 0.7
Java: installed (sudo apt install openjdk-11-jdk)

EXPORT:
root@ubuntu:~# sudo bash -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"

Fetching source code for Tsunami scanner ...
From https://github.com/google/tsunami-security-scanner

  • branch master -> FETCH_HEAD
    Already up to date.

Fetching source code for Tsunami scanner plugins ...
From https://github.com/google/tsunami-security-scanner-plugins

  • branch master -> FETCH_HEAD
    Already up to date.

Building all Google plugins ...

Building detectors/credentials/ncrack ...
Downloading https://services.gradle.org/distributions/gradle-6.5-bin.zip
.........10%..........20%..........30%..........40%.........50%..........60%..........70%..........80%.........90%..........100%

Welcome to Gradle 6.5!

Here are the highlights of this release:

  • Experimental file-system watching
  • Improved version ordering
  • New samples

For more details see https://docs.gradle.org/6.5/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

Task :test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.3/2ea992d6d7bdcac7a43111a95d182a4c42eb5ff7/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

BUILD SUCCESSFUL in 1m 52s
4 actionable tasks: 4 executed

Building detectors/exposedui/hadoop/yarn ...

Task :test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.3/2ea992d6d7bdcac7a43111a95d182a4c42eb5ff7/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

BUILD SUCCESSFUL in 2s
5 actionable tasks: 5 executed

Building detectors/exposedui/jenkins ...

Task :test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.3/2ea992d6d7bdcac7a43111a95d182a4c42eb5ff7/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

BUILD SUCCESSFUL in 2s
5 actionable tasks: 5 executed

Building detectors/exposedui/jupyter ...

Task :test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.3/2ea992d6d7bdcac7a43111a95d182a4c42eb5ff7/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

BUILD SUCCESSFUL in 2s
4 actionable tasks: 4 executed

Building detectors/exposedui/wordpress ...

Task :test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.3/2ea992d6d7bdcac7a43111a95d182a4c42eb5ff7/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

BUILD SUCCESSFUL in 2s
5 actionable tasks: 5 executed

Building portscan/nmap ...

Task :compileJava FAILED
/root/tsunami/repos/tsunami-security-scanner-plugins/google/portscan/nmap/src/main/java/com/google/tsunami/plugins/portscan/nmap/NmapPortScanner.java:167: error: incompatible types: Optional cannot be converted to NetworkService
&& NetworkServiceUtils.isWebService(getServiceNameFromPort(port))) {
^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':compileJava'.

Compilation failed; see the compiler error output for details.

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 2s
1 actionable task: 1 executed

Please provide guidance

Run after SUCCESSFUL BUILD

Run docker container:
... BUILD SUCCESSFUL in 56s 14 actionable tasks: 14 executed

Run Scaning:
java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/Users/user/tsunami/plugins/*" \ -Dtsunami-config.location=/Users/user/tsunami/tsunami.yaml \ com.google.tsunami.main.cli.TsunamiCli \ --ip-v4-target=127.0.0.1 \ --scan-results-local-output-format=JSON \ --scan-results-local-output-filename=/tmp/tsunami-output.json

`Jun 30, 2020 11:21:57 PM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 1.207 s
Jun 30, 2020 11:21:57 PM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorConfigs
Jun 30, 2020 11:21:57 PM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.portscan.nmap.NmapPortScannerConfigs
Jun 30, 2020 11:21:57 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jun 30, 2020 11:21:57 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jun 30, 2020 11:21:57 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/Users/user/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector is registered.
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector is registered.
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector is registered.
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector is registered.
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector is registered.
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.portscan.nmap.NmapPortScanner
Jun 30, 2020 11:21:57 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.portscan.nmap.NmapPortScanner is registered.
Jun 30, 2020 11:21:57 PM com.google.tsunami.main.cli.TsunamiCli run
INFO: TsunamiCli starting...
Jun 30, 2020 11:21:57 PM com.google.tsunami.workflow.DefaultScanningWorkflow runAsync
INFO: Staring Tsunami scanning workflow.
Jun 30, 2020 11:21:57 PM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.ProvisionException: Unable to provision, see the following errors:

  1. Error in custom provider, java.io.FileNotFoundException: Unable to find a valid nmap binary. Make sure Tsunami config contains a valid nmap binary path.
    at com.google.tsunami.plugins.portscan.nmap.NmapPortScannerBootstrapModule.provideNmapBinaryPath(NmapPortScannerBootstrapModule.java:40) (via modules: com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule -> com.google.tsunami.plugin.PluginLoadingModule -> com.google.tsunami.plugins.portscan.nmap.NmapPortScannerBootstrapModule)
    while locating java.lang.String annotated with @com.google.tsunami.plugins.portscan.nmap.client.NmapBinaryPath()
    for the 1st parameter of com.google.tsunami.plugins.portscan.nmap.client.NmapClient.(NmapClient.java:211)
    while locating com.google.tsunami.plugins.portscan.nmap.client.NmapClient
    for the 1st parameter of com.google.tsunami.plugins.portscan.nmap.NmapPortScanner.(NmapPortScanner.java:81)
    while locating com.google.tsunami.plugins.portscan.nmap.NmapPortScanner
    while locating com.google.tsunami.plugin.TsunamiPlugin annotated with @com.google.inject.internal.Element(setName=,uniqueId=12, type=MAPBINDER, keyType=com.google.tsunami.plugin.PluginDefinition)

1 error
at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1097)
at com.google.tsunami.plugin.PluginManager.lambda$getPortScanners$1(PluginManager.java:53)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.google.tsunami.plugin.PluginManager.getPortScanners(PluginManager.java:55)
at com.google.tsunami.plugin.PluginManager.getPortScanner(PluginManager.java:60)
at com.google.tsunami.workflow.DefaultScanningWorkflow.scanPorts(DefaultScanningWorkflow.java:155)
at com.google.tsunami.workflow.DefaultScanningWorkflow.runAsync(DefaultScanningWorkflow.java:133)
at com.google.tsunami.workflow.DefaultScanningWorkflow.run(DefaultScanningWorkflow.java:118)
at com.google.tsunami.main.cli.TsunamiCli.run(TsunamiCli.java:71)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:137)
Caused by: java.io.FileNotFoundException: Unable to find a valid nmap binary. Make sure Tsunami config contains a valid nmap binary path.
at com.google.tsunami.plugins.portscan.nmap.NmapPortScannerBootstrapModule.provideNmapBinaryPath(NmapPortScannerBootstrapModule.java:56)
at com.google.tsunami.plugins.portscan.nmap.NmapPortScannerBootstrapModule$$FastClassByGuice$$86221da.invoke()
at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:264)
at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1094)
... 16 more
`

first execute

Aug 07, 2020 4:10:10 PM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 1.796 s
Aug 07, 2020 4:10:11 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Aug 07, 2020 4:10:11 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Aug 07, 2020 4:10:11 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
Aug 07, 2020 4:10:11 PM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.ConfigurationException: Guice configuration errors:

  1. No implementation for java.util.Map<com.google.tsunami.plugin.PluginDefinition, javax.inject.Provider<com.google.tsunami.plugin.TsunamiPlugin>> was bound.
    while locating java.util.Map<com.google.tsunami.plugin.PluginDefinition, javax.inject.Provider<com.google.tsunami.plugin.TsunamiPlugin>>
    for the 1st parameter of com.google.tsunami.plugin.PluginManager.(PluginManager.java:41)
    while locating com.google.tsunami.plugin.PluginManager
    for the 1st parameter of com.google.tsunami.workflow.DefaultScanningWorkflow.(DefaultScanningWorkflow.java:100)
    while locating com.google.tsunami.workflow.DefaultScanningWorkflow
    for the 1st parameter of com.google.tsunami.main.cli.TsunamiCli.(TsunamiCli.java:63)
    while locating com.google.tsunami.main.cli.TsunamiCli

1 error
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1120)
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1078)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1131)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:139)

quick_start.sh uses pushd which is not sh compliant

Your readme recommends running quick_start.sh with sh:

sh -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"

The script uses pushd/popd, which aren't standard sh commands. Particularly they're not available in dash, which is the standard sh shell in Ubuntu+Debian.

I recommend either changing the docs to use bash or changing the script to avoid non-standard sh commands.

Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1

Dear all,

After installing and building succesfully, I executed the example Tsunami command for scanning 127.0.0.1, but I receive the following error message:

BUILD SUCCESSFUL in 3m 22s
14 actionable tasks: 14 executed

java -cp "tsunami-main-0.0.2-SNAPSHOT-cli.jar:/home/diego/tsunami/plugins/*" -Dtsunami.config.location=/home/diego/tsunami/tsunami.yaml com.google.tsunami.main.cli.TsunamiCli --ip-v4-target=127.0.0.1 --scan-results-local-output-format=JSON --scan-results-local-output-filename=/tmp/tsunami-result.json Jun 30, 2020 7:23:40 PM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 1.986 s
Jun 30, 2020 7:23:40 PM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorConfigs
Jun 30, 2020 7:23:40 PM com.google.tsunami.common.config.ConfigModule configure
INFO: Found Tsunami config class: com.google.tsunami.plugins.portscan.nmap.NmapPortScannerConfigs
Jun 30, 2020 7:23:40 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jun 30, 2020 7:23:40 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jun 30, 2020 7:23:40 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/home/diego/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector is registered.
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector is registered.
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector is registered.
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector is registered.
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector is registered.
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginLoadingModule configure
INFO: Found plugin class: com.google.tsunami.plugins.portscan.nmap.NmapPortScanner
Jun 30, 2020 7:23:40 PM com.google.tsunami.plugin.PluginBootstrapModule registerPlugin
INFO: Plugin class com.google.tsunami.plugins.portscan.nmap.NmapPortScanner is registered.
Jun 30, 2020 7:23:40 PM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.CreationException: Unable to create injector, see the following errors:

  1. No implementation for com.google.tsunami.plugins.detectors.credentials.ncrack.client.NcrackClient (with no qualifier annotation) was bound, and could not find an injectable constructor. Injectable classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
    at com.google.tsunami.plugins.detectors.credentials.ncrack.client.NcrackClient.class(NcrackClient.java:148)
    while locating com.google.inject.Provider<com.google.tsunami.plugins.detectors.credentials.ncrack.client.NcrackClient>
    for the 1st parameter of com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackCredentialTester.(NcrackCredentialTester.java:79)
    at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorBootstrapModule.configurePlugin(NcrackWeakCredentialDetectorBootstrapModule.java:40) (via modules: com.google.tsunami.main.cli.TsunamiCli$TsunamiCliModule -> com.google.tsunami.plugin.PluginLoadingModule -> com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetectorBootstrapModule)

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:554)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:161)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108)
at com.google.inject.Guice.createInjector(Guice.java:87)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:135)

Thanks in advance

OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
Ncrack version 0.7

Try setup scanner

When trying to install, step to reproduce:

  1. docker run --name unauthenticated-jupyter-notebook -p 8888:8888 -d jupyter/base-notebook start-notebook.sh --NotebookApp.token=''
    `Fetching source code for Tsunami scanner ...
    From https://github.com/google/tsunami-security-scanner
  • branch master -> FETCH_HEAD
    Already up to date.

Fetching source code for Tsunami scanner plugins ...
From https://github.com/google/tsunami-security-scanner-plugins

  • branch master -> FETCH_HEAD
    Already up to date.

Building all Google plugins ...

Building detectors/credentials/ncrack ...
Starting a Gradle Daemon (subsequent builds will be faster)
java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
at org.codehaus.groovy.vmplugin.VMPluginFactory.(VMPluginFactory.java:43)
at org.codehaus.groovy.reflection.GroovyClassValueFactory.(GroovyClassValueFactory.java:35)
at org.codehaus.groovy.reflection.ClassInfo.(ClassInfo.java:109)
at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95)
at org.codehaus.groovy.reflection.ReflectionCache.(ReflectionCache.java:39)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:209)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:107)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:85)
at groovy.lang.GroovySystem.(GroovySystem.java:36)
at org.codehaus.groovy.runtime.InvokerHelper.(InvokerHelper.java:86)
at groovy.lang.GroovyObjectSupport.getDefaultMetaClass(GroovyObjectSupport.java:59)
at groovy.lang.GroovyObjectSupport.(GroovyObjectSupport.java:32)
at org.gradle.internal.extensibility.DefaultExtraPropertiesExtension.(DefaultExtraPropertiesExtension.java:29)
at org.gradle.internal.extensibility.DefaultConvention.(DefaultConvention.java:48)
at org.gradle.api.internal.plugins.DefaultConvention.(DefaultConvention.java:28)
at org.gradle.internal.extensibility.ExtensibleDynamicObject.(ExtensibleDynamicObject.java:60)
at org.gradle.internal.instantiation.AsmBackedClassGenerator$MixInExtensibleDynamicObject.(AsmBackedClassGenerator.java:1314)
at org.gradle.initialization.DefaultSettings_Decorated.getAsDynamicObject(Unknown Source)
at org.gradle.initialization.SettingsFactory.createSettings(SettingsFactory.java:58)
at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.process(ScriptEvaluatingSettingsProcessor.java:60)
at org.gradle.initialization.PropertiesLoadingSettingsProcessor.process(PropertiesLoadingSettingsProcessor.java:37)
at org.gradle.initialization.SettingsEvaluatedCallbackFiringSettingsProcessor.process(SettingsEvaluatedCallbackFiringSettingsProcessor.java:34)
at org.gradle.initialization.RootBuildCacheControllerSettingsProcessor.process(RootBuildCacheControllerSettingsProcessor.java:36)
at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:50)
at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.initialization.BuildOperationSettingsProcessor.process(BuildOperationSettingsProcessor.java:47)
at org.gradle.initialization.DefaultSettingsLoader.findSettingsAndLoadIfAppropriate(DefaultSettingsLoader.java:104)
at org.gradle.initialization.DefaultSettingsLoader.findAndLoadSettings(DefaultSettingsLoader.java:45)
at org.gradle.initialization.SettingsAttachingSettingsLoader.findAndLoadSettings(SettingsAttachingSettingsLoader.java:35)
at org.gradle.internal.composite.CommandLineIncludedBuildSettingsLoader.findAndLoadSettings(CommandLineIncludedBuildSettingsLoader.java:34)
at org.gradle.internal.composite.ChildBuildRegisteringSettingsLoader.findAndLoadSettings(ChildBuildRegisteringSettingsLoader.java:47)
at org.gradle.internal.composite.CompositeBuildSettingsLoader.findAndLoadSettings(CompositeBuildSettingsLoader.java:35)
at org.gradle.initialization.DefaultGradleLauncher$LoadBuild.run(DefaultGradleLauncher.java:277)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.initialization.DefaultGradleLauncher.loadSettings(DefaultGradleLauncher.java:202)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:147)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:134)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:58)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:55)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:82)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:183)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:75)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:55)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:58)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:49)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:44)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:49)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:81)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.base/java.lang.Thread.run(Thread.java:832)

FAILURE: Build failed with an exception.

  • What went wrong:
    Could not initialize class org.codehaus.groovy.reflection.ReflectionCache

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 2s`

Docker version 19.03.8, build afacb8b

don't work at all

INFO: Sending HTTP 'GET' request to 'http://178.159.245.248/view/all/newJob'.
Jul 17, 2020 1:53:00 AM com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector isServiceVulnerable
WARNING: Unable to query 'http://178.159.245.248/view/all/newJob'.
java.io.IOException: unexpected end of stream on Connection{178.159.245.248:80, proxy=DIRECT hostAddress=/178.159.245.248:80 cipherSuite=none protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.google.tsunami.common.net.http.HttpClient.send(HttpClient.java:56)
at com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector.isServiceVulnerable(JenkinsExposedUiDetector.java:99)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.google.tsunami.plugins.detectors.exposedui.jenkins.JenkinsExposedUiDetector.detect(JenkinsExposedUiDetector.java:89)
at com.google.tsunami.workflow.DefaultScanningWorkflow.lambda$detectVulnerabilities$8(DefaultScanningWorkflow.java:261)
at com.google.tsunami.plugin.PluginExecutorImpl.lambda$executeAsync$0(PluginExecutorImpl.java:56)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.EOFException: \n not found: limit=0 content=โ€ฆ
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:236)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 34 more

Jul 17, 2020 1:53:00 AM com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector isServiceVulnerable
WARNING: Unable to query 'http://178.159.245.248/wp-admin/install.php?step=1'.
java.io.IOException: unexpected end of stream on Connection{178.159.245.248:80, proxy=DIRECT hostAddress=/178.159.245.248:80 cipherSuite=none protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.google.tsunami.common.net.http.HttpClient.send(HttpClient.java:56)
at com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector.isServiceVulnerable(WordPressInstallPageDetector.java:97)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
at java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
at com.google.protobuf.AbstractMessageLite$Builder.addAllCheckingNulls(AbstractMessageLite.java:372)
at com.google.protobuf.AbstractMessageLite$Builder.addAll(AbstractMessageLite.java:434)
at com.google.tsunami.proto.DetectionReportList$Builder.addAllDetectionReports(DetectionReportList.java:615)
at com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector.detect(WordPressInstallPageDetector.java:75)
at com.google.tsunami.workflow.DefaultScanningWorkflow.lambda$detectVulnerabilities$8(DefaultScanningWorkflow.java:261)
at com.google.tsunami.plugin.PluginExecutorImpl.lambda$executeAsync$0(PluginExecutorImpl.java:56)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.EOFException: \n not found: limit=0 content=โ€ฆ
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:236)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 37 more

Jul 17, 2020 1:53:00 AM com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector isWordPressService
WARNING: Unable to query 'http://178.159.245.248/wp-login.php'.
java.io.IOException: unexpected end of stream on Connection{178.159.245.248:80, proxy=DIRECT hostAddress=/178.159.245.248:80 cipherSuite=none protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.google.tsunami.common.net.http.HttpClient.send(HttpClient.java:56)
at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector.isWordPressService(NcrackWeakCredentialDetector.java:241)
at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector.detectSoftware(NcrackWeakCredentialDetector.java:227)
at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector.lambda$doSimpleWebServiceDetection$6(NcrackWeakCredentialDetector.java:219)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector.doSimpleWebServiceDetection(NcrackWeakCredentialDetector.java:221)
at com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector.detect(NcrackWeakCredentialDetector.java:108)
at com.google.tsunami.workflow.DefaultScanningWorkflow.lambda$detectVulnerabilities$8(DefaultScanningWorkflow.java:261)
at com.google.tsunami.plugin.PluginExecutorImpl.lambda$executeAsync$0(PluginExecutorImpl.java:56)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.EOFException: \n not found: limit=0 content=โ€ฆ
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:236)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 36 more

Jul 17, 2020 1:53:00 AM com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector isServiceVulnerable
WARNING: Unable to query 'http://178.159.245.248/terminals/1'.
java.io.IOException: unexpected end of stream on Connection{178.159.245.248:80, proxy=DIRECT hostAddress=/178.159.245.248:80 cipherSuite=none protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.google.tsunami.common.net.http.HttpClient.send(HttpClient.java:56)
at com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector.isServiceVulnerable(JupyterExposedUiDetector.java:87)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.google.tsunami.plugins.detectors.exposedui.jupyter.JupyterExposedUiDetector.detect(JupyterExposedUiDetector.java:78)
at com.google.tsunami.workflow.DefaultScanningWorkflow.lambda$detectVulnerabilities$8(DefaultScanningWorkflow.java:261)
at com.google.tsunami.plugin.PluginExecutorImpl.lambda$executeAsync$0(PluginExecutorImpl.java:56)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.EOFException: \n not found: limit=0 content=โ€ฆ
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:236)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 34 more

Jul 17, 2020 1:53:00 AM com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector isUnauthenticatedYarnManager
WARNING: Unable to query Hadoop Yarn cluster info page.
java.io.IOException: unexpected end of stream on Connection{178.159.245.248:80, proxy=DIRECT hostAddress=/178.159.245.248:80 cipherSuite=none protocol=http/1.1}
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.google.tsunami.common.net.http.HttpClient.send(HttpClient.java:56)
at com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector.isUnauthenticatedYarnManager(YarnExposedManagerApiDetector.java:101)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector.detect(YarnExposedManagerApiDetector.java:87)
at com.google.tsunami.workflow.DefaultScanningWorkflow.lambda$detectVulnerabilities$8(DefaultScanningWorkflow.java:261)
at com.google.tsunami.plugin.PluginExecutorImpl.lambda$executeAsync$0(PluginExecutorImpl.java:56)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.EOFException: \n not found: limit=0 content=โ€ฆ
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:236)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
... 34 more

Jul 17, 2020 1:53:00 AM com.google.tsunami.common.net.http.HttpClient send
INFO: Sending HTTP 'GET' request to 'http://178.159.245.248:443/terminals/1'.
Jul 17, 2020 1:53:00 AM com.google.tsunami.common.net.http.HttpClient send
INFO: Sending HTTP 'GET' request to 'http://178.159.245.248:443/cluster/cluster'.
Jul 17, 2020 1:53:00 AM com.google.tsunami.common.net.http.HttpClient send
INFO: Sending HTTP 'GET' request to 'http://178.159.245.248:443/wp-login.php'.
Jul 17, 2020 1:53:00 AM com.google.tsunami.common.net.http.HttpClient send
INFO: Sending HTTP 'GET' request to 'http://178.159.245.248:443/wp-admin/install.php?step=1'.
Jul 17, 2020 1:53:00 AM com.google.tsunami.common.net.http.HttpClient send
INFO: Sending HTTP 'GET' request to 'http://178.159.245.248:443/view/all/newJob'.
Jul 17, 2020 1:53:01 AM com.google.tsunami.common.net.http.HttpClient parseResponse
INFO: Received HTTP response with code '400' for request to 'http://178.159.245.248:443/view/all/newJob'.
Jul 17, 2020 1:53:01 AM com.google.tsunami.common.net.http.HttpClient parseResponse
INFO: Received HTTP response with code '400' for request to 'http://178.159.245.248:443/terminals/1'.
Jul 17, 2020 1:53:01 AM com.google.tsunami.common.net.http.HttpClient parseResponse
INFO: Received HTTP response with code '400' for request to 'http://178.159.245.248:443/wp-admin/install.php?step=1'.
Jul 17, 2020 1:53:01 AM com.google.tsunami.common.net.http.HttpClient parseResponse
INFO: Received HTTP response with code '400' for request to 'http://178.159.245.248:443/cluster/cluster'.
Jul 17, 2020 1:53:01 AM com.google.tsunami.plugins.detectors.exposedui.wordpress.WordPressInstallPageDetector detect
INFO: WordPressInstallPageDetector finished, detected '0' vulns.
Jul 17, 2020 1:53:01 AM com.google.tsunami.plugins.detectors.exposedui.hadoop.yarn.YarnExposedManagerApiDetector detect
INFO: YarnExposedManagerApiDetector finished, detected '0' vulns.
Jul 17, 2020 1:53:01 AM com.google.tsunami.common.net.http.HttpClient parseResponse
INFO: Received HTTP response with code '400' for request to 'http://178.159.245.248:443/wp-login.php'.
Jul 17, 2020 1:53:01 AM com.google.tsunami.plugins.detectors.credentials.ncrack.NcrackWeakCredentialDetector runTesterAndAddFinding
INFO: Running tester 'NcrackCredentialTester' and credential provider 'Top100Passwords' on service ftp (TCP, port 21).
Jul 17, 2020 1:53:01 AM com.google.tsunami.plugin.PluginExecutorImpl buildFailedResult
WARNING: Plugin '/Tsunami Team ([email protected])/VULN_DETECTION/NcrackWeakCredentialDetectorPlugin/0.1' failed.
Jul 17, 2020 1:53:01 AM com.google.tsunami.workflow.DefaultScanningWorkflow generateScanResults
INFO: Tsunami scanning workflow done. Generating scan results.
Jul 17, 2020 1:53:01 AM com.google.tsunami.workflow.DefaultScanningWorkflow lambda$runAsync$0
INFO: Tsunami scanning workflow traces:
Port scanning phase (49.47 s) with 1 plugin(s):
/Tsunami Team ([email protected])/PORT_SCAN/NmapPortScanner/0.1
Service fingerprinting phase (266.5 ms) with 0 plugin(s):

Vuln detection phase (319.2 ms) with 5 plugin(s):
/Tsunami Team ([email protected])/VULN_DETECTION/NcrackWeakCredentialDetectorPlugin/0.1 was selected for the following services: ftp (TCP, port 21), tcpwrapped (TCP, port 22), smtp (TCP, port 25), http (TCP, port 80), http (TCP, port 443), smtp (TCP, port 465), smtp (TCP, port 2525), mysql (TCP, port 3306)
/Tsunami Team ([email protected])/VULN_DETECTION/YarnExposedManagerApiDetector/0.1 was selected for the following services: ftp (TCP, port 21), tcpwrapped (TCP, port 22), smtp (TCP, port 25), http (TCP, port 80), http (TCP, port 443), smtp (TCP, port 465), smtp (TCP, port 2525), mysql (TCP, port 3306)
/Tsunami Team ([email protected])/VULN_DETECTION/JenkinsExposedUiDetector/0.1 was selected for the following services: ftp (TCP, port 21), tcpwrapped (TCP, port 22), smtp (TCP, port 25), http (TCP, port 80), http (TCP, port 443), smtp (TCP, port 465), smtp (TCP, port 2525), mysql (TCP, port 3306)
/Tsunami Team ([email protected])/VULN_DETECTION/JupyterExposedUiDetector/0.1 was selected for the following services: ftp (TCP, port 21), tcpwrapped (TCP, port 22), smtp (TCP, port 25), http (TCP, port 80), http (TCP, port 443), smtp (TCP, port 465), smtp (TCP, port 2525), mysql (TCP, port 3306)
/Tsunami Team ([email protected])/VULN_DETECTION/WordPressInstallPageDetector/0.1 was selected for the following services: ftp (TCP, port 21), tcpwrapped (TCP, port 22), smtp (TCP, port 25), http (TCP, port 80), http (TCP, port 443), smtp (TCP, port 465), smtp (TCP, port 2525), mysql (TCP, port 3306)

of detected vulnerability: 0.

WARNING: An illegal reflective access operation has occurred

Ubuntu 19.04

I just tried to install using the instructions on GitHub , i am using OpenJDK and I am getting the below error message.

java -jar tsunami-main-0.0.2-SNAPSHOT-cli.jar --hostname-target 127.0.0.1
Jul 09, 2020 2:41:35 PM com.google.tsunami.main.cli.TsunamiCli main
INFO: Full classpath scan took 2.305 s
Jul 09, 2020 2:41:35 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.common.io.archiving.GoogleCloudStorageArchiver$Options
Jul 09, 2020 2:41:35 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.ScanResultsArchiver$Options
Jul 09, 2020 2:41:35 PM com.google.tsunami.common.cli.CliOptionsModule configure
INFO: Found CliOption: com.google.tsunami.main.cli.option.ScanTargetCliOptions
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/home/mach/tsunami/tsunami-main-0.0.2-SNAPSHOT-cli.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Jul 09, 2020 2:41:36 PM com.google.tsunami.main.cli.TsunamiCli main
SEVERE: Exiting due to workflow execution exceptions.
com.google.inject.ConfigurationException: Guice configuration errors:

  1. No implementation for java.util.Map<com.google.tsunami.plugin.PluginDefinition, javax.inject.Provider<com.google.tsunami.plugin.TsunamiPlugin>> was bound.
    while locating java.util.Map<com.google.tsunami.plugin.PluginDefinition, javax.inject.Provider<com.google.tsunami.plugin.TsunamiPlugin>>
    for the 1st parameter of com.google.tsunami.plugin.PluginManager.(PluginManager.java:41)
    while locating com.google.tsunami.plugin.PluginManager
    for the 1st parameter of com.google.tsunami.workflow.DefaultScanningWorkflow.(DefaultScanningWorkflow.java:100)
    while locating com.google.tsunami.workflow.DefaultScanningWorkflow
    for the 1st parameter of com.google.tsunami.main.cli.TsunamiCli.(TsunamiCli.java:63)
    while locating com.google.tsunami.main.cli.TsunamiCli

1 error
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1120)
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1078)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1131)
at com.google.tsunami.main.cli.TsunamiCli.main(TsunamiCli.java:139)

Python support?

Hi, this open source project is very good, but I would like to ask, when is pyhon supported to write Tsunami plugin?

I'm not sure if "Tsunami" is a good name. But I need your opinion.

Hello. I am a Japanese engineer.

I am not claiming this is bad, you must change the name, or anything like that.
I opened this issue to ask opinions to y'all.

I am not SUPER familiar with the recent "wording" issues around protests so I apologize in advance but I wonder if you ever discussed this is a good naming.

Japan and some countries have had a huge earth quake, which brought a huge tsunami afterwards. The impact those gave still remains at the disaster area. Even though I am not one of the victim, I felt like I have to ask this, but I don't want to make any drama so if you want to close this issue you can, but at least I would like some opinions from the OSS team.

Thanks,

ๆ—ฅๆœฌไบบใฎๆ–นๅ‘ใ‘ใซ่ฟฝ่จ˜(adding some follow-up for Japanese speakers):
ใ“ใกใ‚‰ใฎใƒ„ใ‚คใƒผใƒˆใงใ‚‚่กจๆ˜Žใ—ใฆใ„ใพใ™ใŒใ€Issueใ‚’็ซ‹ใฆใŸ็›ฎ็š„ใฏใ€Œ้–ขใ‚ใ‚‹็š†ใ•ใ‚“ใฎๆ„่ฆ‹ใ€ใ‚’ๅ•ใ†ใ‚‚ใฎใงใ‚ใ‚Šใ€็งใŒใ€Œๆ—ฅๆœฌไบบใซใจใฃใฆใ“ใ‚Œใฏไธ่ฌนๆ…Žใซ่žใ“ใˆใ‚‹ใ€ใจ่จ€ใ†ใŸใ‚ใซ็ซ‹ใฆใŸIssueใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚

่ฟฝ่จ˜2:
ๅˆๅ‹•ใ‚’ๅฎŒๅ…จใซ้–“้•ใˆใฆใ—ใพใ„ใพใ—ใŸใ€‚็š†ๆง˜็”ณใ—่จณใ‚ใ‚Šใพใ›ใ‚“ใ€‚#5 (comment)

Task :tsunami-common:compileJava FAILED

I 've used: ./quick_start.sh and got an error:

Building Tsunami scanner jar file ...

> Task :tsunami-common:compileJava FAILED
.../tsunami/repos/tsunami-security-scanner/common/src/main/java/com/google/tsunami/common/net/http/HttpRequest.java:141: error: An unhandled exception was thrown by the Error Prone static analysis plugin.
          break;
          ^

with the following details:

error-prone version: 2.3.4
     BugPattern: Finally
     Stack Trace:
     java.lang.NoSuchFieldError: label
        at com.google.errorprone.bugpatterns.Finally$FinallyJumpMatcher.<init>(Finally.java:171)
        at com.google.errorprone.bugpatterns.Finally.matchBreak(Finally.java:79)
        at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:451)
        at com.google.errorprone.scanner.ErrorProneScanner.visitBreak(ErrorProneScanner.java:528)
        at com.google.errorprone.scanner.ErrorProneScanner.visitBreak(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBreak.accept(JCTree.java:1577)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:106)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:114)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitCase(TreeScanner.java:372)
        at com.google.errorprone.scanner.ErrorProneScanner.visitCase(ErrorProneScanner.java:536)
        at com.google.errorprone.scanner.ErrorProneScanner.visitCase(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCase.accept(JCTree.java:1293)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:106)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:114)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitSwitch(TreeScanner.java:333)
        at com.google.errorprone.scanner.ErrorProneScanner.visitSwitch(ErrorProneScanner.java:826)
        at com.google.errorprone.scanner.ErrorProneScanner.visitSwitch(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCSwitch.accept(JCTree.java:1235)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:106)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:249)
        at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:522)
        at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1038)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:207)
        at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:742)
        at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:904)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:106)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:114)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:188)
        at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:550)
        at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:814)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:91)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:106)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:114)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:188)
        at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:550)
        at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:814)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:72)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:46)
        at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:106)
        at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:114)
        at jdk.compiler/com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:145)
        at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:562)
        at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:152)
        at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:597)
        at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:56)
        at com.google.errorprone.scanner.Scanner.scan(Scanner.java:56)
        at com.google.errorprone.scanner.ErrorProneScannerTransformer.apply(ErrorProneScannerTransformer.java:43)
        at com.google.errorprone.ErrorProneAnalyzer.finished(ErrorProneAnalyzer.java:152)
        at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132)
        at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1418)
        at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1365)
        at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:960)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
        at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
        at org.gradle.internal.compiler.java.IncrementalCompileTask.call(IncrementalCompileTask.java:74)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:93)
        at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:55)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:40)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:97)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
        at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:98)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:60)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:44)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
        at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:293)
        at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:203)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:183)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
        at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
        at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:569)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:395)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:387)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:84)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:554)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:537)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:278)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:267)
        at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
        at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
        at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
        at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
        at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
        at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
        at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
        at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
        at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
        at java.base/java.util.Optional.map(Optional.java:265)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
        at java.base/java.util.Optional.orElseGet(Optional.java:369)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
        at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:194)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:356)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
        at java.base/java.lang.Thread.run(Thread.java:835)
Note: /home/valasek/tsunami/repos/tsunami-security-scanner/common/src/main/java/com/google/tsunami/common/net/http/HttpResponse.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tsunami-common:compileJava'.
> Compilation failed; see the compiler error output for details.

When I run: ./gradlew shadowJar --stacktrace --debug

020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
2020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
2020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':tsunami-common:compileJava'.
2020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Compilation failed; see the compiler error output for details.
2020-07-09T13:32:12.768+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]  Run with --scan to get full insights.
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':tsunami-common:compileJava'.
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:207)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:205)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
2020-07-09T13:32:12.769+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:356)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:57)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:40)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:97)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
2020-07-09T13:32:12.770+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:98)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:60)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:44)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:293)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:203)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:183)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:569)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:395)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:387)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
2020-07-09T13:32:12.771+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:84)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:554)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:537)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:278)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:267)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
2020-07-09T13:32:12.772+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:194)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:409)
2020-07-09T13:32:12.773+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:399)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:157)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:242)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:150)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:94)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:356)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org
2020-07-09T13:32:12.774+0200 [WARN] [org.gradle.internal.featurelifecycle.LoggingDeprecatedFeatureHandler] 
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 
2020-07-09T13:32:12.774+0200 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 3s

Executed on Linux uLekare-nb 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

When there is any additional required info, just ping me.

NMAP not found but installed on my Mac

Hi,

I have the following issue :
1) Error injecting constructor, java.lang.IllegalArgumentException: Binary /usr/bin/nmap do not exist at com.google.tsunami.plugins.portscan.nmap.client.NmapClient.<init>(NmapClient.java:211) while locating com.google.tsunami.plugins.portscan.nmap.client.NmapClient for the 1st parameter of com.google.tsunami.plugins.portscan.nmap.NmapPortScanner.<init>(NmapPortScanner.java:81) while locating com.google.tsunami.plugins.portscan.nmap.NmapPortScanner while locating com.google.tsunami.plugin.TsunamiPlugin annotated with @com.google.inject.internal.Element(setName=,uniqueId=12, type=MAPBINDER, keyType=com.google.tsunami.plugin.PluginDefinition)

NMAP was installed using brew on /use/local/bin folder :
sh-3.2# which nmap /usr/local/bin/nmap

As I have SIP enable on my Mac, I can't modify my /usr/bin folder.
How can I change the nmap path ? config file ?

Kill ncrack credential test when deadline exceeded

Hello - I tried to run Tsunami a couple of times against localhost, using curl+quick_start.sh mentioned in docs. It remained stuck in ncrack credential test for hours. Had to kill it. Any thoughts on how to get past this or have it run faster ?

tsunami-main-0.0.2-SNAPSHOT-cli.jar
MacOS Mojave 10.14.6
openjdk 14.0.1 2020-04-14

====output====
Jul 19, 2020 10:52:29 PM com.google.tsunami.common.command.CommandExecutor execute
INFO: Executing the following command: '/usr/local/bin/ncrack -T3 --user anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous,anonymous --pass ,123456,password,12345678,qwerty,<list_truncated_here> --pairwise -f ssh://127.0.0.1:22 -oN /var/folders/2_/0b6yg26n0nz2q_7mm65y2j4r981cvs/T/ncrack11164542678979093847.report'

problem running the test

hello,

I installed the tool as recommanded but when I try to run it it gave me an error

Error: Could not find or load main class
Caused by: java.lang.ClassNotFoundException:

could anyone help me with that

Initial Installation

Yesterday was the first time when I installed tsunami based on the example provided and there were challenges . unable to get root access for installing curl , java etc in the docker image for jupyter

The solution is as follows:
In order to gain root access and be able to execute sudo apt-get we need to execute the following command, which would essentially create a password and grant sudo rights to the user.

docker run -d -v a:/home/jovyan/work -e GRANT_SUDO=yes --user root -p 8888:8888 -d jupyter/base-notebook start-notebook.sh --NotebookApp.token=''

Once the jupyter docker starts, open the container cli
sudo apt install -y curl git default-jdk nmap ncrack

When the installation is complete :
bash -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.