Security controls

Behind the scenes Lava uses other security tools and custom security checks to perform a security scan. Tools are integrated through what is called "checktypes".

Checktypes are part of the Vulcan ecosystem and both Vulcan and Lava share the same collection located at https://github.com/adevinta/vulcan-checks.

Type of security controls

The following table lists all the security controls covered by Lava's checktype collection.

Security ControlDescription
SASTStatic Application Security Testing. It's the analysis of source code.
SCASoftware Composition Analysis. For instance, detection of outdated dependencies.
IaC securityStatic analysis of Infrastructure as Code manifests. For instance, AWS CloudFormation templates or Terraform configurations.
Secret detectionSearch for secrets leaked in the code.
DASTDynamic Application Security Testing. They perform the scan from outside while the application is running in its environment.
Finding collectionThis category refers to checktypes that do not run the analysis themselves. Instead, they collect the findings from 3rd party systems like Tenable.io or Vulners.
ReconChecktypes focused on reconnaissance activities. For instance, port scanning and service discovery.
Data analysisChecktypes focused on processing data sets to extract information considered relevant from an information security point of view.

Enabled by default

ChecktypeDescriptionSecurity Control
vulcan-semgrepFinds potential issues in source code from a Git repository using Semgrep. Official Documentation: https://semgrep.dev/docsSAST
vulcan-trivyScan docker images and Git repositories using aquasec/trivy. Official Documentation: https://aquasecurity.github.io/trivy/latestSCA, IaC security, Secret detection
vulcan-retirejsCheck web pages for vulnerable JavaScript libraries. Official Documentation: https://retirejs.github.io/retire.jsSCA
vulcan-nucleiScan web addresses with projectdiscovery/nuclei. Official Documentation: https://docs.projectdiscovery.io/tools/nucleiDAST
vulcan-zapRuns an OWASP ZAP passive or active scan. Official Documentation: https://www.zaproxy.org/docsDAST

Since the check versions are updated regularly in an automatic way, the best way to know the version that Lava is using is checking the source code of each check.

Disabled by default

ChecktypeDescriptionSecurity Control
vulcan-aws-alertsDetects general issues for an AWS account.DAST
vulcan-aws-trusted-advisorRuns an AWS Trusted Advisor check against an AWS account.DAST
vulcan-blast-radiusCalculates the blast radius of an asset.Data analysis
vulcan-burpRuns a Burp Suite Enterprise Edition scan.DAST
vulcan-dmarcChecks if a domain have valid DNS configuration for DMARC.DAST
vulcan-drupalChecks for some vulnerable versions of Drupal.DAST
vulcan-exposed-bgpChecks for exposed BGP port on Internet routers.DAST
vulcan-exposed-dbChecks if an asset has database well known ports open.DAST
vulcan-exposed-httpChecks if an asset has HTTP well known ports open.Recon
vulcan-exposed-memcachedChecks if the asset contains an exposed Memcached server.DAST
vulcan-exposed-router-portsChecks if an asset has routers well known ports open.DAST
vulcan-exposed-servicesChecks if a host has any open ports by scanning the 1000 most common TCP and UDP ports.Recon
vulcan-exposed-sshChecks SSH server configuration for compliance with Mozilla OpenSSH guidelines.DAST
vulcan-github-alertsRetrieves existing vulnerability alerts for a Github repository.Finding collection
vulcan-gitleaksFinds potential secrets in source code from a Git repository using gitleaks.Secret detection
vulcan-heartbleedChecks if an asset is vulnerable to Heartbleed.DAST
vulcan-host-discoveryPerforms a quick Nmap ping scan that identifies which hosts are up.Recon
vulcan-http-headersAnalyzes the HTTP headers using Mozilla Observatory.DAST
vulcan-ipv6Checks for IPv6 presence.Recon
vulcan-masscanChecks if a host has any open port by scanning the whole TCP port range using masscan.Recon
vulcan-mxChecks for MX DNS Records.Recon
vulcan-nessusRuns a Nessus scan.DAST
vulcan-prowlerRuns Prowler against an AWS account.DAST
vulcan-smtp-open-relayCheck for testing SMTP Open Relay.DAST
vulcan-spfChecks if a domain has a SPF record on DNS.DAST
vulcan-tenableRetrieves findings from assets scanned by Tenable.io.Finding collection
vulcan-vulnersRuns the nmap-script vulners against the target opened ports.DAST
vulcan-wpscanRuns Wordpress scan.DAST