How to build a Windows-based Docker image for CAST Highlight code scans

Β·

[vc_row full_width=”true”][vc_column width=”1/1″][vc_column_text]Our Docker image allows you to run the command line to scan your apps, as a Linux-based container. While it woks for most of organizations, some users may need to run it as a Windows-based container. This article details the few steps required to build your own Windows-based image, run the container and scan your first application with CAST Highlight.[/vc_column_text][/vc_column][/vc_row][vc_row full_width=”true” padding_top=”0″][vc_column width=”1/1″][vc_row_inner][vc_column_inner][vc_empty_space][vc_column_text]First off, get Docker[/vc_column_text][vc_empty_space height=”10px”][vc_column_text]First, you’ll need Docker installed on your machine. Depending on your OS, you can get it from here: https://www.docker.com/ In order to check everything you need is installed, simply run this command:

 

> docker version

This should return something like this:

Client: Docker Engine – Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:22:37 2019
OS/Arch: windows/amd64
Experimental: false

Server: Docker Engine – Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:29:19 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683

[/vc_column_text][vc_empty_space][vc_column_text]Define your Windows image[/vc_column_text][vc_empty_space height=”10px”][vc_column_text]Create a directory where the image will be built.

mkdir win-hl

Copy the JAR of the CAST Highlight command line to this directory

copy Highlight-Automation-Command-5.1.17.tar.gz win-hl

