Mondoo 12.0 is out!
๐ฅณ Mondoo 12.0 is out! This release includes simplified command line output, improved cloud asset discovery and more!โ
Get this release: Installation Docs | Package Downloads | Docker Container
๐งน IMPROVEMENTSโ
Cloud resource discovery by defaultโ
Gain deeper visibility and control over your cloud environments with enhanced resource discovery by default. Command line scans now automatically enumerate individual cloud resources, matching the comprehensive asset discovery previously exclusive to platform integrations. Instead of seeing a single asset for your cloud account, you now get detailed insights into each resource, making it easier to pinpoint issues, create precise exceptions, and accelerate remediation with clearer query results.
For those running in GCP, weโve also added five new platforms to make scan results easier to view and remediate:
- gcp-sql-mysql
- gcp-sql-postgresql
- gcp-sql-sqlserver
- gcp-dns-zone
- gcp-kms-keyring
Simplified command line outputโ
Focus on what matters with simpler command line output by default. cnspec now skips data queries and compliance framework results by default so you can focus on vulnerabilities and misconfigurations. Output now also uses the same 0-100 scoring threshold displayed in the console, so results match no matter where you view your scans.
Improved Terraform resource queryingโ
This update streamlines how you query Terraform resources, making it easier to access the data you need. Instead of complex filtering, you can now directly reference resources by type or name, reducing query complexity and improving readability.
For example with this simple HCL file:
resource "aws_instance" "example-1" {
ami = "ami-a1b2c3d4"
instance_type = "t2.micro"
}
resource "aws_instance" "example-2" {
ami = "ami-a1b2c3d4"
instance_type = "t2.micro"
}
You can now find the right resources with simpler one line queries:
# return all the "aws_instance" resources:
terraform.resources("aws_instance")
# return a specific resource by name:
terraform.resources("aws_instance", "example-1")
# return resources via a regular expression:
terraform.resources(/aws_/)
# return resources by type and name with a combination of strings and regular expressions:
terraform.resources("aws_instance", /example-[0-9]+/)
Network discovery providerโ
Automatically discover and scan all your subdomains with the new networkdiscovery provider for cnspec.
$ cnspec scan networkdiscovery example.com --discover subdomains
โ using service account credentials
โ discover related assets for 1 asset(s)
apple.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
banana.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
celery.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
durian.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
eggplant.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
fuji.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
grapes.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
honeydew.example.com โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 100% score: LOW
... 22699 more assets ...
8/22712 scanned โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 0%
...
๐จ BREAKING CHANGESโ
We've taken the opportunity in this major release to remove many deprecated MQL resources and fields. If you're using out of the box Mondoo, CSI, or BSI policies don't worry as we've fully updated all content for the latest capabilities. If you're writing your own custom policies you may need to make minor adjustments for compatibility with version 12.0 and later.
aws.account.idnow returns only account number instead ofaws.account/1234aws.elasticache.clustersreplaced withaws.elasticache.cacheClustersaws.guardduty.detector.unarchivedFindingsreplaced withaws.guardduty.detector.findingsaws.iam.group.createDatereplaced withaws.iam.group.createdAtaws.iam.instanceProfile.createDatereplaced withaws.iam.instanceProfile.createdAtaws.iam.policy.createDatereplaced withaws.iam.policy.createdAtaws.iam.policy.createDatereplaced withaws.iam.policy.createdAtaws.iam.policy.idreplaced withaws.iam.policy.policyIdaws.iam.policy.updateDatereplaced withaws.iam.policy.updatedAtaws.iam.role.createDatereplaced withaws.iam.role.createdAtaws.iam.user.createDatereplaced withaws.iam.user.createdAtaws.iam.usercredentialreportentry.userCreationTimereplaced withaws.iam.usercredentialreportentry.createdAtaws.rds.dbClustersreplaced withaws.rds.clustersaws.rds.dbInstancesreplaced withaws.rds.instancesaws.vpc.peeringConnection.peeringVpc.allowEgressFromLocalClassicLinkToRemoteVpcremoved due to the removal of classic EC2 networkingaws.vpc.peeringConnection.peeringVpc.allowEgressFromLocalVpcToRemoteClassicLinkremoved due to the removal of classic EC2 networkingazure.subscription.authorizationreplaced withazure.subscription.iamazure.subscription.authorizationService.roleDefinition.isCustomreplaced withazure.subscription.authorizationService.roleDefinition.typeazure.subscription.authorizationService.roleDefinitionsreplaced withazure.subscription.authorizationService.rolesesxi.service.uninstallableremoved as this is alwaysfalsek8s.container.imagereplaced withk8s.container.imageNamek8s.ephemeralContainer.imagereplaced withk8s.ephemeralContainer.imageNamek8s.initContainer.imagereplaced withk8s.initContainer.imageNamek8s.podSecurityPoliciesandk8s.podsecuritypolicyremoved due to the removal of this feature in Kubernetesmicrosoft.application.createdDateTimereplaced withmicrosoft.application.createdAtmicrosoft.application.displayNamereplaced withmicrosoft.application.namemicrosoft.tenant.displayNamereplaced withmicrosoft.tenant.nameplatform.vulnerabilityReporton VMware replaced withasset.vulnerabilityReport
In the GitHub provider the previously deprecated and hidden --repository and --user command line flags are removed in favor of the --repos and --users flags.
If scanning using inventories in cnquery and cnspec the previously deprecated and hidden flags --inventory-ansible and --inventory-domainlist have been removed in favor of --inventory-format-ansible and --inventory-format-domainlist.
Other improvementsโ
- macOS nodes now use their serial number to identify the asset in order to prevent duplicate assets when users tether devices on mobile phones or change their machine name.
- Shell completion is now enabled by default for cnquery and cnspec on Windows.
- Detect Microsoft Exchange SU updates for improved CVE discovery with Microsoft Exchange.
- cnspec now automatically adds resource context to query results. This means that if you run for example a check on a Terraform HCL, and you are testing all resources, it will now capture the expected and actual values on each resource that fails so you can more easily remediate findings.
