StylusFrost
b8d3312577
feat: validate external provider secrets via SDK credential schema
...
- Add get_credentials_schema to the provider contract
- Validate non-built-in secrets against the declared schema; built-ins unchanged
- Accept secrets as-is when no schema is declared (validated at connection)
2026-06-01 01:08:41 +02:00
StylusFrost
51581c35ec
feat: add SDK contract for dynamic provider construction args
...
- Add get_scan_arguments/get_connection_arguments to the provider contract
- Route non-built-in providers through the contract; built-ins unchanged
- Cover the external dynamic path in tests
2026-06-01 00:19:17 +02:00
StylusFrost
cd15ed07eb
feat(api): resolve provider class dynamically via the SDK resolver
...
- Replace the hardcoded provider match with Provider.get_class
- Drop the closed provider-type union and TYPE_CHECKING imports
- Cover built-in and external entry-point resolution in tests
2026-05-31 23:41:10 +02:00
StylusFrost
37323e691a
feat(api): drive provider-type filters from SDK-available providers
...
- Replace the static provider enum in filters with the SDK provider list
- Cache the provider-type choices for hot list endpoints
- Drop the dead provider enum filter override
2026-05-31 23:33:23 +02:00
StylusFrost
f14778438e
feat(api): validate provider against SDK-available providers
...
- Drive provider validity from the SDK instead of a static enum
- Tolerate providers without a uid validator at model clean()
- Accept any SDK-exposed provider in the provider serializer field
2026-05-31 23:33:23 +02:00
StylusFrost
64fdea2954
feat(api): store provider as varchar and drop the enum type
...
- Promote the synced shadow column into provider, dropping the enum
- Rebuild the partial unique index concurrently after the swap
- Keep provider input validation at the serializer layer
2026-05-31 23:33:23 +02:00
StylusFrost
7dc0895581
feat(api): backfill provider_str shadow column per-tenant
...
- Add batched per-tenant backfill job for the provider_str column
- Register backfill task on the backfill queue
- Dispatch the backfill from a data-only migration
2026-05-31 23:33:23 +02:00
StylusFrost
383e9c6bd8
feat(api): add provider_str shadow column synced by trigger
...
- Add nullable provider_str CharField mirroring the provider enum column
- DB trigger keeps provider_str in sync on INSERT and UPDATE
- First step of the zero-downtime migration of the provider enum to varchar
2026-05-31 23:33:23 +02:00
Adrián Peña
81226cd837
perf(api): use literal scan_ids in finding-groups /latest aggregation ( #11380 )
2026-05-28 13:46:15 +02:00
Adrián Peña and Pepe Fagoaga
329dfdf8e6
perf(api): reduce DB load in scan hot loop by 13x ( #11249 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-05-25 19:09:28 +02:00
Josema Camacho
528d32601b
perf(api): speed up finding-groups endpoint for finding-level filters ( #11326 )
2026-05-22 13:59:05 +02:00
Prowler Bot and prowler-bot
56b3044aae
chore(release): Bump versions to v5.29.0 ( #11332 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-05-22 13:34:30 +02:00
Pedro Martín
dbbefd0558
feat(compliance): add resource metadata tab inside req find ( #11187 )
2026-05-21 15:09:43 +02:00
Daniel Barranquero
6eebfcfe77
feat(api): add okta provider support ( #11184 )
2026-05-20 10:46:29 +02:00
Prowler Bot and prowler-bot
476e7d1010
chore(release): Bump versions to v5.28.0 ( #11227 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-05-19 15:11:44 +02:00
Adrián Peña
37aa290d1c
feat(api): add health/live and health/ready probe endpoints ( #11200 )
2026-05-18 16:28:36 +02:00
Pedro Martín
5d34577b0b
feat(reporting): bound PDF compliance report memory and CPU ( #11160 )
2026-05-18 11:46:26 +02:00
Adrián Peña
40b7cb3991
fix(api): skip scan tasks when provider was deleted ( #11185 )
2026-05-15 13:48:02 +02:00
Rubén De la Torre Vico
9293c7b58d
fix(api): correct service principal for Bedrock AgentCore attack paths ( #11141 )
2026-05-13 10:14:59 +02:00
Josema Camacho
a30b6623ed
fix(api): make findings GIN index migration idempotent ( #11129 )
2026-05-12 13:47:08 +02:00
Josema Camacho
6dfa135755
perf(api): add multi-column GIN index on findings array fields ( #11001 )
2026-05-12 11:45:16 +02:00
Adrián Peña
9cedbd3582
fix(api): defer scan broker publish until transaction commits ( #11122 )
2026-05-12 11:04:39 +02:00
Prowler Bot and prowler-bot
500b395125
chore(api): Bump version to v1.28.0 ( #11112 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-05-11 15:36:36 +02:00
Pedro Martín and César Arroba
7971b40f49
feat(api): ASD Essential Eight compliance framework support ( #10982 )
...
Co-authored-by: César Arroba <cesar@prowler.com >
2026-05-06 14:03:00 +02:00
Daniel Barranquero
aa759ab6b7
fix(attack-surface): restore ec2-imdsv1 category alignment ( #10998 )
2026-05-05 16:42:47 +02:00
Pepe Fagoaga
85d38b5f71
feat(scans): Reset resource failed findings to 0 for ephemeral resources ( #10929 )
2026-04-29 19:08:16 +02:00
Josema Camacho
5d90352a0f
fix(api): redirect scan report and compliance downloads to presigned S3 URLs ( #10927 )
2026-04-29 13:19:19 +02:00
Josema Camacho
d2086cad3f
fix(api): Attack Paths AWS region fallback and stale SCHEDULED cleanup ( #10917 )
2026-04-29 12:20:43 +02:00
Prowler Bot and prowler-bot
2242689295
chore(api): Bump version to v1.27.0 ( #10913 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-28 12:34:43 +02:00
Josema Camacho
15ca69942d
fix(api): align get_compliance_frameworks with Compliance.get_bulk ( #10903 )
2026-04-27 18:10:08 +02:00
Adrián Peña
df76efc197
fix(api): skip null service/region in scan summary aggregation ( #10902 )
2026-04-27 17:46:46 +02:00
Adrián Peña
fb6da427f8
fix(api): prevent /tmp saturation from compliance report generation ( #10874 )
2026-04-27 11:05:34 +02:00
Adrián Peña
65fd3335d3
fix(api): reaggregate resource inventory and attack surface after muting findings ( #10843 )
2026-04-27 11:03:28 +02:00
Josema Camacho
0df24eeff6
fix(api): make Neo4j connection acquisition timeout configurable and enable Sentry tracing ( #10873 )
2026-04-23 17:52:14 +02:00
Pedro Martín
2304bf0093
feat(compliance): add CIS pdf reporting ( #10650 )
2026-04-23 13:28:30 +02:00
Josema Camacho
1093f6c99b
fix(api): merge Attack Paths findings on short UIDs for AWS resources ( #10839 )
2026-04-22 12:19:03 +02:00
Adrián Peña
1456def7d4
fix(api): reaggregate overview summaries after muting findings ( #10827 )
2026-04-22 10:44:21 +02:00
97a085bf21
feat(ui): Add user expulsion from tenants with JWT authentication fix ( #10787 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: Adrián Peña <adrianjpr@gmail.com >
2026-04-22 09:28:39 +02:00
Adrián Peña
61a62fd6e0
fix(api): treat muted findings as resolved in finding-groups status ( #10825 )
2026-04-21 17:31:44 +02:00
Adrián Peña
548389d79f
perf(api): speed up finding-groups /resources endpoint ( #10816 )
2026-04-21 12:53:59 +02:00
Adrián Peña
4346401a0a
fix(api): align latest_resources scan selection with completed_at ( #10802 )
2026-04-20 17:16:01 +02:00
Pedro Martín and Pepe Fagoaga
6ffe4e95bf
fix(api): detect silent failures in ResourceFindingMapping ( #10724 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-04-20 09:00:43 +02:00
Josema Camacho
536e90f2a5
perf(attack-paths): cleanup task prioritization, restore default batch sizes to 1000, upgrade Cartography to 0.135.0 ( #10729 )
2026-04-17 10:22:30 +02:00
Adrián Peña
b08b072288
fix(api): exclude muted findings from pass_count, fail_count and manual_count ( #10753 )
2026-04-16 15:56:08 +02:00
Pepe Fagoaga
12bf3d5e70
fix(db): add missing tenant_id filter in queries ( #10722 )
2026-04-16 11:55:38 +02:00
Adrián Peña
4002c28b5d
fix(api): add fallback handling for missing resources in findings ( #10708 )
2026-04-16 11:45:06 +02:00
Prowler Bot and prowler-bot
1784bf38ab
chore(api): Bump version to v1.26.0 ( #10715 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-15 20:13:33 +02:00
Josema Camacho
62f114f5d0
refactor(api): remove dead cleanup_findings no-op from attack-paths module ( #10684 )
2026-04-15 09:16:38 +02:00
Pepe Fagoaga and Josema Camacho
392ffd5a60
fix(beat): make it dependant from API service ( #10603 )
...
Co-authored-by: Josema Camacho <josema@prowler.com >
2026-04-14 18:35:26 +02:00
Prowler Bot and prowler-bot
1335332fe9
chore(api): Bump version to v1.25.0 ( #10668 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-13 22:18:59 +02:00