Skip to content

escapeboy/agent-fleet-o

v1.21.0 Security

This release includes 3 security fixes for security teams reviewing exposed deployments.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 3 known CVEs

Topics

agent-orchestration agentic-ai ai-agents ai-automation autonomous-agents claude
+14 more
crewai-alternative langgraph-alternative laravel livewire llm-workflow mcp-server model-context-protocol multi-agent n8n-alternative ollama openai php self-hosted workflow-automation

Affected surfaces

auth

Summary

AI summary

CRITICAL — OAuth account takeover via unverified email auto-link is now prevented.

Full changelog

[1.21.0] - 2026-04-18

Added

  • Founder Mode pack — platform-owned marketplace bundle of 6 persona agents (Strategist, Product Lead, Growth Hacker, Finance Advisor, Ops Manager, Risk Officer), 20 framework skills covering product/growth/finance/ops/testing methodologies (RICE, SPIN, BANT, MEDDIC, OKRs, Bullseye, Lean Startup, Shape Up, Unit Economics, Kano, TAM-SAM-SOM, K-Factor, Cash Flow, NPV-IRR, RACI, Lean Ops, A/B Testing, 3-Day MVP, OWASP, Bessemer), and 5 pre-built workflows. New Framework enum (20 cases) + FrameworkCategory (6) on skills.framework. DeliverableType enum (8 cases: ExecutiveReport/ActionPlan/ResearchBrief/Forecast/Pitch/ContentPiece/TechnicalSpec/Template) on artifacts.deliverable_type with typed Blade partials. /frameworks Livewire browser. 3 MCP tools (framework_list, founder_mode_status, founder_mode_install).
  • Bidirectional widget comments for bug reports — reporters and agents can now exchange comments through the public JS widget. New public endpoints: GET /api/public/widget/bug-reports (list with optional ?project= filter), GET /api/public/widget/bug-reports/{signal}/comments, POST /api/public/widget/bug-reports/{signal}/comments. New CommentAuthorType enum (human/agent/reporter/support) with isWidgetVisible() helper. signal_comments.widget_visible column + partial index. Admin reply defaults to support type (visible to reporter) with opt-in downgrade to human (internal only). Reporter name shown in admin UI from signal.payload.reporter_name. unread_comments_count exposed via withCount. SignalCommentAdded event.
  • Structured intake for widget bug reports (opt-in)bug_report_project_configs table allows per-project configuration of required fields and intake workflow. MCP tools: bug_report_project_config_get, bug_report_project_config_update.
  • AI risk scanning for Marketplace listings — automatic risk assessment before publish, exposed in marketplace_browse MCP results.
  • MCP coverage audit gap fixessignal_get now exposes metadata; bug_report_detail exposes ai_extracted; marketplace_browse exposes risk_level; agent_list/agent_get expose scope and owner_user_id; agent_list adds scope filter; new bug_report_delete tool; new bug_report_project_config get + update tools.
  • Configurable VERIFIED_EMAIL_PROVIDERS — comma-separated env var (default: gmail.com,outlook.com,yahoo.com,...). Controls which OAuth email domains qualify for auto-link.
  • Bug report list — delete button added to admin list page.

Fixed

  • Bug report detail — only the first attachment was rendered; now renders all attachments in the media collection.
  • Widget bug-report listunread_comments_count was always 0 (missing withCount); now returns real counts.
  • InsightsPage — team scoping via whereHas, correct stage column names, correct deduction type for spend calculations.
  • AiControlCenterPagecircuit_breaker_states query was broken; fixed column reference.
  • StageType enum — cast to ->value in Insights Blade template to prevent Object of class StageType could not be converted to string.
  • Sidebar — light-bulb icon now registered in sidebar-link.blade.php for the Insights nav item.

Security

  • CRITICAL — OAuth account takeover via unverified email auto-link. SocialAccountService::handleCallback() step 4 auto-linked any OAuth account whose email matched an existing user without verifying the provider was trustworthy. Attacker could use a provider that hands out unverified emails (e.g. a custom OAuth provider) to hijack any account. Guard added: auto-link only runs when the OAuth provider is on the verified_email_providers list. Configurable via VERIFIED_EMAIL_PROVIDERS env.
  • Prompt injection guard in chatbot memory context. User-controlled content (agent name, memory tags) was interpolated unsanitized into the LLM context string. Strip to printable ASCII + truncate applied before interpolation.
  • IDOR fix in chatbot memory context provider. Memory lookup was missing team-scope check; fixed with explicit where('team_id', ...).

Security Fixes

  • CRITICAL — OAuth account takeover via unverified email auto-link prevented; auto-link now limited to providers listed in VERIFIED_EMAIL_PROVIDERS env var (e.g., gmail.com,outlook.com,yahoo.com,...)
  • Prompt injection guard added to chatbot memory context by stripping non‑ASCII characters
  • IDOR fix: chatbot memory provider now enforces team‑scope check with where('team_id', ...)

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track escapeboy/agent-fleet-o

Get notified when new releases ship.

Sign up free

About escapeboy/agent-fleet-o

AI Agent Mission Control with 200+ MCP tools. Manage agents, experiments, workflows, crews, skills, and more via stdio + HTTP/SSE. Self-hosted, open-source (AGPL-3.0)

All releases →

Beta — feedback welcome: [email protected]