feat: add Image provider support with Trivy-based container scanning

- Add Image provider SDK with registry adapters (Docker Hub, OCI)
- Integrate Image scan path in Scan class alongside IaC provider
- Add CheckReportImage model and Finding output block for image results
- Add IMAGE enum, UID validation, and migration to API models
- Skip compliance and attack surface tasks for Image/IaC providers
- Bump Trivy to v0.69.1 and allow hyphenated CheckIDs for image provider
This commit is contained in:
Andoni A. committed 2026-02-19 15:56:47 +01:00
1 parent db03556ef6
commit 2fa4faa7f6
25 files changed
+4315 -2

No files matched your search

@@ -0,0 +1,37 @@
from django.db import migrations
import api.db_utils
class Migration(migrations.Migration):
dependencies = [
("api", "0075_cloudflare_provider"),
]
operations = [
migrations.AlterField(
model_name="provider",
name="provider",
field=api.db_utils.ProviderEnumField(
choices=[
("aws", "AWS"),
("azure", "Azure"),
("gcp", "GCP"),
("kubernetes", "Kubernetes"),
("m365", "M365"),
("github", "GitHub"),
("mongodbatlas", "MongoDB Atlas"),
("iac", "IaC"),
("oraclecloud", "Oracle Cloud Infrastructure"),
("alibabacloud", "Alibaba Cloud"),
("cloudflare", "Cloudflare"),
("image", "Image"),
],
default="aws",
),
),
migrations.RunSQL(
"ALTER TYPE provider ADD VALUE IF NOT EXISTS 'image';",
reverse_sql=migrations.RunSQL.noop,
),
]