Create a Dockerfile in the same directory and add the code below:[/vc_column_text][vc_raw_html]JTNDZGl2JTIwc3R5bGUlM0QlMjJiYWNrZ3JvdW5kJTNBJTIzMjIyJTNCJTIwY29sb3IlM0ElMjNGRkYlM0IlMjBwYWRkaW5nJTNBOHB4JTNCJTIwYm9yZGVyLXJhZGl1cyUzQTRweCUzQiUyMGZvbnQtZmFtaWx5JTNBJTIwdGVybWluYWwlMkMlMjBtb25hY28lMkMlMjBtb25vc3BhY2UlM0IlMjIlM0UlMEFGUk9NJTIwYWRvcHRvcGVuamRrJTNBOC1qZGstaG90c3BvdC13aW5kb3dzc2VydmVyY29yZS0xODA5JTBBJTNDYnIlM0UlMEElM0NiciUzRUVOViUyMFBFUkxfVkVSU0lPTiUyMDUuMjYuMS4xJTBBJTNDYnIlM0VFTlYlMjBQRVJMX1NIQTI1NiUyMDFiYjU0ZDdmNWU0ODdmZjQ2OGJmOTgwZGJmZDk5NjJmYjlkODNmZjFmMTBjY2RlMDA4ZTBiZWUxZjFmNWI2Y2UlMEElM0NiciUzRSUwQSUzQ2JyJTNFUlVOJTIwcG93ZXJzaGVsbCUyMC1Db21tYW5kJTIwJTI0RXJyb3JBY3Rpb25QcmVmZXJlbmNlJTIwJTNEJTIwJTI3U3RvcCUyNyUyMCUzQiUyMCUyNFByb2dyZXNzUHJlZmVyZW5jZSUyMCUzRCUyMCUyN1NpbGVudGx5Q29udGludWUlMjclMjAlM0IlMjAlNUMlMEElM0NiciUzRSUyMCUyMCUyMCUyMEludm9rZS1XZWJSZXF1ZXN0JTIwJTI0JTI4JTI3aHR0cCUzQSUyRiUyRnN0cmF3YmVycnlwZXJsLmNvbSUyRmRvd25sb2FkJTJGJTdCMCU3RCUyRnN0cmF3YmVycnktcGVybC0lN0IwJTdELTY0Yml0LXBvcnRhYmxlLnppcCUyNyUyMCUwQSUzQ2JyJTNFJTIwJTIwJTIwJTIwLWYlMjAlMjRlbnYlM0FQRVJMX1ZFUlNJT04lMjklMjAtT3V0RmlsZSUyMCUyN3BlcmwuemlwJTI3JTIwLVVzZUJhc2ljUGFyc2luZyUyMCUzQiUyMCU1QyUwQSUzQ2JyJTNFJTIwJTIwJTIwJTIwaWYlMjAlMjglMjhHZXQtRmlsZUhhc2glMjBwZXJsLnppcCUyMC1BbGdvcml0aG0lMjBzaGEyNTYlMjkuSGFzaCUyMC1uZSUyMCUyNGVudiUzQVBFUkxfU0hBMjU2JTI5JTIwJTdCJTIwV3JpdGUtRXJyb3IlMjAlMjdTSEEyNTYlMjBtaXNtYXRjaCUyNyUyMCU3RCUyMCUzQiUyMCU1QyUwQSUzQ2JyJTNFJTIwJTIwJTIwJTIwRXhwYW5kLUFyY2hpdmUlMjAtUGF0aCUyMHBlcmwuemlwJTIwLURlc3RpbmF0aW9uUGF0aCUyMEMlM0ElNUMlMjAtRm9yY2UlMjAlM0IlMjAlNUMlMEElM0NiciUzRSUyMCUyMCUyMCUyMHJtJTIwcGVybC56aXAlMjAlM0IlMjAlNUMlMEElM0NiciUzRSUyMCUyMCUyMCUyMHNldHglMjAlMkZNJTIwUEFUSCUyMCUyNCUyOCUyN0MlM0ElNUNwZXJsJTVDc2l0ZSU1Q2JpbiUzQkMlM0ElNUNwZXJsJTVDYmluJTNCQyUzQSU1Q2MlNUNiaW4lM0IlN0IwJTdEJTI3JTIwLWYlMjAlMjRlbnYlM0FQQVRIJTI5JTBBJTNDYnIlM0UlMEElM0NiciUzRUFERCUyMCUyQS50YXIuZ3olMjAlMkYlMEElM0NiciUzRSUwQSUzQ2JyJTNFV09SS0RJUiUyMCUyRkhpZ2hsaWdodC1BdXRvbWF0aW9uLUNvbW1hbmQlMEElM0NiciUzRSUwQSUzQ2JyJTNFRU5UUllQT0lOVCUyMCU1QiUyMCUyMmphdmElMjIlMkMlMjAlMjItamFyJTIyJTJDJTIwJTIySGlnaGxpZ2h0QXV0b21hdGlvbi5qYXIlMjIlMkMlMjAlMjItLXBlcmxJbnN0YWxsRGlyJTIyJTJDJTIwJTIyYyUzQSUyRnBlcmwlMjIlMkMlMjAlMjItLWFuYWx5emVyRGlyJTIyJTJDJTIwJTIyLiUyRnBlcmwlMjIlMjAlNUQlMEElM0MlMkZkaXYlM0U=[/vc_raw_html][vc_column_text]Launch the build command as follows:

 

> docker build -t casthighlight/hl-agent-cli-win .

You’re now ready to run this image as a container and scan an application…[/vc_column_text][vc_empty_space][vc_column_text]Run the container[/vc_column_text][vc_empty_space height=”10px”][vc_column_text]In a Powersell terminal, go to the source directory you want to scan and launch this command:

> docker run –rm -v ${PWD}:c:\sourceDir -v ${PWD}:c:\workingDir casthighlight/hl-agent-cli-win –sourceDir c:\sourceDir –workingDir c:\workingDir –skipUpload

The --rm option tells docker to remove the container once it has finished its job.

You should get the following output from the Command Line through the container:[/vc_column_text][vc_empty_space][vc_single_image image=”8727″ img_size=”full”][vc_empty_space][vc_column_text]

Enjoy your scans![/vc_column_text][vc_empty_space][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]


Leave a Reply

Your email address will not be published. Required fields are marked *