Adrián Jesús Peña Rodríguez
ffc16e1021
Merge branch 'master' into fix/finding-groups-aggregated-filters
2026-03-24 12:38:25 +01:00
Adrián Jesús Peña Rodríguez
c99a203517
fix(api): use hybrid aggregation path for finding-group filters
...
- Aggregate from findings when finding-level filters are present (region, delta, etc.)
- Keep summary path for compatible filters to preserve performance
- Apply status/severity filters post-aggregation in both paths
- Fix sort by time fields mapping to aggregated annotation names
- Use DenseRank instead of RowNumber to keep all findings per latest scan
- Expose muted_reason in finding-group resource endpoints
- Add tests for combined filters, validation errors, and time-field sorting
- Deduplicate list/latest actions via shared helpers
- Consolidate check_title icontains filter in base class
2026-03-24 12:34:49 +01:00
Josema Camacho
55ed7a0663
docs(CHANGELOG): cutting for 5.22.0 ( #10437 )
2026-03-24 12:15:44 +01:00
Josema Camacho
844efbd046
perf(api): deduplicate nodes before ProwlerFinding lookup in Attack Paths queries ( #10424 )
2026-03-23 17:16:15 +01:00
Adrián Jesús Peña Rodríguez
ce9e1af176
Merge branch 'master' into fix/finding-groups-aggregated-filters
2026-03-23 17:03:08 +01:00
Josema Camacho
d60b4f0f52
fix(api): Update Flask and Werkzeug to address vulnerabilities ( #10430 )
2026-03-23 16:59:03 +01:00
Adrián Jesús Peña Rodríguez
cdfc52732c
chore: ruff format
2026-03-23 16:27:54 +01:00
Adrián Jesús Peña Rodríguez
373f6e8ca0
chore(api): update changelog for finding-group filters
2026-03-23 16:23:23 +01:00
Adrián Jesús Peña Rodríguez
efe14dfa7d
fix(api): support finding-group aggregated filters
...
- Apply status and severity filters on aggregated finding-group results
- Prefilter summary groups by finding-level filter matches for advanced dimensions
- Add coverage for latest/list filters and keep check_title sorting support
2026-03-23 16:20:51 +01:00
Adrián Peña
591f5a8603
fix(api): align finding-group latest aggregation ( #10419 )
2026-03-23 12:43:45 +01:00
Adrián Peña
ad6368a446
chore: add defusedxml as api dependency ( #10401 )
2026-03-19 18:26:55 +01:00
Adrián Peña
3361393b7d
chore: update changelog ( #10400 )
2026-03-19 17:55:18 +01:00
Sandiyo Christan
0b7a21a70c
fix(api): [security] use defusedxml to prevent XML bomb DoS in SAML metadata parsing ( #10165 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Adrián Peña <adrianjpr@gmail.com >
2026-03-19 17:44:52 +01:00
Josema Camacho
872e6e239c
perf(api): replace JOINs with pre-check in threat score aggregation query ( #10394 )
2026-03-19 17:30:06 +01:00
Adrián Peña
2fe92cfce3
feat(api): add check title search for finding groups ( #10377 )
2026-03-19 16:48:26 +01:00
Adrián Peña
ab266080d0
perf(api): add trigram indexes for finding groups ( #10378 )
2026-03-19 13:54:50 +01:00
Prowler Bot
4638b39ed4
chore(api): Bump version to v1.23.0 ( #10393 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-03-19 13:42:46 +01:00
Pepe Fagoaga
8317eff67b
chore(changelog): prepare for v5.21.0 ( #10380 )
2026-03-19 11:09:51 +01:00
Josema Camacho
1da10611e7
perf(attack-paths): reduce sync and findings memory usage with smaller batches and cursor iteration ( #10359 )
2026-03-18 10:08:30 +01:00
Josema Camacho
f5f1f1ab2d
fix(attack-paths): recover graph_data_ready when scan fails during graph swap ( #10354 )
2026-03-18 09:49:45 +01:00
Sandiyo Christan
88ce188103
fix(api): [security] use psycopg2.sql to safely compose DDL in PostgresEnumMigration ( #10166 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Adrián Peña <adrianjpr@gmail.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-03-17 13:24:24 +01:00
Zakir Jiwani
887a20f06e
feat: CORS_ALLOWED_ORIGINS configurable via environment variable ( #10355 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-03-17 09:55:06 +01:00
Josema Camacho
6a4278ed4d
fix(docs): setting a couple of API PRs in the next release instead of 5.20 ( #10357 )
2026-03-17 09:00:56 +01:00
Josema Camacho
787a339cd9
feat(attack-paths): scans add tenant and provider related labels to nodes ( #10308 )
2026-03-16 16:31:15 +01:00
Josema Camacho
ad02801c74
refactor(attack-paths): complete migration to private graph labels and properties (phase 2) ( #10268 )
2026-03-16 12:34:58 +01:00
Pepe Fagoaga
b8c6f3ba67
chore(skills): add Django migrations skills ( #10260 )
2026-03-12 18:37:43 +01:00
Prowler Bot
80a814afce
chore(api): Bump version to v1.22.0 ( #10326 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-03-12 18:26:23 +01:00
Josema Camacho
97a91bfaaa
docs(changelog): fix formatting for v5.20.0 release ( #10316 )
2026-03-12 12:58:02 +01:00
Josema Camacho
4dc3765670
fix(api): add security hardening for Attack Paths custom query endpoint ( #10238 )
2026-03-12 10:46:29 +01:00
Josema Camacho
628a076118
docs(attack-paths): add module docstring to scan orchestrator ( #10277 )
2026-03-12 08:49:48 +01:00
Josema Camacho
57bcb74d0d
fix(api): upgrade Cartography to 0.132.0 to fix exposed_internet on ELB/ELBv2 nodes ( #10272 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-11 18:12:43 +01:00
lydiavilchez
65a7098104
feat(api): add Google Workspace provider API integration ( #10247 )
2026-03-11 12:06:30 +01:00
Josema Camacho
57f3920e66
refactor(api): migrate Attack Paths network exposure queries from APOC to openCypher ( #10266 )
2026-03-10 16:48:16 +01:00
Josema Camacho
3288a4a131
fix(api): add missing logging for Attack Paths query execution and scan error handling ( #10269 )
2026-03-10 16:47:53 +01:00
Pepe Fagoaga
d3213e9f1e
chore(providers): Return 409 on conflict ( #10293 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-10 10:54:09 +01:00
Pedro Martín
86daf7bc05
fix(pdf): align ENS report requirement status ( #10270 )
2026-03-06 12:36:50 +01:00
Prowler Bot
4e80e0564d
chore(api): Bump version to v1.21.0 ( #10254 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-03-04 21:18:34 +01:00
Pepe Fagoaga
c71ae75c70
chore(changelog): release v5.19.0 ( #10180 )
2026-03-02 13:24:03 +01:00
Andoni Alonso
8adb4f43ad
chore: bump Trivy to 0.69.2 ( #10210 )
2026-03-02 09:54:34 +01:00
Josema Camacho
b3a67fa1a0
feat(api): add accept header text/plain to attack paths query endpoints for support llm-friendly output ( #10162 )
...
Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com >
2026-02-26 12:53:58 +01:00
Adrián Peña
902558f2d4
feat(api): block attack-paths-scans custom queries and schema endpoints ( #10177 )
2026-02-26 12:27:52 +01:00
Adrián Peña
eacb3430cb
fix(api): recalc tenant compliance summary after provider deletion ( #10172 )
2026-02-26 11:18:15 +01:00
Adrián Peña
e47f2b4033
fix(api): harden security hub retries ( #10144 )
2026-02-25 11:34:41 +01:00
Josema Camacho
247bde1ef4
feat(attack-paths): add custom query and cartography schema endpoints ( #10149 )
2026-02-24 15:49:50 +01:00
Andoni Alonso
c159181d27
feat(api): add Image provider support for container image scanning ( #10128 )
2026-02-24 13:06:34 +01:00
Daniel Barranquero
030d053c84
chore(openstack): support multi-region in the same provider ( #10135 )
2026-02-24 12:50:52 +01:00
Josema Camacho
e688e60fde
feat(attack-paths): configure Neo4j for read-only queries ( #10140 )
2026-02-24 10:15:22 +01:00
Adrián Peña
584455a12a
feat(api): add finding groups summaries ( #9961 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2026-02-23 13:44:45 +01:00
Josema Camacho
75c7f61513
feat(api): private labels and properties in Attack Paths graph - phase 1 ( #10124 )
2026-02-23 11:30:26 +01:00
Josema Camacho
b5d2a75151
feat(api): filter Attack Paths query results by provider_id ( #10118 )
2026-02-23 11:06:30 +01:00