| #440 |
P1: TimeoutService Must Update workflow_run Status
Issue #11 from review: Zombie workflows in UI. Location: engine/services/timeout_service.py. Finding...
|
closed |
critical |
2025-12-16 00:56 |
- |
|
| #439 |
P1: Enforce HIGHWAY_SANDBOX_SECRET in Production
Issue #5 from review: Ephemeral keys break distributed deployments. Location: engine/sandbox/executi...
|
closed |
critical |
2025-12-16 00:56 |
- |
|
| #436 |
BUG: durable_cron never fires - last_run variable not persisted before first sleep
## Problem
The durable_cron tool never actually spawns child workflows. It keeps waking up, recalcu...
|
closed |
critical |
2025-12-14 21:04 |
- |
|
| #411 |
CRITICAL: Sandbox all user Python code execution
Security flaw: tools.python.run gives tenant code raw DB access via ctx.db_connection. In multi-tena...
|
closed |
critical |
2025-12-12 06:40 |
- |
|
| #385 |
CRITICAL: No strict sandbox mode - unsandboxed execution proceeds with warning only
sandbox.py:226-232 - When Docker unavailable and not in container, system logs WARNING but executes ...
|
closed |
critical |
2025-12-11 22:21 |
- |
|
| #384 |
CRITICAL: SQL injection via dynamic table names in absurd_client
absurd_client.py uses f-strings for table names in multiple locations (e.g., line 657-664). While qu...
|
closed |
critical |
2025-12-11 22:21 |
- |
|
| #383 |
CRITICAL: Fail-open encryption allows insecure DB connections
db.py:143-146 and db.py:380-384 - When encryption configuration fails, system logs warning but conti...
|
closed |
critical |
2025-12-11 22:21 |
- |
|
| #373 |
CRITICAL: Replace unsafe eval() with safe expression parser
variable_resolver.py:177-186 uses eval() with empty __builtins__ for condition evaluation. This is i...
|
closed |
critical |
2025-12-11 21:54 |
- |
|
| #363 |
CRITICAL: sleeping_tasks.discard() called on dict - AttributeError
## Issue
In engine/durable_context.py:1389, the code calls discard() on sleeping_tasks which is a d...
|
closed |
critical |
2025-12-11 21:39 |
- |
|
| #362 |
CRITICAL: Heartbeat updates not committed to database
## Issue
The heartbeat service in engine/services/heartbeat_service.py:179-207 updates heartbeats w...
|
closed |
critical |
2025-12-11 21:39 |
- |
|
| #361 |
CRITICAL: ctx.now is non-deterministic - breaks replay guarantees
## Issue
The ctx.now property in engine/durable_context.py:486-503 returns datetime.now(timezone.ut...
|
closed |
critical |
2025-12-11 21:39 |
- |
|
| #360 |
CRITICAL: DataShard script storage uses workflow_name+version instead of definition_hash - causes stale data collisions
## Problem
When storing Python DSL scripts in DataShard, the key is based on workflow_name + version...
|
closed |
critical |
2025-12-11 10:26 |
- |
|
| #354 |
CRITICAL: http_request.py - Add SSRF Protection
## Issue
The http_request.py tool has no URL validation, allowing Server-Side Request Forgery (SSRF)...
|
closed |
critical |
2025-12-10 08:16 |
- |
|
| #353 |
Security & Implementation Review: Built-in Tools
## Tools Security Review (Issue #353)
### CRITICAL Issues Found and Fixed
- **#354 SSRF in http_req...
|
closed |
critical |
2025-12-10 08:12 |
- |
|
| #326 |
CRITICAL: Implement Database-Stored App Code - All Code Must Come From DB
## Problem
The current app/marketplace architecture has a critical flaw: app code is loaded from dis...
|
closed |
critical |
2025-12-09 11:23 |
- |
|
| #325 |
CRITICAL: Absurd retry creates new run_id while keeping same workflow_run_id, causing failed workflows to appear completed
## Bug Summary
When an Absurd task fails and retries, a NEW run_id is created (e.g., attempt=2) but ...
|
closed |
critical |
2025-12-09 05:51 |
- |
|
| #324 |
CRITICAL: App versioning does not isolate code - all tenants run whatever code is on disk
App version system gives FALSE sense of isolation. Workers load code from disk via importlib, ignori...
|
closed |
critical |
2025-12-09 05:45 |
- |
|
| #321 |
CRITICAL: Secrets system accepts name-based lookups instead of requiring UUID
Issue #317 was supposed to implement UUID-based secret identifiers, but the E2E test revealed that g...
|
closed |
critical |
2025-12-08 18:38 |
- |
|
| #320 |
CRITICAL: workflow_logging_injector.py fails with list-format tasks
The workflow_logging_injector.py expects tasks as a dict but workflow JSON has tasks as a list. Line...
|
closed |
critical |
2025-12-08 17:45 |
- |
|
| #315 |
Add Secret Scopes with Access Control (tenant/app/workflow)
## Problem
Currently any workflow in a tenant can access ANY secret in that tenant. No restrictions ...
|
closed |
critical |
2025-12-08 14:39 |
- |
|