mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-07-24 13:01:56 +00:00
feat(image): enable misconfig scanner by default for image scans
This commit is contained in:
@@ -85,7 +85,9 @@ class ImageProvider(Provider):
|
||||
|
||||
self.images = images if images is not None else []
|
||||
self.image_list_file = image_list_file
|
||||
self.scanners = scanners if scanners is not None else ["vuln", "secret"]
|
||||
self.scanners = (
|
||||
scanners if scanners is not None else ["vuln", "secret", "misconfig"]
|
||||
)
|
||||
self.image_config_scanners = (
|
||||
image_config_scanners if image_config_scanners is not None else []
|
||||
)
|
||||
@@ -319,6 +321,25 @@ class ImageProvider(Provider):
|
||||
return parts[0]
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def _is_registry_url(image_uid: str) -> bool:
|
||||
"""Determine whether an image UID is a registry URL (namespace only).
|
||||
|
||||
Bare hostnames like "714274078102.dkr.ecr.eu-west-1.amazonaws.com"
|
||||
or "myregistry.com:5000" are registry URLs (dots in host, no slash).
|
||||
Image references like "alpine:3.18" or "nginx" are not.
|
||||
"""
|
||||
if "/" not in image_uid:
|
||||
host_part = image_uid.split(":")[0]
|
||||
if "." in host_part:
|
||||
return True
|
||||
|
||||
registry_host = ImageProvider._extract_registry(image_uid)
|
||||
if not registry_host:
|
||||
return False
|
||||
repo_and_tag = image_uid[len(registry_host) + 1 :]
|
||||
return "/" not in repo_and_tag and ":" not in repo_and_tag
|
||||
|
||||
def cleanup(self) -> None:
|
||||
"""Clean up any resources after scanning."""
|
||||
|
||||
|
||||
@@ -50,9 +50,9 @@ def init_parser(self):
|
||||
"--scanner",
|
||||
dest="scanners",
|
||||
nargs="+",
|
||||
default=["vuln", "secret"],
|
||||
default=["vuln", "secret", "misconfig"],
|
||||
choices=SCANNERS_CHOICES,
|
||||
help="Trivy scanners to use. Default: vuln, secret. Available: vuln, secret, misconfig, license",
|
||||
help="Trivy scanners to use. Default: vuln, secret, misconfig. Available: vuln, secret, misconfig, license",
|
||||
)
|
||||
|
||||
scan_config_group.add_argument(
|
||||
|
||||
@@ -53,7 +53,7 @@ class TestImageProvider:
|
||||
assert provider._type == "image"
|
||||
assert provider.type == "image"
|
||||
assert provider.images == ["alpine:3.18"]
|
||||
assert provider.scanners == ["vuln", "secret"]
|
||||
assert provider.scanners == ["vuln", "secret", "misconfig"]
|
||||
assert provider.image_config_scanners == []
|
||||
assert provider.trivy_severity == []
|
||||
assert provider.ignore_unfixed is False
|
||||
|
||||
Reference in New Issue
Block a user