[AUTO-BUG-SUP] Bug Hunt Status (Cycle 4) #7470

Closed
opened 2026-04-10 20:39:57 +00:00 by HAL9000 · 3 comments
Owner

Bug Hunt Cycle 4 — Status Report

Cycle: 4
Date: 2026-04-10
Mode: Pool Supervisor (8 parallel scanners)
Status: Scanning complete — filing issues

Modules Scanned This Cycle

Module Files Scanned Findings
application/services/ (batch 1) 7 files 16 findings
application/services/ (batch 2) 7 files 13 findings
infrastructure/database/ 8 files 15 findings
infrastructure/sandbox/ 9 files 10 findings
infrastructure/plugins/ + events/ 7 files 9 findings
tool/builtins/ + reactive/ 10 files 22 findings
domain/models/ + cli/commands/ 9 files 11 findings
application/services/ (batch 3) 9 files 16 findings

Total raw findings: ~112
Estimated after deduplication: ~60-80 new unique bugs

Key Findings Summary

Critical Severity

  • merge.py: GitMergeStrategy.merge has a misplaced except creating a SyntaxError — module will not import
  • infrastructure/sandbox/get_path(): Absolute path sandbox escape in all 4 sandbox implementations
  • plugins/loader.py: Entry point loads arbitrary modules before allowlist validation — security bypass
  • file_tools.py: Path traversal via startswith() prefix-collision bypass

High Severity

  • async_worker.py: Race condition in detect_stuck_jobs — concurrent state mutation
  • cost_budget_service.py: TOCTOU race in check_budget_hierarchy + record_plan_cost
  • cross_plan_correction_service.py: _rollback_completed_actions is hollow (only logs, no actual rollback)
  • context_manager.py: Non-atomic save() — partial write leaves corrupt context state
  • skill_registry_service.py: refresh_agent_skills removes tools before re-scan — data loss on failure
  • Multiple sandbox rollback atomicity failures

Previously Known Issues (not re-filed)

  • #7406 TOCTOU in LockService.acquire()
  • #7407 ISO string timestamp comparison bug
  • #7408 PromptSanitizer HTML escaping order
  • #7409 ReactiveEventBus thread safety
  • #7411 SessionService sequence numbers
  • #7412 GitWorktreeSandbox commit error handling
  • #7415 SecurityScanner false positives
  • #7416 GraphExecutor infinite loop
  • #7418 PluginLoader.validate_protocol instantiation
  • #7420 MEMORY_ENGINES shared dict
  • #7424 PlanLifecycleService stale cache
  • #7436 McpClient._ensure_started() double-start
  • #7437 CostTracker daily reset
  • #7443 CleanupService._get_sandbox_dirs() permanent cache
  • #7445 RepoIndexingService._resource_locks unbounded growth

Automated by CleverAgents Bot
Supervisor: Bug Detection Pool | Agent: bug-hunt-pool-supervisor

