All ShiftLeft products support the Linux, MacOS X and Windows operating systems.
ShiftLeft has specific requirements for:
Browser for the ShiftLeft Dashboard
The ShiftLeft CLI host must allow outbound connections to the Internet.
ShiftLeft Ocular runs on top of the Java virtual machine. Make sure you have a Java Runtime Environment >= 1.8 installed.
For Java and Scala, you can examine only compiled application bytecode (not source code) using ShiftLeft Ocular. This means that for Java and Scala applications, you must successfully build your application using a supported build tool beforehand.
Ocular requires standard archiving tools,
unzip, to be available during installation.
ShiftLeft Inspect has specific requirements for applications written in Java, Scala and .NET.
ShiftLeft Inspect's Java code analysis is performed on compiled application bytecode (not source code). As such, you must successfully build your application using a supported build tool before you submit the application for analysis.
Java 7 through Java 11.
Linux or Mac with Java 8 installed locally and with 16GB of memory available.
Analysis should be performed for each code commit or build of the application. You can automate analysis submissions using your preferred CI/CD system (Bamboo, CircleCI, GoCD, Jenkins, Travis, TeamCity, etc.).
To verify that you are running the supported Java version, use the
java -version command.
ShiftLeft Inspect's Scala version 2.12 code analysis is performed on compiled application bytecode (not source code). As such, you must successfully build your application using a supported build tool before you submit the application for analysis.
ShiftLeft Inspect's .NET code analysis is performed on source code (not on the equivalence of byte code, which is the CIL), and does an actual build of your application as part of the process. Therefore, the system that ShiftLeft Inspect analyzes must must be able to successfully build your application. Remember to restore NuGet packages, if necessary.
The analysis of .NET applications with the following characteristics is supported:
To determine the version of MSBuild installed in your system:
In the Windows search bar, type Developer Command Prompt for VS.
Invoke MSBuild with the version flag:
To verify whether a .NET Framework target can be built with MSBuild 15.0:
Open the Developer Command Prompt for VS.
Navigate to the project location.
Restore NuGet packages, if any, using the command
nuget.exe restore MySolution.sln.
Trigger a build using the command
msbuild MyProject.csproj (and apply additional options, if necessary).
ShiftLeft Protect has requirements for applications written in Java and .NET Framework. Support for .NET Core is planned for a future date.
ShiftLeft Protect for Java version 7+ requires a supported 64-bit Java Runtime Environment (JRE). The Microagent memory footprint is a minimal (~50MB). ShiftLeft Protect must be able to download data from, and push metrics to, the ShiftLeft Proxy server over the specified port. If using a firewall, open a connection to a remote service on the specified TCP port.
To verify that you are running a supported 64-bit JRE, use the
java -version command.
ShiftLeft Protect requires a Windows operating system with the .NET Framework runtime version 4.5 or later installed, and works with 64-bit .NET Framework applications. ShiftLeft Protect must be able to download data from, and push metrics to, the ShiftLeft Proxy server over the secure port 443.
The ShiftLeft Protect Windows installer places the Microagent's .NET assemblies into the Global Assembly Cache (GAC). If you are running your application in Microsoft Azure as an AppService, you need to use a Windows Docker Container. See Windows Container Support in Azure App Service for details on this configuration.
.NET Framework Runtime
version 4.5 or higher
ShiftLeft supports the following browsers for accessing, viewing and interacting with the ShiftLeft Dashboard:
Google Chrome (tested with v61, v62)
Mozilla Firefox (tested with v57, v58b)
MacOS Safari (tested with v11)
Microsoft Edge* is currently not officially supported but has been verified with v41.