| #569 |
[MEDIUM] analytics.py unused time_range query parameter
time_range parameter is parsed but never used in some analytics queries, wasting processing. Fix: Ei...
|
open |
medium |
2025-12-17 16:32 |
- |
|
| #568 |
[MEDIUM] Public endpoint lists scattered across files
PUBLIC_PATHS and skip-auth endpoint lists are defined in multiple places (rbac.py, auth.py) leading ...
|
open |
medium |
2025-12-17 16:32 |
- |
|
| #567 |
[MEDIUM] Missing workflow_id in permission check logs
Permission check audit logs in api/middleware/rbac.py don't include workflow_id when checking workfl...
|
open |
medium |
2025-12-17 16:32 |
- |
|
| #566 |
[MEDIUM] security_headers.py CSP nonce generated but unused
CSP nonce is generated on every request but never actually used in responses. This is wasted computa...
|
open |
medium |
2025-12-17 16:32 |
- |
|
| #565 |
[MEDIUM] apps.py N+1 query in list_versions endpoint
N+1 query pattern in list_versions endpoint. Each version fetches related data in separate queries i...
|
closed |
medium |
2025-12-17 16:32 |
- |
|
| #564 |
[MEDIUM] apps.py TOCTOU in update_app/delete_app/publish_version
Multiple TOCTOU race conditions in apps.py: 1) update_app(): SELECT then UPDATE without locking 2) d...
|
closed |
medium |
2025-12-17 16:32 |
- |
|
| #563 |
[API/Memory] logs.py DataFrame copies on every filter operation
File: api/blueprints/v1/logs.py:392-410. Multiple filtering operations create 5+ DataFrame copies. F...
|
closed |
medium |
2025-12-17 16:30 |
- |
|
| #562 |
[API/Perf] logs.py df.iterrows() performance anti-pattern
File: api/blueprints/v1/logs.py:412. df.iterrows() is notoriously slow - creates a Series for each r...
|
closed |
medium |
2025-12-17 16:30 |
- |
|
| #561 |
[API/Memory] tenant_apps.py unbounded tool list in list_available_tools
File: api/blueprints/v1/tenant_apps.py:1256-1298. No pagination. Tenant with many installed apps wit...
|
closed |
medium |
2025-12-17 16:30 |
- |
|
| #560 |
[API/Race] tenant_apps.py TOCTOU in update_configuration
File: api/blueprints/v1/tenant_apps.py:746-789. SELECT current config, merge, then UPDATE. Concurren...
|
closed |
medium |
2025-12-17 16:30 |
- |
|
| #559 |
[API/Race] tenant_apps.py TOCTOU in enable_app/disable_app
File: api/blueprints/v1/tenant_apps.py:554-657. SELECT to check current status, then UPDATE. Concurr...
|
closed |
medium |
2025-12-17 16:30 |
- |
|
| #558 |
[API/Race] tenant_apps.py TOCTOU in upgrade_app
File: api/blueprints/v1/tenant_apps.py:442-513. Multiple sequential SELECTs (current installation, t...
|
closed |
medium |
2025-12-17 16:30 |
- |
|
| #528 |
[API/Perf] Regex compilation in hot paths - multiple locations
**Files:**
- api/blueprints/v1/steps.py:377 - search regex compiled per-request
- api/blueprints/v1/...
|
closed |
medium |
2025-12-17 15:00 |
- |
|
| #524 |
[API/Race] App installation duplicate on concurrent request
**File:** api/blueprints/v1/tenant_apps.py:174-200
**Problem:** Check for existing installation (SE...
|
closed |
medium |
2025-12-17 15:00 |
- |
|
| #515 |
[ENGINE/Perf] Regex compiled inline in durable_context.py
**File:** engine/durable_context.py:1621
**Problem:** Regex pattern compiled inline rather than at ...
|
closed |
medium |
2025-12-17 14:59 |
- |
|
| #513 |
[ENGINE/Race] Sidecar telemetry singleton __init__ race
**File:** engine/sidecar_telemetry.py:74-81
**Problem:** Singleton pattern with __new__ but attribu...
|
closed |
medium |
2025-12-17 14:59 |
- |
|
| #507 |
Memory: Workflow graph recursion no limit
api/blueprints/v1/workflows.py:1283-1307 - _extract_all_tasks recursion has no depth limit. Maliciou...
|
closed |
medium |
2025-12-17 02:58 |
- |
|
| #499 |
Performance: Regex compiled inside hot path (steps)
api/blueprints/v1/steps.py:377 - re.compile() called on every log search request. FIX: Module-level ...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #498 |
Memory: Days filter unbounded query DoS
api/blueprints/v1/workflows.py:814-885 - No upper bound on days param. User can request days=36500 l...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #497 |
Memory: DataShard table unbounded loading
api/blueprints/v1/logs.py:90-119 - _read_table_to_pandas loads ENTIRE parquet tables. No pagination ...
|
closed |
medium |
2025-12-17 02:57 |
- |
|