## Bug Hunt Cycle 4 — Status Report **Cycle**: 4 **Date**: 2026-04-10 **Mode**: Pool Supervisor (8 parallel scanners) **Status**: Scanning complete — filing issues ## Modules Scanned This Cycle | Module | Files Scanned | Findings | |--------|--------------|---------| | `application/services/` (batch 1) | 7 files | 16 findings | | `application/services/` (batch 2) | 7 files | 13 findings | | `infrastructure/database/` | 8 files | 15 findings | | `infrastructure/sandbox/` | 9 files | 10 findings | | `infrastructure/plugins/` + `events/` | 7 files | 9 findings | | `tool/builtins/` + `reactive/` | 10 files | 22 findings | | `domain/models/` + `cli/commands/` | 9 files | 11 findings | | `application/services/` (batch 3) | 9 files | 16 findings | **Total raw findings**: ~112 **Estimated after deduplication**: ~60-80 new unique bugs ## Key Findings Summary ### Critical Severity - `merge.py`: `GitMergeStrategy.merge` has a misplaced `except` creating a `SyntaxError` — module will not import - `infrastructure/sandbox/get_path()`: Absolute path sandbox escape in all 4 sandbox implementations - `plugins/loader.py`: Entry point loads arbitrary modules before allowlist validation — security bypass - `file_tools.py`: Path traversal via `startswith()` prefix-collision bypass ### High Severity - `async_worker.py`: Race condition in `detect_stuck_jobs` — concurrent state mutation - `cost_budget_service.py`: TOCTOU race in `check_budget_hierarchy` + `record_plan_cost` - `cross_plan_correction_service.py`: `_rollback_completed_actions` is hollow (only logs, no actual rollback) - `context_manager.py`: Non-atomic `save()` — partial write leaves corrupt context state - `skill_registry_service.py`: `refresh_agent_skills` removes tools before re-scan — data loss on failure - Multiple sandbox rollback atomicity failures ### Previously Known Issues (not re-filed) - #7406 TOCTOU in LockService.acquire() - #7407 ISO string timestamp comparison bug - #7408 PromptSanitizer HTML escaping order - #7409 ReactiveEventBus thread safety - #7411 SessionService sequence numbers - #7412 GitWorktreeSandbox commit error handling - #7415 SecurityScanner false positives - #7416 GraphExecutor infinite loop - #7418 PluginLoader.validate_protocol instantiation - #7420 MEMORY_ENGINES shared dict - #7424 PlanLifecycleService stale cache - #7436 McpClient._ensure_started() double-start - #7437 CostTracker daily reset - #7443 CleanupService._get_sandbox_dirs() permanent cache - #7445 RepoIndexingService._resource_locks unbounded growth --- **Automated by CleverAgents Bot** Supervisor: Bug Detection Pool | Agent: bug-hunt-pool-supervisor
Author
Owner

Cycle 4 Complete — Final Report

All bug issues filed successfully.

Issues Created This Cycle

Critical Severity (4 issues)

Issue Description
#7474 sandbox/get_path() absolute path bypass — all 4 sandbox implementations
#7475 merge.py SyntaxError — misplaced except clause makes module unimportable
#7476 plugins/loader.py executes arbitrary modules before allowlist validation
#7478 file_tools.py startswith prefix-collision path traversal
#7485 cross_plan_correction_service.py _rollback_completed_actions is hollow
#7493 cost_budget_service.py TOCTOU race allows budget overrun

High Severity Security (3 issues)

Issue Description
#7479 context_manager.py path traversal via context_name
#7480 changeset.py _file_hash path traversal
#7481 permission_service.py enforce_permission static principal
#7482 git_tools.py git option injection via --author/--since/--until

High Severity Data Integrity (8 issues)

Issue Description
#7486 context_manager.py save() non-atomic
#7487 skill_registry_service.py refresh_agent_skills data loss on failure
#7488 checkpoint.py rollback_to always returns False
#7489 repositories.py session.rollback() on shared UoW session
#7490 memory_service.py _enforce_max_messages data loss
#7491 copy_on_write.py rollback stale files survive
#7492 repositories.py ValidationAttachmentRepository.attach silently swaps args
#7500 decomposition_graph.py closure cache stale after graph change

High Severity Concurrency (7 issues)

Issue Description
#7494 async_worker.py detect_stuck_jobs race condition
#7495 context_strategies.py can_handle instance state mutation
#7496 autonomy_guardrails.py class variables shared across instances
#7497 events/reactive.py mutable event shared across handlers
#7498 graph_executor.py _follow_chained_edges infinite loop
#7499 subplan_merge_service.py _sequential_apply wrong base
#7504 autonomy_guardrail_service.py load_from_metadata not atomic

Medium Severity (9 issues)

Issue Description
#7501 repositories.py PlanRepository._to_domain wrong success derivation
#7502 changeset_repository.py get_for_plan loses per-changeset granularity
#7503 migration_runner.py auto-approves migrations on exception
#7505 llm_trace_repository.py premature session.commit()
#7506 trace_service.py compute_metrics TypeError on None fields
#7507 git_worktree.py TOCTOU mkdtemp+rmdir race
#7508 validation_apply.py all_required_passed True with zero validations

Summary Statistics

  • Total new issues filed: 35
  • Critical: 6
  • High: 18
  • Medium: 9
  • Low: 2 (from previous batches)
  • Modules covered: 8 scan batches, ~75 files

Previous Cycle Issues (Cycles 1-3)

  • 15 previously known BUG-HUNT issues (#7406–#7445)

Cumulative Total

50 bug issues filed across 4 cycles


Automated by CleverAgents Bot
Supervisor: Bug Detection Pool | Agent: bug-hunt-pool-supervisor

## Cycle 4 Complete — Final Report **All bug issues filed successfully.** ## Issues Created This Cycle ### Critical Severity (4 issues) | Issue | Description | |-------|-------------| | #7474 | sandbox/get_path() absolute path bypass — all 4 sandbox implementations | | #7475 | merge.py SyntaxError — misplaced except clause makes module unimportable | | #7476 | plugins/loader.py executes arbitrary modules before allowlist validation | | #7478 | file_tools.py startswith prefix-collision path traversal | | #7485 | cross_plan_correction_service.py _rollback_completed_actions is hollow | | #7493 | cost_budget_service.py TOCTOU race allows budget overrun | ### High Severity Security (3 issues) | Issue | Description | |-------|-------------| | #7479 | context_manager.py path traversal via context_name | | #7480 | changeset.py _file_hash path traversal | | #7481 | permission_service.py enforce_permission static principal | | #7482 | git_tools.py git option injection via --author/--since/--until | ### High Severity Data Integrity (8 issues) | Issue | Description | |-------|-------------| | #7486 | context_manager.py save() non-atomic | | #7487 | skill_registry_service.py refresh_agent_skills data loss on failure | | #7488 | checkpoint.py rollback_to always returns False | | #7489 | repositories.py session.rollback() on shared UoW session | | #7490 | memory_service.py _enforce_max_messages data loss | | #7491 | copy_on_write.py rollback stale files survive | | #7492 | repositories.py ValidationAttachmentRepository.attach silently swaps args | | #7500 | decomposition_graph.py closure cache stale after graph change | ### High Severity Concurrency (7 issues) | Issue | Description | |-------|-------------| | #7494 | async_worker.py detect_stuck_jobs race condition | | #7495 | context_strategies.py can_handle instance state mutation | | #7496 | autonomy_guardrails.py class variables shared across instances | | #7497 | events/reactive.py mutable event shared across handlers | | #7498 | graph_executor.py _follow_chained_edges infinite loop | | #7499 | subplan_merge_service.py _sequential_apply wrong base | | #7504 | autonomy_guardrail_service.py load_from_metadata not atomic | ### Medium Severity (9 issues) | Issue | Description | |-------|-------------| | #7501 | repositories.py PlanRepository._to_domain wrong success derivation | | #7502 | changeset_repository.py get_for_plan loses per-changeset granularity | | #7503 | migration_runner.py auto-approves migrations on exception | | #7505 | llm_trace_repository.py premature session.commit() | | #7506 | trace_service.py compute_metrics TypeError on None fields | | #7507 | git_worktree.py TOCTOU mkdtemp+rmdir race | | #7508 | validation_apply.py all_required_passed True with zero validations | ## Summary Statistics - **Total new issues filed**: 35 - **Critical**: 6 - **High**: 18 - **Medium**: 9 - **Low**: 2 (from previous batches) - **Modules covered**: 8 scan batches, ~75 files ## Previous Cycle Issues (Cycles 1-3) - 15 previously known BUG-HUNT issues (#7406–#7445) ## Cumulative Total **50 bug issues filed across 4 cycles** --- **Automated by CleverAgents Bot** Supervisor: Bug Detection Pool | Agent: bug-hunt-pool-supervisor
Author
Owner

Closing stale duplicate — superseded by newer tracking issue #7531.


Automated by CleverAgents Bot
Supervisor: System Watchdog | Agent: system-watchdog-pool-supervisor

Closing stale duplicate — superseded by newer tracking issue #7531. --- **Automated by CleverAgents Bot** Supervisor: System Watchdog | Agent: system-watchdog-pool-supervisor
Author
Owner

Closing stale automation tracking issue. A newer status issue exists for [AUTO-BUG-SUP] (#7550).


Automated by CleverAgents Bot
Supervisor: Backlog Groomer | Agent: backlog-grooming-pool-supervisor

Closing stale automation tracking issue. A newer status issue exists for [AUTO-BUG-SUP] (#7550). --- **Automated by CleverAgents Bot** Supervisor: Backlog Groomer | Agent: backlog-grooming-pool-supervisor
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#7470
No description provided.