Strixa AI
TopicsSearchPricing
Sign inStart tracking
Strixa AI
TopicsSearchPricing
Sign inStart tracking
S
Intelligence HubEnterprise Workspace
New Tracking
Topics DirectoryTrend AnalysisEvidence PanelSignal FeedTechnical Events
DocumentationAccount
Topics Directory/AI Security
Stage: Expansion

AI Security

Track important changes in AI Security, including capabilities, product updates, adoption signals, risks, and evidence worth continued monitoring.

AI SECURITYTRACKING
Live from /v1/topics/ai_security
Timeline
64 events
Signals
20 signal records
Evidence
64 evidence items
Sources
6 sources

HighTrend velocity

2 days agoLatest tracked change

Subscribe to Topic

Signal Feed

Changes worth continued tracking

20 unique signals
  1. pull requestMay 19, 2026, 8:18 PM

    Add Host-header gate to all /api routes to block DNS-rebinding abuse

    Introduces a new Next.js middleware for `/api/*` that validates the `Host` header via a new centralized validator, defaulting to a loopback-only allowlist (127.0.0.1/localhost/::1/0.0.0.0 on any port) and returning 403 when the host is not allowed, with optional operator overrides via environment variables.

    What ChangedIntroduces a new Next.js middleware for `/api/*` that validates the `Host` header via a new centralized validator, defaulting to a loopback-only allowlist (127.0.0.1/localhost/::1/0.0.0.0 on any port) and returning 403 when the host is not allowed, with optional operator overrides via environment variables.
    Why It MattersDevelopers running html-anything locally are protected from drive-by attacks that could silently execute local coding-agent CLIs and write attacker-controlled Vercel credentials, because rebounded-origin API calls now get blocked before reaching sensitive routes. The practical outcome is reduced risk of local machine compromise (for example, exfiltrating `~/.ssh/id_rsa` via convert prompts or hijacking deploys via `/api/deploy/config`). After this change, the remaining risk is concentrated in deployments that intentionally disable host checks (`HTML_ANYTHING_ALLOW_ANY_HOST=1`) or rely on reverse-proxy Host rewriting, so operators should verify proxy Host/Origin enforcement and environment configuration continuity in production.
    Final score 85Confidence 991 evidence itemNext.js middlewareHost header allowlistDNS rebindingsrc/app/api/convertsrc/app/api/deploysrc/app/api/deploy/configsrc/lib/security/host-validation.ts
    Analyze Evidence
  2. pull requestMay 19, 2026, 8:37 PM

    Enforce Ed25519 verification for plugin registry discovery

    The PR replaces a no-op plugin-registry signature check with a real Ed25519 verification step and binds that check to the trusted pinned key from default registry config, so registry metadata can’t be accepted as valid unless it is actually cryptographically signed as expected. The discovery call site now waits for this result and, when verification fails under default `requireVerification`, falls back instead of treating the registry as trusted.

    What ChangedThe PR replaces a no-op plugin-registry signature check with a real Ed25519 verification step and binds that check to the trusted pinned key from default registry config, so registry metadata can’t be accepted as valid unless it is actually cryptographically signed as expected. The discovery call site now waits for this result and, when verification fails under default `requireVerification`, falls back instead of treating the registry as trusted.
    Why It MattersPlugin users and operators installing from the default ruflo registries become much less exposed to gateway tampering because a substituted registry payload can no longer pass as legitimate and trigger plugin installs carrying network/filesystem/hooks permissions. The path now verifies the downloaded registry with Ed25519 before trust is granted and only continues when valid, which blocks a key attack chain from compromised DNS/VPN/gateway routes into code execution via plugin loading. Continue monitoring for signature-format compatibility changes (JSON serialization/canonicalization), and validate that demo-registry fallback is safe and clearly signaled in production environments.
    Final score 83Confidence 981 evidence itemPluginDiscoveryService.discoverRegistryverifyRegistrySignatureverifyEd25519SignatureDEFAULT_PLUGIN_STORE_CONFIGregistry.publicKeyPluginRegistry
    Analyze Evidence
  3. pull requestMay 20, 2026, 1:05 PM

    moai-adk P0 security blockers fixed to unblock v2.20.0-rc1

    The merged PR resolves the three critical release-blocking security defects in moai-adk by sealing token-file permissions, blocking tmux-based sensitive env leakage paths, and hardening checksum handling for auto-updates, so the v2.20.0-rc1 release can proceed without those P0 stop-ship risks.

    What ChangedThe merged PR resolves the three critical release-blocking security defects in moai-adk by sealing token-file permissions, blocking tmux-based sensitive env leakage paths, and hardening checksum handling for auto-updates, so the v2.20.0-rc1 release can proceed without those P0 stop-ship risks.
    Why It Mattersmoai-adk를 운영하는 개발자와 릴리스 담당자는 이제 v2.20.0-rc1를 배포할 때 GLM 토큰 유출, tmux 경유 민감정보 노출, 검증되지 않은 업데이트 적용으로 인한 보안 사고 가능성이 낮아져 실제 운영 손실 위험을 즉시 줄일 수 있으며, 앞으로도 P0-4~P0-8 잔여 항목이 남지 않았는지 추적해야 합니다. Technical follow-up includes validating that the new 0o600 permission behavior remains stable across supported OSes, tmux cleanup is reliably executed under failure paths, and checksum-retry backoff does not mask repeated transport corruption in production update channels.
    Final score 83Confidence 961 evidence itemCWE-732/552CWE-214CWE-345settings.local.jsonInjectSensitiveEnvErrChecksumUnavailablechecksum verification
    Analyze Evidence
  4. pull requestMay 20, 2026, 7:27 AM

    Kilo adds strict allowlist validation to skill removal to prevent path traversal

    The PR now blocks skill deletions that target paths outside approved directories by validating the resolved path before deletion, replacing a previously unguarded delete path that could be driven by crafted input.

    What ChangedThe PR now blocks skill deletions that target paths outside approved directories by validating the resolved path before deletion, replacing a previously unguarded delete path that could be driven by crafted input.
    Why It MattersUsers deleting skills through the webview/CLI flow can avoid accidental or malicious deletion of files outside expected folders, because unsafe locations are blocked before any file-system removal occurs. The hardening is done at both API route and service layers with explicit trusted-root checks, which should reduce file-loss incidents; continue tracking whether custom workspace layouts are fully covered by the allowlist and whether any alternative deletion path can execute without the same check.
    Final score 83Confidence 931 evidence itemisPathWithinAllowlist/kilocode/skill/removeSkill.remove()path allowlistrm()
    Analyze Evidence
  5. pull requestMay 22, 2026, 2:22 AM

    LibreChat adds secure, refreshable Azure Blob SAS URLs for private storage

    This change introduces a unified Azure Blob URL signing and refresh flow so LibreChat can serve stored files from private Azure containers using time-limited SAS links, with the storage strategy defaulting away from implicit public access.

    What ChangedThis change introduces a unified Azure Blob URL signing and refresh flow so LibreChat can serve stored files from private Azure containers using time-limited SAS links, with the storage strategy defaulting away from implicit public access.
    Why It MattersOrganizations using LibreChat with Azure Blob can now keep containers private in production without exposing permanent public links or adding a reverse proxy just to protect files, while still serving uploads/avatars through short-lived links that are automatically refreshed. This matters to operators and users because it closes a silent security gap where missing env config created world-readable containers and reduced 401 incidents after file uploads switched to private access. The implementation now aligns Azure behavior with existing S3 logic and uses stricter error handling for bad connection strings, so the next signals to watch are whether any legacy deployments break on the new default and whether link refresh timing causes spikes in re-auth traffic or residual 401s.
    Final score 83Confidence 981 evidence itemAzure Blob StorageSAS URLLibreChat storage strategyAZURE_STORAGE_PUBLIC_ACCESSManaged IdentityS3 parity
    Analyze Evidence
  6. pull requestMay 21, 2026, 8:57 AM

    Enforce agent-level deny permissions over session approvals

    A critical permission-resolution bug was fixed so agent-configured deny rules for actions like `bash` are no longer bypassed by session-level permission approvals, which previously allowed forbidden operations to run in the same session.

    What ChangedA critical permission-resolution bug was fixed so agent-configured deny rules for actions like `bash` are no longer bypassed by session-level permission approvals, which previously allowed forbidden operations to run in the same session.
    Why It MattersDevelopers and operators can keep using session approvals without fear that a previously denied command (for example, shell execution) will run anyway, so policy enforcement stays intact during agent tool calls and security boundaries are more reliable. Technically, `findLast` now resolves agent denies last in the merged rule chain and applies them across all modes, with blanket-deny matching corrected to avoid false positives from non-blanket rules; this should be monitored for any new precedence regressions when new agent modes or permission types are added.
    Final score 83Confidence 951 evidence itemagent-level deny rulessession-level permission approvalspermission resolution orderfindLastguardPermissions
    Analyze Evidence
  7. pull requestMay 19, 2026, 4:14 PM

    Aider OAuth now writes OpenRouter token with owner-only permissions

    This PR changes the OpenRouter OAuth credential persistence path in `aider/onboarding.py` so `~/.aider/oauth-keys.env` and its parent directory are hardened to owner-only permissions, eliminating reliance on default `open()`+umask behavior that could leave secrets world-readable.

    What ChangedThis PR changes the OpenRouter OAuth credential persistence path in `aider/onboarding.py` so `~/.aider/oauth-keys.env` and its parent directory are hardened to owner-only permissions, eliminating reliance on default `open()`+umask behavior that could leave secrets world-readable.
    Why It MattersUsers and operators sharing a Linux/macOS host or mounted home directory are less likely to have their OpenRouter API key silently read by other local accounts, reducing the practical risk of quota theft and unauthorized API calls under the victim's identity. The implementation closes the default-umask permission gap by enforcing `0o700` on `~/.aider` and `0o600` on `oauth-keys.env`, and by avoiding the previous TOCTOU window when a file could briefly be created with broader permissions; continue watching for any deployments where chmod is ineffective (for example, restrictive filesystem mounts or legacy non-Unix behavior) and whether preexisting `~/.aider` permission drift is cleaned up during upgrades.
    Final score 82Confidence 971 evidence itemaider/onboarding.pyOPENROUTER_API_KEY~/.aider/oauth-keys.envumaskos.openos.chmodO_WRONLY|O_CREAT|O_TRUNC
    Analyze Evidence
  8. pull requestMay 22, 2026, 11:49 AM

    Add opt-in auto-redaction for common secrets before memory tag stripping

    This PR adds an opt-in redaction pre-pass to claude-mem that detects common secret tokens in observations, summaries, and tool payloads before the existing tag-stripping path and replaces only matched substrings with `<redacted type="..."/>` markers, keeping surrounding context intact while preventing accidental credential persistence.

    What ChangedThis PR adds an opt-in redaction pre-pass to claude-mem that detects common secret tokens in observations, summaries, and tool payloads before the existing tag-stripping path and replaces only matched substrings with `<redacted type="..."/>` markers, keeping surrounding context intact while preventing accidental credential persistence.
    Why It MattersTeams that handle Claude-mem observations, summaries, and tool output will reduce accidental secret leakage risk when they enable auto-redaction, because sensitive values can be scrubbed into placeholders while keeping surrounding logs/commands for traceability; this is directly useful for credentials that appear unexpectedly in command output or API responses. Technically, a new `redactSensitive` stage now runs before `stripTags`, applying capped built-in/custom regex matching (200 matches, 1MB input), and the system remains at baseline behavior when disabled. Continue watching for edge-format coverage and deployment scope: JSON-style AWS secret keys are not matched by built-ins, and in server-beta the config still resolves from worker-local settings rather than tenant-isolated settings.
    Final score 82Confidence 961 evidence itemredactSensitivestripTagsCLAUDE_MEM_REDACT_ENABLEDCLAUDE_MEM_REDACT_CUSTOM_PATTERNSgetRedactionConfig
    Analyze Evidence
  9. pull requestMay 20, 2026, 5:12 AM

    Patch CVE-2026-35397 by upgrading transitive jupyter-server to 2.18.2

    This pull request updates the transitive dependency jupyter-server from 2.17.0 to 2.18.2 to remediate CVE-2026-35397, and refreshes the lockfiles (uv.lock, poetry.lock, enterprise/poetry.lock) so environments resolve the fixed package version.

    What ChangedThis pull request updates the transitive dependency jupyter-server from 2.17.0 to 2.18.2 to remediate CVE-2026-35397, and refreshes the lockfiles (uv.lock, poetry.lock, enterprise/poetry.lock) so environments resolve the fixed package version.
    Why It MattersOperators and teams deploying OpenHands get lower practical security risk because instances that consume these updated lockfiles are no longer tied to the vulnerable jupyter-server revision, reducing exposure to CVE-2026-35397. Technically, the PR aligns dependency resolution to jupyter-server 2.18.2 across uv and poetry lock files without changing project manifests. Continue monitoring whether all build/packaging paths actually use the updated lock state and whether any downstream runtime paths still resolve 2.17.x due to cached or external dependency overrides.
    Final score 82Confidence 981 evidence itemjupyter-serverCVE-2026-35397uv.lockpoetry.lockenterprise/poetry.lockOpenHands
    Analyze Evidence
  10. pull requestMay 21, 2026, 6:16 AM

    OpenHands blocks conversation path traversal in storage path construction

    The PR adds a central allowlist validator inside `openhands.storage.locations.get_conversation_dir()` for `sid` and `user_id`, decoding URL-encoded input and only allowing `[A-Za-z0-9_-]` components before building conversation filesystem paths. This prevents path traversal payloads such as `../`, `/`, `\`, `%2e%2e%2f`, and NUL bytes from producing out-of-root paths while preserving valid UUID-like identifiers.

    What ChangedThe PR adds a central allowlist validator inside `openhands.storage.locations.get_conversation_dir()` for `sid` and `user_id`, decoding URL-encoded input and only allowing `[A-Za-z0-9_-]` components before building conversation filesystem paths. This prevents path traversal payloads such as `../`, `/`, `\`, `%2e%2e%2f`, and NUL bytes from producing out-of-root paths while preserving valid UUID-like identifiers.
    Why It MattersOpenHands operators and developers using the file-backed conversation store can prevent malformed or attacker-supplied conversation IDs from writing or reading outside the allowed conversation directory, reducing the practical risk of cross-conversation file access and storage tampering. The new safeguard is enforced in a central chokepoint (`get_conversation_dir`) via allowlist validation after unquoting input, so affected call paths now fail fast with `ValueError`; watch for any remaining code paths that build additional subpaths after this function, because those can still bypass this specific boundary if not separately validated.
    Final score 82Confidence 951 evidence itemget_conversation_dirsiduser_idopenhands.storage.locationsEventStreamFileConversationStoreCWE-22
    Analyze Evidence
  11. pull requestMay 20, 2026, 7:53 AM

    Guard unbounded recursive walkers in llama-index against nested-input crashes

    This PR applies one primary security/correctness fix across four public-path recursive walkers in `llama-index-core`, adding guarded handling for `RecursionError` so extremely deep dict/list inputs no longer crash core pipelines. The same vulnerability pattern fixed previously in related work (CVE-2025-5302/5472) is closed for chat serialization, selector parsing, graph value sanitization, and text-to-cypher cleanup by replacing hard failures with controlled fallbacks.

    What ChangedThis PR applies one primary security/correctness fix across four public-path recursive walkers in `llama-index-core`, adding guarded handling for `RecursionError` so extremely deep dict/list inputs no longer crash core pipelines. The same vulnerability pattern fixed previously in related work (CVE-2025-5302/5472) is closed for chat serialization, selector parsing, graph value sanitization, and text-to-cypher cleanup by replacing hard failures with controlled fallbacks.
    Why It MattersApplications using llama-index for LLM tool responses, persisted chat history, or graph-backed retrieval are now less likely to experience total request crashes from deeply nested payloads, so operators and developers get a more stable service instead of abrupt `RecursionError`/serialization aborts. Technically, four vulnerable entry points now trap uncontrolled recursion and convert it into contained outcomes (empty dict, explicit parser exception, or `None`) rather than unhandled stack failures, but teams should monitor for silent data loss in `None`/empty-dict fallbacks and track whether these cases increase in normal workloads; continued review is needed for other recursive traversal paths that remain unbounded.
    Final score 82Confidence 971 evidence itemllama-index-coreRecursionErrorChatMessage._recursive_serializationSelectionOutputParser._filter_dictvalue_sanitizeTextToCypherRetriever._clean_query_outputOutputParserExceptionCWE-674
    Analyze Evidence
  12. pull requestMay 19, 2026, 4:22 AM

    Fallback root-run permission mode to internal auto handling in cc-connect

    The PR changes cc-connect session startup for claudecode and qoder so that when running as root (EUID 0), requests for `bypassPermissions`/`--dangerously-skip-permissions` are not forwarded to Claude Code; instead, cc-connect uses internal `auto` permission handling and logs a warning, preventing the immediate startup failure and downstream panic caused by a nil agent session.

    What ChangedThe PR changes cc-connect session startup for claudecode and qoder so that when running as root (EUID 0), requests for `bypassPermissions`/`--dangerously-skip-permissions` are not forwarded to Claude Code; instead, cc-connect uses internal `auto` permission handling and logs a warning, preventing the immediate startup failure and downstream panic caused by a nil agent session.
    Why It MattersUsers running cc-connect as root can keep sessions starting normally instead of being blocked and crashing at launch, which reduces operator interruption in privileged automation and interactive root workflows. Internally, this routes privileged runs through cc-connect’s `auto` permission handler to avoid Claude Code’s root-only flag rejection and the resulting nil-session panic in the interactive message path; teams should watch for policy-sensitive behavior changes in permission auto-approvals and confirm warning messages are visible in production logs.
    Final score 81Confidence 971 evidence itemcc-connectClaude CodeEUID 0bypassPermissionsdangerously-skip-permissionsauto modeagentSession
    Analyze Evidence
  13. pull requestMay 21, 2026, 6:44 AM

    Add API-key-aware CORS path for SaaS requests

    This PR replaces the SaaS CORS handling with an `ApiKeyAwareCORSMiddleware` that allows API-key and device-flow requests to use a wildcard CORS origin without credentials, while keeping cookie/session requests on the existing strict allowlist-based CORS policy.

    What ChangedThis PR replaces the SaaS CORS handling with an `ApiKeyAwareCORSMiddleware` that allows API-key and device-flow requests to use a wildcard CORS origin without credentials, while keeping cookie/session requests on the existing strict allowlist-based CORS policy.
    Why It MattersClient integrations using API keys (for example the browser-based agent GUI) can now make direct cross-origin SaaS calls, reducing proxy hop complexity and avoiding proxy-masked failures, while cookie-based UI logins remain restricted to configured origins. Technically, API-key headers (`Authorization`, `X-Session-API-Key`, `X-Access-Token`) and device-flow endpoints (`/oauth/device/authorize`, `/oauth/device/token`) now use `allow_origins=["*"]` with `allow_credentials=False`, and cookie/anonymous requests keep `PERMITTED_CORS_ORIGINS` with credentials enabled. Continue monitoring is needed for header-detection misclassification and any unexpected cross-origin request patterns on previously blocked domains.
    Final score 81Confidence 961 evidence itemApiKeyAwareCORSMiddlewareCORSMiddlewareAuthorization: BearerX-Session-API-KeyX-Access-TokenPERMITTED_CORS_ORIGINSRFC 8628Access-Control-Allow-OriginAccess-Control-Allow-Credentials
    Analyze Evidence
  14. pull requestMay 20, 2026, 4:56 PM

    Add admin-only account creation via role-based access control

    Added a `users.role` model (`admin` | `user`) and enforced that `POST /api/auth/register` is callable only by admins, so account creation is no longer publicly or non-admin accessible.

    What ChangedAdded a `users.role` model (`admin` | `user`) and enforced that `POST /api/auth/register` is callable only by admins, so account creation is no longer publicly or non-admin accessible.
    Why It MattersOperators and admins gain explicit control over who can onboard new accounts, which reduces unauthorized account creation risk and avoids accidental privilege drift in multi-user deployments; the first user created on fresh installs is set as admin and all later registrations require an authenticated admin session. Technically, this is enforced by a new role column, backfilled migration behavior (`v27`), and `requireAdmin` middleware that returns 403 for non-admin callers, so teams should watch for upgrade scripts that assume open registration, confirm existing installs promote legacy users as intended, and validate downstream middleware that now depends on `role` claims in JWT/request context.
    Final score 81Confidence 961 evidence itemusers.rolemigration v27requireAdmin middlewarePOST /api/auth/registerJWT role claim
    Analyze Evidence
  15. pull requestMay 20, 2026, 4:34 AM

    Block URL policy bypasses for data: and blob: schemes

    This change tightens browser URL filtering by denying `data:` URLs when domain allow/prohibit rules are configured and by validating `blob:` URLs so they only pass when their embedded origin passes existing domain checks, preventing special-scheme bypass of configured navigation policies.

    What ChangedThis change tightens browser URL filtering by denying `data:` URLs when domain allow/prohibit rules are configured and by validating `blob:` URLs so they only pass when their embedded origin passes existing domain checks, preventing special-scheme bypass of configured navigation policies.
    Why It MattersBrowser-automation operators and product users who run sessions with URL allow/prohibit controls will avoid silent policy bypasses through `data:` and malformed `blob:` links, which lowers the chance of unintended page access during controlled browsing. It accomplishes this by rejecting those special-scheme URLs unless they satisfy strict origin checks, while unrestricted sessions remain unchanged; teams should watch for legitimate workflows that depend on `blob:`/`data:` URLs to avoid accidental over-blocking.
    Final score 81Confidence 981 evidence itembrowser-usesecurity_watchdogallowed_domainsprohibited_domainsdata:blob:
    Analyze Evidence
  16. pull requestMay 20, 2026, 4:44 AM

    Host service OAuth daemon recovery now reads CLI auth config on 401 retries

    This PR fixes a correctness gap in CLI-spawned host-service: when an OAuth access token expires during a long-running daemon, the first 401-triggered retry now refreshes credentials from the CLI auth config and updates tokens, so the service can continue operation instead of failing and requiring restart or re-login.

    What ChangedThis PR fixes a correctness gap in CLI-spawned host-service: when an OAuth access token expires during a long-running daemon, the first 401-triggered retry now refreshes credentials from the CLI auth config and updates tokens, so the service can continue operation instead of failing and requiring restart or re-login.
    Why It MattersOperators running long-lived CLI-spawned host-service instances with OAuth can expect fewer unexpected auth interruptions because expired access tokens can now be refreshed in-process and requests continue after one retry without forcing a daemon restart or user re-login. The retry now pulls and persists credentials from CLI config (`accessToken` and possibly rotated `refreshToken`) through a single-flight, atomic write flow, while static token paths keep their existing behavior; monitor high-concurrency retry windows, refresh-token-missing cases, and token write failures for any remaining silent auth recovery failures.
    Final score 81Confidence 951 evidence itemhost-serviceOAuthJwtApiAuthProviderCLI auth configaccessTokenrefreshToken401 retrysingle-flight refreshatomic config writes
    Analyze Evidence
  17. pull requestMay 20, 2026, 1:44 AM

    Bump turborepo to 2.9.14 to pick up security fixes

    The PR updates the project dependency `turbo` from 2.9.8 to 2.9.14, with Turborepo 2.9.14 explicitly calling out security fixes (including a high-severity VS Code command-injection issue plus additional auth/session/Yarn-detection issues). The primary tracked change is security hardening via version upgrade, not API or feature additions.

    What ChangedThe PR updates the project dependency `turbo` from 2.9.8 to 2.9.14, with Turborepo 2.9.14 explicitly calling out security fixes (including a high-severity VS Code command-injection issue plus additional auth/session/Yarn-detection issues). The primary tracked change is security hardening via version upgrade, not API or feature additions.
    Why It MattersDevelopers using this repo’s tooling are less exposed to local/CI compromise from malicious task execution or auth/session abuse in the updated Turborepo stack, reducing the risk of build-time security incidents after dependency updates. After this bump, watch whether CI and editor integration still pass with your custom scripts, especially around command execution and auth callbacks, because behavioral changes in security-hardened versions can surface hidden assumptions.
    Final score 81Confidence 951 evidence itemturbov2.9.8v2.9.14Turborepo security advisoriesVS Code extensionauth callback state
    Analyze Evidence
  18. pull requestMay 19, 2026, 8:18 AM

    PraisonAI now requires explicit SurrealDB credentials

    The patch removes the SurrealDB default root/root login path and makes SurrealDB knowledge-store initialization require explicit username/password credentials, replacing an insecure implicit default.

    What ChangedThe patch removes the SurrealDB default root/root login path and makes SurrealDB knowledge-store initialization require explicit username/password credentials, replacing an insecure implicit default.
    Why It MattersDevelopers and operators running PraisonAI with SurrealDB will no longer have hidden exposure from default privileged credentials, reducing the chance of unintended database access after deployment. This is implemented by removing the root/root default path and requiring explicit credentials in initialization; environments that still rely on default authentication will now fail to connect until updated, so deployment manifests, Docker/env setups, and local scripts should be checked to ensure credentials are correctly provisioned and secret rotation is enforced after rollout.
    Final score 81Confidence 951 evidence itemPraisonAISurrealDBknowledge storedefault credentialsroot/root
    Analyze Evidence
  19. pull requestMay 19, 2026, 6:21 AM

    Add workspace-bound checks to platform resource APIs

    The PR introduces workspace-scoped authorization for platform issue, project, and agent operations by validating `workspace_id` on `get`, `update`, and `delete` flows, which blocks cross-tenant requests that previously could pass through with broader scope.

    What ChangedThe PR introduces workspace-scoped authorization for platform issue, project, and agent operations by validating `workspace_id` on `get`, `update`, and `delete` flows, which blocks cross-tenant requests that previously could pass through with broader scope.
    Why It MattersPlatform operators and workspace admins in multi-tenant deployments can now prevent unauthorized cross-tenant reads or updates to issues, projects, and agents, so one tenant’s actions are less likely to leak or alter another tenant’s data before execution reaches write path. The code enforces workspace_id validation in `get`/`update`/`delete` paths and test coverage was added, so watch for integrations that send missing or stale workspace IDs, and monitor error-rate or permission-denied regressions during rollout.
    Final score 81Confidence 941 evidence itemworkspace_idissue serviceproject serviceagent serviceplatform authorization
    Analyze Evidence
  20. pull requestMay 18, 2026, 6:46 PM

    Scraper blocks private-network and rebinding targets

    Aider’s scraper now enforces pre-flight network safety checks for URL fetches, rejecting private/internal or non-public destinations and tightening request handling so unsafe routes (including redirects and browser-side fetch paths) are filtered before content is pulled.

    What ChangedAider’s scraper now enforces pre-flight network safety checks for URL fetches, rejecting private/internal or non-public destinations and tightening request handling so unsafe routes (including redirects and browser-side fetch paths) are filtered before content is pulled.
    Why It MattersUsers running Aider’s scrape feature will now be stopped from reaching internal network endpoints (for example localhost, metadata services, and similar private addresses) through normal scrape inputs, reducing the chance that tooling accidentally probes or leaks access to local infrastructure. The change is implemented by validating destination resolution before requests, re-checking redirects, removing proxy/env path overrides, and adding browser-level request blocking for risky URL patterns, so SSRF and DNS-rebinding-like exposure paths are narrowed; operators should watch for false positives in environments that intentionally scrape internal hosts and verify redirect-heavy targets don’t bypass the new checks.
    Final score 81Confidence 941 evidence itemaider scraperHTTPXPlaywrighthostname resolutionredirect revalidationprivate network targetsDNS rebinding
    Analyze Evidence

Topic Timeline

How the topic has changed over time

64 events
  1. May 22, 2026, 11:49 AM

    pull request

    Add opt-in auto-redaction for common secrets before memory tag stripping

    This PR adds an opt-in redaction pre-pass to claude-mem that detects common secret tokens in observations, summaries, and tool payloads before the existing tag-stripping path and replaces only matched substrings with `<redacted type="..."/>` markers, keeping surrounding context intact while preventing accidental credential persistence.
    ContributionIntroduced a dedicated pre-strip redaction layer with 10 built-in regex patterns plus user-defined patterns, wired into all 5 `stripTags` call sites so each flow now executes `stripFn(redactSensitive(input, getRedactionConfig()).redacted)`. The feature is off by default and preserves existing behavior unless enabled via `CLAUDE_MEM_REDACT_ENABLED=true`; custom rules are prioritized, invalid custom regexes are skipped safely, and tests show 25 passing checks with 0 failures plus clean TypeScript/build status.
    ImpactTeams that handle Claude-mem observations, summaries, and tool output will reduce accidental secret leakage risk when they enable auto-redaction, because sensitive values can be scrubbed into placeholders while keeping surrounding logs/commands for traceability; this is directly useful for credentials that appear unexpectedly in command output or API responses. Technically, a new `redactSensitive` stage now runs before `stripTags`, applying capped built-in/custom regex matching (200 matches, 1MB input), and the system remains at baseline behavior when disabled. Continue watching for edge-format coverage and deployment scope: JSON-style AWS secret keys are not matched by built-ins, and in server-beta the config still resolves from worker-local settings rather than tenant-isolated settings.
  2. May 22, 2026, 2:22 AM

    pull request

    LibreChat adds secure, refreshable Azure Blob SAS URLs for private storage

    This change introduces a unified Azure Blob URL signing and refresh flow so LibreChat can serve stored files from private Azure containers using time-limited SAS links, with the storage strategy defaulting away from implicit public access.
    ContributionAdded signed URL generation and expiry-aware refresh for Azure Blob blobs (including Account Key and Managed Identity signing paths), flipped the insecure missing-env default to private access, and fixed Azure filepath parsing so SAS-bearing URLs are correctly re-signed and deleted without malformed-path failures.
    ImpactOrganizations using LibreChat with Azure Blob can now keep containers private in production without exposing permanent public links or adding a reverse proxy just to protect files, while still serving uploads/avatars through short-lived links that are automatically refreshed. This matters to operators and users because it closes a silent security gap where missing env config created world-readable containers and reduced 401 incidents after file uploads switched to private access. The implementation now aligns Azure behavior with existing S3 logic and uses stricter error handling for bad connection strings, so the next signals to watch are whether any legacy deployments break on the new default and whether link refresh timing causes spikes in re-auth traffic or residual 401s.
  3. May 21, 2026, 8:36 PM

    release

    RuFlo hardens GitHub workflow templates with safety-focused release checks (ADR-127)

    v3.7.0-alpha.76’s ADR-127 introduces a security-first release hardening pass for `.github` templates, adding contract-style CI smoke checks that block unsafe workflow-body injection patterns, unpinned or disallowed actions, and deprecated action usage so risky automation drift is caught before release.
    ContributionImplemented concrete CI-enforced hardening for release workflow templates by adding four new `.github` smoke tests plus supporting runtime/script changes, including `github-safe.js` v1.0.0 with 256 KB body cap, `mktemp` indirection for comment-body injection handling, and action pinning/allowlist enforcement, which together convert previously manual release-risk checks into automated gates.
    ImpactOperators and maintainers of ruflo-based CI/release pipelines can now prevent dangerous workflow changes from being published, reducing the chance of insecure or broken release automation reaching users. The added ADR-127 smoke contract (`smoke-github-safe-injection`, `smoke-github-actions-pins`, `smoke-deprecated-actions`, `smoke-attribution-opt-in`) plus safer body handling means risky patterns are rejected earlier, but teams should watch whether newly added workflow templates or third-party plugin copies fall outside the current scan surface.
  4. May 21, 2026, 6:32 PM

    pull request

    ruvnet/ruflo enforces ADR-127 GitHub workflow hardening

    The merged PR applies ADR-127 across the repository’s GitHub automation, adding CI validation that prevents risky automation changes by checking safe command-generation paths and enforcing allow-listed/SHA-anchored GitHub Action references with an attribution opt-in gate.
    ContributionImplemented end-to-end GitHub workflow safety controls that harden automated PR/agent command execution, combining dependency-reference gating (pins/allow-list) with injection-resistant setup and template checks to block unsafe changes earlier in CI.
    ImpactRepo operators and contributors now get safer CI automation because dangerous action references and unsafe generated-command patterns are rejected by new smoke tests, reducing the chance that a PR ships supply-chain or workflow-injection risks while keeping project automation maintainable.
  5. May 21, 2026, 11:54 AM

    issue

    Request for automatic OpenID role sync from token claims into LibreChat roles

    Feature request proposes automatic synchronization of OpenID/OIDC role/group claims into existing LibreChat roles at login, with deterministic claim-path matching, merge/replace-idp-managed modes, and preservation of locally managed roles.
    ContributionAdds a proposed capability for LibreChat to perform role synchronization at authentication time by reading configured OIDC claim paths (or userinfo), comparing claim values against existing roles, auto-assigning matches, and optionally replacing previously assigned IdP-managed roles while leaving manual roles untouched.
    ImpactEnterprise operators using SSO providers (e.g., Okta, Entra ID, Keycloak, Auth0) could automate role onboarding/offboarding and avoid stale or inconsistent LibreChat permissions after identity-provider changes, but should monitor configuration and scope controls to prevent accidental privilege drift. The issue specifies deterministic claim-path matching, safe handling of unknown claims, protected sensitive roles, and audit logging so that IdP-driven role updates are correct without widening access unexpectedly.
  6. May 21, 2026, 8:57 AM

    security fix

    Enforce agent-level deny permissions over session approvals

    A critical permission-resolution bug was fixed so agent-configured deny rules for actions like `bash` are no longer bypassed by session-level permission approvals, which previously allowed forbidden operations to run in the same session.
    ContributionThe patch changes Kilo’s permission engine to always append agent deny rules after session rules and apply that ordering for all agent types, while also fixing the disabled-check path so blanket denies (`pattern: "*"`) are matched explicitly; this removes a bypass where session allowlist decisions could overshadow agent denies.
    ImpactDevelopers and operators can keep using session approvals without fear that a previously denied command (for example, shell execution) will run anyway, so policy enforcement stays intact during agent tool calls and security boundaries are more reliable. Technically, `findLast` now resolves agent denies last in the merged rule chain and applies them across all modes, with blanket-deny matching corrected to avoid false positives from non-blanket rules; this should be monitored for any new precedence regressions when new agent modes or permission types are added.
  7. May 21, 2026, 7:59 AM

    pull request

    Block snapshot rollback reads outside workspace during edit operations

    A patch to DeepSeek-Reasonix fixes `snapshotBeforeEdits` so it does not read absolute, out-of-workspace file paths when creating rollback snapshots, aligning snapshot collection with the same workspace-boundary check already enforced when edits are applied.
    ContributionAdds workspace-boundary enforcement to snapshot capture so `snapshotBeforeEdits` now blocks or ignores absolute out-of-workspace targets before reading files, keeping rollback data collection consistent with edit-time path validation and preventing cross-boundary file access during failed edits.
    ImpactDevelopers and operators applying automated edit patches will see safer and more predictable rollback behavior because failed edits no longer trigger snapshot reads from files outside the project workspace, reducing leakage risk and inconsistent recovery data. The fix shifts enforcement to the snapshot stage (not only the apply stage), so out-of-scope edit targets are filtered before any rollback preparation occurs; teams should watch for path canonicalization and symlink/normalization edge cases where valid in-scope files might be misclassified and excluded.
  8. May 21, 2026, 6:44 AM

    pull request

    Add API-key-aware CORS path for SaaS requests

    This PR replaces the SaaS CORS handling with an `ApiKeyAwareCORSMiddleware` that allows API-key and device-flow requests to use a wildcard CORS origin without credentials, while keeping cookie/session requests on the existing strict allowlist-based CORS policy.
    ContributionImplemented per-request CORS dispatch in `enterprise/saas_server.py` using a new middleware that routes API-key-authenticated traffic to a permissive, non-credentialed CORS configuration and all other SaaS auth traffic to the existing credentialed allowlist path. This directly enables browser clients that authenticate by explicit keys to call APIs cross-origin with the expected auth semantics.
    ImpactClient integrations using API keys (for example the browser-based agent GUI) can now make direct cross-origin SaaS calls, reducing proxy hop complexity and avoiding proxy-masked failures, while cookie-based UI logins remain restricted to configured origins. Technically, API-key headers (`Authorization`, `X-Session-API-Key`, `X-Access-Token`) and device-flow endpoints (`/oauth/device/authorize`, `/oauth/device/token`) now use `allow_origins=["*"]` with `allow_credentials=False`, and cookie/anonymous requests keep `PERMITTED_CORS_ORIGINS` with credentials enabled. Continue monitoring is needed for header-detection misclassification and any unexpected cross-origin request patterns on previously blocked domains.
  9. May 21, 2026, 6:16 AM

    security fix

    OpenHands blocks conversation path traversal in storage path construction

    The PR adds a central allowlist validator inside `openhands.storage.locations.get_conversation_dir()` for `sid` and `user_id`, decoding URL-encoded input and only allowing `[A-Za-z0-9_-]` components before building conversation filesystem paths. This prevents path traversal payloads such as `../`, `/`, `\`, `%2e%2e%2f`, and NUL bytes from producing out-of-root paths while preserving valid UUID-like identifiers.
    ContributionImplemented a storage-layer allowlist path-component check (with URL decoding) for conversation directory construction, closing a gap where unvalidated legacy/internal callers could inject traversal sequences and enabling uniform protection across current and future callers.
    ImpactOpenHands operators and developers using the file-backed conversation store can prevent malformed or attacker-supplied conversation IDs from writing or reading outside the allowed conversation directory, reducing the practical risk of cross-conversation file access and storage tampering. The new safeguard is enforced in a central chokepoint (`get_conversation_dir`) via allowlist validation after unquoting input, so affected call paths now fail fast with `ValueError`; watch for any remaining code paths that build additional subpaths after this function, because those can still bypass this specific boundary if not separately validated.
  10. May 21, 2026, 12:56 AM

    commit burst

    Prompt-injection detector tuned to cut false positives

    The burst’s primary change appears to be a security hardening update that revises Goose’s pattern-based prompt-injection detector to reduce false-positive detections of normal prompts.
    ContributionRefined the pattern-matching logic in Goose’s prompt-injection filter so that benign inputs are less likely to be misclassified as attacks.
    ImpactDevelopers and operators using Goose’s prompt-injection guard will get fewer false security blocks on legitimate prompts, so normal tool workflows and evaluations are less likely to be interrupted by unnecessary rejections. This comes from an update to the pattern-based detection rules, but teams should monitor whether attack coverage weakens and whether residual false positives still spike for high-volume production prompts.
  11. May 20, 2026, 9:05 PM

    pull request

    Add PR test workflow that injects one Superagent security finding

    This change adds a temporary GitHub Actions workflow for pull requests that intentionally emits a single Superagent security finding by echoing the PR title, creating a reproducible fixture for validating the Security Scan dismiss/resolve workflow.
    ContributionIntroduces a minimal `superagent-dismiss-resolve-test.yml` workflow that deterministically creates one CI security finding per PR, providing a built-in test path to verify how teams clear Superagent findings through the resolve-conversation action without code-path changes.
    ImpactDevelopers and repository security operators can test the Superagent Security Scan clearance flow in real PR traffic, so they can confirm dismissal behavior works before relying on it in production incidents. The workflow intentionally runs `run: echo` in pull_request context to force one fixture finding, which is useful for rehearsal but must be removed after testing because it can create recurring false positives and obscure real security signal quality.
  12. May 20, 2026, 8:18 PM

    pull request

    Add OAuth-based xAI authentication with token preference and refresh

    This change adds OAuth login support to the existing xAI provider in Goose, letting the CLI handle API-key, browser OAuth, and device-code authentication paths while preferring persisted OAuth tokens, refreshing them before use, and cleaning the xAI token cache.
    ContributionImplemented OAuth-first auth behavior for xAI in `goose`, including new browser/device-code sign-in paths, token cache cleanup, and token-selection precedence so stored OAuth credentials are reused and refreshed ahead of static API key fallback.
    ImpactxAI users can authenticate with Goose in more environments (including flows requiring browser or device-code login), so teams can avoid relying on manual API-key handling and reduce interruptions when keys are missing, expired, or rotated. The PR keeps the existing chat-completions transport while adding state and endpoint validation in the auth flow, which should improve auth safety if configured correctly. Watch for remaining desktop behavior gaps: mixed-provider OAuth hints can still be misleading and device-code selection is not fully separated on desktop yet, so monitor login failures and misrouted auth prompts after rollout.
  13. May 20, 2026, 4:56 PM

    pull request

    Add admin-only account creation via role-based access control

    Added a `users.role` model (`admin` | `user`) and enforced that `POST /api/auth/register` is callable only by admins, so account creation is no longer publicly or non-admin accessible.
    ContributionIntroduced role-based access control in the auth flow by persisting user roles, migrating existing accounts to an admin baseline on upgrade, and adding an admin-only guard for account registration.
    ImpactOperators and admins gain explicit control over who can onboard new accounts, which reduces unauthorized account creation risk and avoids accidental privilege drift in multi-user deployments; the first user created on fresh installs is set as admin and all later registrations require an authenticated admin session. Technically, this is enforced by a new role column, backfilled migration behavior (`v27`), and `requireAdmin` middleware that returns 403 for non-admin callers, so teams should watch for upgrade scripts that assume open registration, confirm existing installs promote legacy users as intended, and validate downstream middleware that now depends on `role` claims in JWT/request context.
  14. May 20, 2026, 2:37 PM

    pull request

    Feishu rich-card markdown now embeds remote images asynchronously

    The PR adds a core markdown-image resolver for Feishu rich cards that fetches remote image URLs, uploads them to Feishu image storage, and rewrites markdown `![alt](https://...)` links to `img_xxx` in the final card output.
    ContributionImplemented async remote-image support in Feishu rich-card markdown by adding a core resolver path that converts remote URLs to uploaded Feishu image keys, preserves existing `img_xxx` references, and applies limits on image count, size, redirects, MIME types, and IP safety.
    ImpactTeams sending Feishu markdown replies can now include remote image links without blocking streaming updates, and completed rich cards can still show those images after background uploads finish, which reduces broken-card behavior and improves message quality in live workflows. The implementation enforces safer remote fetching (size/count/redirect/MIME/IP policy checks) while unresolved images are temporarily stripped during streaming, then attached as `img_xxx` once upload completes; this should be monitored for upload latency spikes, fallback behavior when uploads fail, and whether legitimate image sources are incorrectly rejected.
  15. May 20, 2026, 1:05 PM

    pull request

    moai-adk P0 security blockers fixed to unblock v2.20.0-rc1

    The merged PR resolves the three critical release-blocking security defects in moai-adk by sealing token-file permissions, blocking tmux-based sensitive env leakage paths, and hardening checksum handling for auto-updates, so the v2.20.0-rc1 release can proceed without those P0 stop-ship risks.
    ContributionImplemented concrete critical security protections in the release/operational path: changed `.claude/settings.local.json` to restrictive mode (0o600) to prevent local token exposure, rerouted tmux sensitive-environment injection through source-file handling with `ErrTmuxSensitiveInjectFailed` and automatic cleanup, and added mandatory checksum enforcement using `ErrChecksumUnavailable` plus exponential-retry backoff (2s/4s/8s) to prevent silent integrity bypass.
    Impactmoai-adk를 운영하는 개발자와 릴리스 담당자는 이제 v2.20.0-rc1를 배포할 때 GLM 토큰 유출, tmux 경유 민감정보 노출, 검증되지 않은 업데이트 적용으로 인한 보안 사고 가능성이 낮아져 실제 운영 손실 위험을 즉시 줄일 수 있으며, 앞으로도 P0-4~P0-8 잔여 항목이 남지 않았는지 추적해야 합니다. Technical follow-up includes validating that the new 0o600 permission behavior remains stable across supported OSes, tmux cleanup is reliably executed under failure paths, and checksum-retry backoff does not mask repeated transport corruption in production update channels.
  16. May 20, 2026, 10:57 AM

    ai misuse mitigation

    Google applies anti-spam-style abuse controls to guard AI answers

    Google is reportedly implementing anti-manipulation measures against parties that try to game its AI results pipeline, which matters because AI answer systems increasingly shape user decisions and can be steered toward misleading content without obvious signs of interference.
    ContributionThe primary change is operational: Google is extending abuse/spam-style safeguards into AI output generation or retrieval handling so manipulated or gaming attempts are harder to convert into AI-visible answers. This moves AI integrity controls from reactive cleanup toward active prevention of output-poisoning patterns.
    ImpactUsers and operators of Google’s AI-powered answer/search features should see responses that are harder to game, so they are less likely to be misled by manipulated pages or optimization tricks on high-risk topics like health and finance. The technical shift appears to reuse existing search anti-spam enforcement logic on AI workflows; this should reduce trust and safety risk, but it should still be monitored for over-blocking of legitimate low-traffic sources, increased false negatives that let new attack patterns through, and whether transparency is sufficient for users and affected publishers.
  17. May 20, 2026, 10:33 AM

    pull request

    Move OpenCode transcripts to repo-scoped .entire/tmp/opencode

    The PR changes OpenCode transcript storage from a shared Linux temp path to a per-repo, per-worktree directory (`<repoPath>/.entire/tmp/opencode/`) and aligns transcript routing/export helpers to use that same path, closing a local cross-user transcript-read exposure and avoiding agent session misrouting.
    ContributionIntroduces a repository/worktree-isolated transcript directory for OpenCode and unifies session path resolution across transcript export and resume/rewind lookup, so session files are no longer placed in a globally shared temp location.
    ImpactDevelopers and operators running `entire` on shared Linux machines can avoid another local user reading or hijacking their OpenCode session transcripts, so session confidentiality and agent isolation improve in multi-user environments. The code now writes and reads transcripts from `.entire/tmp/opencode` and keeps that path consistent across routing helpers; watch for any integrations that still assume the legacy `/tmp/entire-opencode/...` layout, and monitor resume/rewind behavior for regressions when multiple agents and worktrees are active.
  18. May 20, 2026, 7:53 AM

    security fix

    Guard unbounded recursive walkers in llama-index against nested-input crashes

    This PR applies one primary security/correctness fix across four public-path recursive walkers in `llama-index-core`, adding guarded handling for `RecursionError` so extremely deep dict/list inputs no longer crash core pipelines. The same vulnerability pattern fixed previously in related work (CVE-2025-5302/5472) is closed for chat serialization, selector parsing, graph value sanitization, and text-to-cypher cleanup by replacing hard failures with controlled fallbacks.
    ContributionImplemented explicit `try/except RecursionError` protection in four recursive walk sinks and standardized graceful degradation behavior per call site: chat message serialization returns an empty dict with warning, selector parsing raises `OutputParserException('Selector output JSON is too deeply nested to parse.')`, and other graph/text-to-cypher cleaners return `None` instead of propagating crashes. This makes deep-nesting inputs from external sources fail safely without taking down broader API flows.
    ImpactApplications using llama-index for LLM tool responses, persisted chat history, or graph-backed retrieval are now less likely to experience total request crashes from deeply nested payloads, so operators and developers get a more stable service instead of abrupt `RecursionError`/serialization aborts. Technically, four vulnerable entry points now trap uncontrolled recursion and convert it into contained outcomes (empty dict, explicit parser exception, or `None`) rather than unhandled stack failures, but teams should monitor for silent data loss in `None`/empty-dict fallbacks and track whether these cases increase in normal workloads; continued review is needed for other recursive traversal paths that remain unbounded.
  19. May 20, 2026, 7:27 AM

    security

    Kilo adds strict allowlist validation to skill removal to prevent path traversal

    The PR now blocks skill deletions that target paths outside approved directories by validating the resolved path before deletion, replacing a previously unguarded delete path that could be driven by crafted input.
    ContributionIntroduced a concrete path-boundary enforcement: normalized path resolution plus allowlist matching is now executed before skill removal, so only trusted project/config/cwd roots are eligible and `Skill.remove()` is short-circuited when a target falls outside those roots.
    ImpactUsers deleting skills through the webview/CLI flow can avoid accidental or malicious deletion of files outside expected folders, because unsafe locations are blocked before any file-system removal occurs. The hardening is done at both API route and service layers with explicit trusted-root checks, which should reduce file-loss incidents; continue tracking whether custom workspace layouts are fully covered by the allowlist and whether any alternative deletion path can execute without the same check.
  20. May 20, 2026, 5:17 AM

    security fix

    Patch CVE-2026-42561 in OpenHands by upgrading python-multipart

    This pull request updates OpenHands’ direct dependency `python-multipart` from 0.0.26 to 0.0.28 and regenerates affected lockfiles to apply the CVE-2026-42561 security fix.
    ContributionBumped the vulnerable `python-multipart` dependency to 0.0.28 and rewrote lockfiles so dependency resolution uses the patched version instead of 0.0.26.
    ImpactOperators and developers running OpenHands endpoints that accept multipart form uploads should see reduced risk of exploit-by-request parsing issues, because the known CVE-2026-42561 path is addressed at the dependency level; monitor whether file-upload behavior changes after rollout and verify all runtime variants (e.g., local Docker and other deployment paths) pick up the regenerated lockfiles so no service stays on the vulnerable package version.
  21. May 20, 2026, 5:12 AM

    security fix

    Patch CVE-2026-35397 by upgrading transitive jupyter-server to 2.18.2

    This pull request updates the transitive dependency jupyter-server from 2.17.0 to 2.18.2 to remediate CVE-2026-35397, and refreshes the lockfiles (uv.lock, poetry.lock, enterprise/poetry.lock) so environments resolve the fixed package version.
    ContributionApplied a dependency-security fix by bumping the transitive jupyter-server package to the patched 2.18.2 line and synchronizing lockfiles across repository surfaces, preventing the project from continuing to build against the vulnerable 2.17.0-era runtime.
    ImpactOperators and teams deploying OpenHands get lower practical security risk because instances that consume these updated lockfiles are no longer tied to the vulnerable jupyter-server revision, reducing exposure to CVE-2026-35397. Technically, the PR aligns dependency resolution to jupyter-server 2.18.2 across uv and poetry lock files without changing project manifests. Continue monitoring whether all build/packaging paths actually use the updated lock state and whether any downstream runtime paths still resolve 2.17.x due to cached or external dependency overrides.
  22. May 20, 2026, 4:44 AM

    pull request

    Host service OAuth daemon recovery now reads CLI auth config on 401 retries

    This PR fixes a correctness gap in CLI-spawned host-service: when an OAuth access token expires during a long-running daemon, the first 401-triggered retry now refreshes credentials from the CLI auth config and updates tokens, so the service can continue operation instead of failing and requiring restart or re-login.
    ContributionRewired the host-service’s retry path to perform OAuth refresh from stored CLI auth config during runtime expiry recovery, added single-flight coordination for concurrent callers, and made token persistence safer with temp-file/atomic writes and concurrent-write checks while preserving static-token behavior.
    ImpactOperators running long-lived CLI-spawned host-service instances with OAuth can expect fewer unexpected auth interruptions because expired access tokens can now be refreshed in-process and requests continue after one retry without forcing a daemon restart or user re-login. The retry now pulls and persists credentials from CLI config (`accessToken` and possibly rotated `refreshToken`) through a single-flight, atomic write flow, while static token paths keep their existing behavior; monitor high-concurrency retry windows, refresh-token-missing cases, and token write failures for any remaining silent auth recovery failures.
  23. May 20, 2026, 4:34 AM

    security fix

    Block URL policy bypasses for data: and blob: schemes

    This change tightens browser URL filtering by denying `data:` URLs when domain allow/prohibit rules are configured and by validating `blob:` URLs so they only pass when their embedded origin passes existing domain checks, preventing special-scheme bypass of configured navigation policies.
    ContributionAdded explicit enforcement in the security URL policy path for special schemes, so `allowed_domains`/`prohibited_domains` filtering now covers `data:` and restricted `blob:` URLs consistently, with added regression tests for allowlist, prohibitlist, unrestricted-session, and opaque/internal blob edge cases.
    ImpactBrowser-automation operators and product users who run sessions with URL allow/prohibit controls will avoid silent policy bypasses through `data:` and malformed `blob:` links, which lowers the chance of unintended page access during controlled browsing. It accomplishes this by rejecting those special-scheme URLs unless they satisfy strict origin checks, while unrestricted sessions remain unchanged; teams should watch for legitimate workflows that depend on `blob:`/`data:` URLs to avoid accidental over-blocking.
  24. May 20, 2026, 3:13 AM

    pull request

    Ruflo adds signed, reproducible feature attribution for neural-trader signals

    This PR implements ADR-126 Phase 6 by adding a `trader-explain` path that ranks driving trading features with single-entry PageRank, generates a `SignedAttributionArtifact`, and verifies that artifact with caller-supplied trusted-key Ed25519 checks so score/seed tampering is rejected.
    ContributionThe change introduces a complete signed attribution pipeline for `neural-trader` signals: a new skill surface, a shared TypeScript/MJS attribution module, and verification logic that canonicalizes artifact payloads and enforces caller-provided public-key validation. The implementation also guarantees reproducibility by pinning feature rankings to a seeded PageRank initializer and adds regression checks for tampered feature scores, tampered seed, wrong or missing keys.
    ImpactTrading operators and audit/compliance teams can now attach a verifiable explanation package to each signal output, so trading decisions can be reviewed with defensible evidence instead of uncheckable model internals. The PR achieves this by adding `trader-explain` with top-K feature ranking and a signed attribution artifact (`SignedAttributionArtifact`) validated through Ed25519 against a trusted public key, which makes silent tampering with feature scores or seeds fail closed. For production follow-up, teams should monitor how trusted key distribution is managed, verify that fallback explanation mode does not silently change ranking behavior, and confirm that seeded reproducibility remains stable as feature graphs evolve.
  25. May 20, 2026, 1:57 AM

    security fix

    Add auth protections for claude-mem worker API used by memory import/export

    Patched a high-severity security flaw by hardening the worker API surface so `/api/health` and `/api/stats` and the import/export memory scripts are no longer exposed via unauthenticated requests.
    ContributionImplemented API-hardening in worker routes and related memory scripts to require authenticated access paths, preventing unauthenticated callers from reading service status/data routes and interacting with sensitive memory operations.
    ImpactOperators and teams running `thedotmack/claude-mem` on non-local interfaces now have lower risk of accidental memory data exposure from nearby network traffic, because the previous anonymous access path for worker API endpoints is being closed. The change should be tracked for rollout coverage: verify all deployment modes (Docker, cloud, local) enforce the same auth checks and that remaining worker routes do not reintroduce unauthenticated entry points during future script updates or releases.
  26. May 20, 2026, 1:44 AM

    dependency update

    Bump turborepo to 2.9.14 to pick up security fixes

    The PR updates the project dependency `turbo` from 2.9.8 to 2.9.14, with Turborepo 2.9.14 explicitly calling out security fixes (including a high-severity VS Code command-injection issue plus additional auth/session/Yarn-detection issues). The primary tracked change is security hardening via version upgrade, not API or feature additions.
    ContributionUpgraded the `turbo` dependency to 2.9.14 and thereby adopted upstream patches for command-injection, CSRF/session-fixation, and unexpected local code execution issues in related detection/workflow paths.
    ImpactDevelopers using this repo’s tooling are less exposed to local/CI compromise from malicious task execution or auth/session abuse in the updated Turborepo stack, reducing the risk of build-time security incidents after dependency updates. After this bump, watch whether CI and editor integration still pass with your custom scripts, especially around command execution and auth callbacks, because behavioral changes in security-hardened versions can surface hidden assumptions.
  27. May 19, 2026, 10:05 PM

    pull request

    Added risk-based per-tool approval gating in the coding agent

    The change adds per-tool approval policies so each tool action is evaluated against a risk profile and routed to auto-allow, prompt, or deny, with action-based exceptions and override paths for configuration.
    ContributionImplemented a security control layer in tool execution by introducing policy resolution for each action, including exception handling and config override logic, and covered it with 40 unit tests for policy resolution, action exceptions, and edge cases.
    ImpactDevelopers and operators using oh-my-pi’s coding agent will see fewer unsafe automation runs by default, since risky tool calls now require explicit confirmation or are denied before execution. The behavior is driven by a policy engine that classifies tools and applies action-based exceptions (with --auto-approve as an explicit override), so teams should monitor whether legitimate automations are blocked too often, whether exceptions cover all intended cases, and how non-interactive workflows handle the new blocking behavior.
  28. May 19, 2026, 9:03 PM

    release

    Ruflo blocks unsigned plugin registry swaps with real Ed25519 verification

    This release fixes a critical plugin supply-chain weakness by replacing the registry signature verifier stub with real Ed25519 checks, and binding trust to a caller-specified key instead of registry-supplied key data. The change means plugin resolution can no longer silently accept a registry response altered in transit, which is important because Ruflo plugins can execute with filesystem, network, and hook privileges.
    ContributionImplemented a concrete security fix by wiring a real Ed25519 verifier into plugin registry checks, changing trust anchoring to the caller-provided trusted public key, and enforcing fail-closed behavior (including CI smoke coverage) so unverified registry responses cannot proceed.
    ImpactPlugin install flows are now safer for operators and developers because tampered registry responses are no longer accepted, so the chance of auto-installing a malicious plugin with high-risk permissions is materially reduced. The verifier runs against the pinned trusted key in `DEFAULT_PLUGIN_STORE_CONFIG` instead of a self-asserted registry key, and invalid signatures now force a fallback path instead of warning-and-continuing. Watch for environments using custom IPFS gateways: key rotation and registry migration must stay aligned, otherwise legitimate installs may fall back to the demo registry and unexpectedly change plugin sources.
  29. May 19, 2026, 8:37 PM

    security fix

    Enforce Ed25519 verification for plugin registry discovery

    The PR replaces a no-op plugin-registry signature check with a real Ed25519 verification step and binds that check to the trusted pinned key from default registry config, so registry metadata can’t be accepted as valid unless it is actually cryptographically signed as expected. The discovery call site now waits for this result and, when verification fails under default `requireVerification`, falls back instead of treating the registry as trusted.
    ContributionWired `transfer/ipfs/client.ts`’s `verifyEd25519Signature` into `v3/@claude-flow/cli/src/plugins/store/discovery.ts`, implemented proper registry canonicalization and key selection (`DEFAULT_PLUGIN_STORE_CONFIG`’s pinned key), and changed discovery flow control to await verification and fail-closed on signature failure.
    ImpactPlugin users and operators installing from the default ruflo registries become much less exposed to gateway tampering because a substituted registry payload can no longer pass as legitimate and trigger plugin installs carrying network/filesystem/hooks permissions. The path now verifies the downloaded registry with Ed25519 before trust is granted and only continues when valid, which blocks a key attack chain from compromised DNS/VPN/gateway routes into code execution via plugin loading. Continue monitoring for signature-format compatibility changes (JSON serialization/canonicalization), and validate that demo-registry fallback is safe and clearly signaled in production environments.
  30. May 19, 2026, 8:18 PM

    security fix

    Add Host-header gate to all /api routes to block DNS-rebinding abuse

    Introduces a new Next.js middleware for `/api/*` that validates the `Host` header via a new centralized validator, defaulting to a loopback-only allowlist (127.0.0.1/localhost/::1/0.0.0.0 on any port) and returning 403 when the host is not allowed, with optional operator overrides via environment variables.
    ContributionAdded centralized `/api/*` request filtering in `src/middleware.ts` using `isRequestHostAllowed`, backed by `src/lib/security/host-validation.ts`, to reject attacker-controlled hosts before route handlers execute. This directly closes unauthenticated API abuse paths that previously allowed remote-triggered local agent execution and token overwrite/deploy actions through browser-driven requests.
    ImpactDevelopers running html-anything locally are protected from drive-by attacks that could silently execute local coding-agent CLIs and write attacker-controlled Vercel credentials, because rebounded-origin API calls now get blocked before reaching sensitive routes. The practical outcome is reduced risk of local machine compromise (for example, exfiltrating `~/.ssh/id_rsa` via convert prompts or hijacking deploys via `/api/deploy/config`). After this change, the remaining risk is concentrated in deployments that intentionally disable host checks (`HTML_ANYTHING_ALLOW_ANY_HOST=1`) or rely on reverse-proxy Host rewriting, so operators should verify proxy Host/Origin enforcement and environment configuration continuity in production.
  31. May 19, 2026, 7:05 PM

    security

    Block evaluate() on restricted browser profiles to prevent security bypass

    This change closes two critical advisories (GHSA-p6cf-6hf7-xh7q, GHSA-hvch-rcrr-7g39) by hard-blocking `evaluate()` when profile restrictions are set, because previously `Runtime.evaluate` could execute JavaScript even when `allowed_domains`/`prohibited_domains`/`block_ip_addresses` were intended to constrain agent behavior. In practical terms, `browser_use/tools/service.py:evaluate` now returns `ActionResult(error=...)` for restricted profiles and keeps existing behavior for unrestricted profiles (including `allowed_domains=[]`), directly preserving isolation guarantees instead of allowing a domain/IP bypass path.
    ContributionAdded a pre-execution restriction check in `tools/service.py` so `evaluate()` explicitly rejects actions when restriction fields are enabled, turning the tool from unrestricted JavaScript forwarding into a profile-aware guard that emits an actionable error instead of proceeding to CDP, preventing privilege/containment bypass in agent runtime.
    ImpactOperators running browser-use agents with restricted profiles will see arbitrary JavaScript evaluation blocked, so agents are much less likely to trigger SSRF calls or exfiltrate browser context data from forbidden origins, reducing real exploit exposure in production automation. After this change, teams should monitor whether any locked-down workflows still depend on `evaluate()` and watch for alternate JS execution paths that might still bypass the same profile policies.
  32. May 19, 2026, 6:45 PM

    security fix

    Lock browser-use daemon Unix socket to owner-only permissions

    This burst includes a security hardening change that forces the browser-use daemon Unix socket to be created with owner-only access, by setting a restrictive umask around server startup and applying `chmod 0o600` to the bound socket path, preventing accidental world/group access that could be probed by other local users.
    ContributionThe change modifies daemon startup in `browser_use/skill_cli/daemon.py` so the socket is created under `os.umask(0o077)` and immediately `chmod`’ed to `0o600`, then adds a dedicated security test that asserts the socket mode is owner-only after startup.
    ImpactOn shared multi-user hosts, operators running browser-use are less exposed to local socket probing, because the daemon socket is no longer readable/executable by other users and co-tenants can no longer cheaply query behavior even before auth succeeds. This complements existing HMAC-based dispatch checks, and teams should continue watching for environment-specific regressions where launch wrappers or packaging scripts alter process umask, or where socket creation paths bypass the patched permission step.
  33. May 19, 2026, 6:34 PM

    pull request

    Add README guidance for masking sensitive context before AI-agent execution

    This open PR adds an AI Agent Privacy Notice to the project README, defining a single safe workflow for feeding data to agents/LLMs by replacing sensitive fields with typed placeholders (for example `CVT:NAME`, `CVT:EMAIL`, `CVT:DOB`) before context injection and reintroducing real values only during approved execution.
    ContributionIntroduces a concrete privacy pattern in project docs that standardizes how teams should pass sensitive user/customer/patient data through AI workflows, replacing raw identifiers with typed tokens to prevent unnecessary data exposure inside agent context.
    ImpactDevelopers and operators integrating PraisonAI agents can reduce the chance of leaking sensitive information during normal AI-assisted workflows by masking identities and other protected fields before prompts are sent, which makes privacy reviews and incident prevention easier in practice. Because this is documentation-only, the practical impact depends on whether teams enforce the placeholder workflow in real integrations; operators should monitor for unprotected context paths, runtime prompt-building bypasses, and errors in re-injecting real values at approved execution points.
  34. May 19, 2026, 4:14 PM

    security hardening

    Aider OAuth now writes OpenRouter token with owner-only permissions

    This PR changes the OpenRouter OAuth credential persistence path in `aider/onboarding.py` so `~/.aider/oauth-keys.env` and its parent directory are hardened to owner-only permissions, eliminating reliance on default `open()`+umask behavior that could leave secrets world-readable.
    ContributionIntroduces explicit credential hardening in the OAuth save flow: it forces `~/.aider` to `0o700`, creates a new token file with `os.open(..., O_WRONLY|O_CREAT|O_TRUNC, 0o600)` wrapped by `os.fdopen`, and applies `os.chmod(key_file, 0o600)` even on re-runs so existing files are corrected from permissive modes.
    ImpactUsers and operators sharing a Linux/macOS host or mounted home directory are less likely to have their OpenRouter API key silently read by other local accounts, reducing the practical risk of quota theft and unauthorized API calls under the victim's identity. The implementation closes the default-umask permission gap by enforcing `0o700` on `~/.aider` and `0o600` on `oauth-keys.env`, and by avoiding the previous TOCTOU window when a file could briefly be created with broader permissions; continue watching for any deployments where chmod is ineffective (for example, restrictive filesystem mounts or legacy non-Unix behavior) and whether preexisting `~/.aider` permission drift is cleaned up during upgrades.
  35. May 19, 2026, 3:27 PM

    security advisory

    Add Host-header gate to all /api routes to block DNS-rebinding abuse

    AI Security showed a tracked change with evidence attached, making the topic easier to monitor over time.
    ContributionAdds evidence to the topic's change timeline.
    ImpactHelps teams decide whether this direction deserves continued tracking.
  36. May 19, 2026, 11:50 AM

    pull request

    Remote agent OIDC tokens can provision LibreChat users on first call

    LibreChat PR #13184 adds a default-off remote-agent OIDC flow that can resolve an existing user or create a new one from trusted OIDC claims during the first token call, with optional userinfo profile enrichment and Entra group sync for new accounts.
    ContributionImplements an opt-in, first-call authentication path for remote-agent OIDC tokens that automates trusted user resolution/creation and profile/group synchronization, while hardening auth by enforcing tenant checks before user assignment or mutation and avoiding API-key fallback for unresolved but trusted tokens.
    ImpactOperators of LibreChat remote agents can now get consistent identity-driven account handling on first OIDC login, reducing manual user setup and mismatched user-tenant associations before token-based calls proceed; this also improves trust posture because unresolved remote identities no longer default to API-key behavior. The change also introduces shared OpenID helper components (`openidAccount`, `openidUserInfo`, `entraGroupSync`) and token-reconciliation caching, so follow-up monitoring should focus on unresolved-claim cases, tenant-boundary enforcement edge cases, and cache consistency under bursty token traffic.
  37. May 19, 2026, 11:06 AM

    pull request

    Add SESSION_COOKIE_SECURE override to fix HTTP OIDC cookie drops

    This PR adds an explicit `SESSION_COOKIE_SECURE=true|false` override for LibreChat session/auth cookies so non-localhost HTTP deployments can disable the `Secure` cookie flag when the default heuristic wrongly enables it, preventing login-cookie behavior that previously broke OIDC flows.
    ContributionImplemented a concrete runtime fix by introducing a prioritized cookie-security override in the session/auth cookie decision path, then documenting and testing it so operators can opt out of `Secure` cookies on HTTP-only non-localhost deployments without removing secure-cookie defaults elsewhere.
    ImpactFor teams deploying LibreChat over HTTP on non-localhost hosts, OIDC sign-ins are expected to remain functional instead of failing after login because the browser is no longer forced to drop `Secure`-flagged session cookies in an HTTP context; this directly removes an authentication break introduced by earlier hardening heuristics. The change keeps secure-cookie behavior as default, so only deployments that truly need HTTP must set `SESSION_COOKIE_SECURE=false`, and teams should continue monitoring for misconfigured values or mixed HTTP/HTTPS domains that could still cause inconsistent cookie acceptance.
  38. May 19, 2026, 10:29 AM

    security correctness fix

    Add configurable fail-open path for non-executable skill scans

    In a commit to bytedance/deer-flow, a new `scanner_fail_open` flag was introduced so that when the security moderation model is unavailable, non-executable skill content can switch from hard-fail blocking to a warn-only path, while executable skill content remains blocked.
    ContributionIntroduced a concrete security-control switch in the skill scanner: `scanner_fail_open` (default `false`) now controls fallback behavior when moderation inference is unavailable, converting non-executable-skill fallback from unconditional blocking to warning-only when enabled, without relaxing executable-skill rejection.
    ImpactFor operators using skill evolution, moderation-service outages no longer have to stop all skill updates, because non-executable skill changes can proceed with warnings when `scanner_fail_open` is enabled, reducing deployment stalls while preserving executable-skill blocking. The change updates `scan_skill_content()` to gate non-executable fallback behavior behind a config flag and keeps executable content strictly blocked in both modes. Watch for misconfigured environments where `scanner_fail_open=true` is enabled too broadly, and verify alerting/logging so warn-path bypasses are visible and reviewed.
  39. May 19, 2026, 10:08 AM

    pull request

    pi updater now supports markdown update notes and uses a changelog URL

    The PR changes the updater so update responses can include markdown-formatted notes and points users to a single changelog endpoint at https://pi.dev/changelog, enabling richer and more explicit update messaging.
    ContributionIntroduces a concrete updater behavior change: backend update payloads now carry markdown-formatted notes, and the update link was switched to a canonical changelog URL.
    ImpactDevelopers and operators relying on pi update checks will get clearer, more actionable update communications—especially for security notices—because release messages can now include richer formatting and a stable destination link. Watch for client compatibility issues with markdown rendering and ensure downstream tooling handles the new changelog URL path correctly if strict URL parsing or old plain-text assumptions exist.
  40. May 19, 2026, 9:29 AM

    pull request

    Fix shared command-prefix handling for Desktop and ACP permission checks

    The PR fixes the permissions regression where Desktop and ACP always-allow rules built prefixes with a literal `*`, which `isAllowed()` could not match token-by-token, by moving `derivePrefix()` to shared shell parsing logic and using it in both clients.
    ContributionStandardized command-prefix generation by centralizing it in `src/tools/shell/parse.ts` and updating both Desktop and ACP to consume that shared logic, which directly fixes exact-token matching in `isAllowed()` for always-allow permissions. This is a concrete behavior fix that removes the wildcard-literal mismatch path and aligns permission handling across two active interfaces.
    ImpactDesktop and ACP users/operators now get stable, predictable pre-approval behavior for command execution, so commands that should be allowed are no longer silently blocked or mishandled because of a malformed wildcard-style prefix; this should reduce confusing permission surprises during runtime. The fix replaces hard-coded `"prefix *"` patterns with shared `derivePrefix()`, so follow-up watchpoints are whether other clients (not updated in this change) still generate prefixes differently and can reintroduce interface drift.
  41. May 19, 2026, 8:38 AM

    pull request

    OpenHands adds org-level LLM profile storage and management API

    The pull request introduces organization-scoped LLM profile storage for SaaS users by adding an `org.llm_profiles` EncryptedJSON field and new org-level profile endpoints for create/read/update/delete/activate/rename, replacing user-level profile handling in this path.
    ContributionThis change shifts profile persistence from per-user storage to organization-level storage, enabling SaaS org admins to manage LLM provider profiles once per org instead of per account, and adds org-scoped REST endpoints to create, list, fetch, update, activate, rename, and delete profiles. It also wires frontend hooks/components so personal org users can use org profiles through role-aware flows in LlmSettingsScreen.
    ImpactSaaS org operators and users can now set LLM credentials and model settings at the organization level, so onboarding and reuse across users becomes easier and less error-prone than repeating per-user profile setup. The feature is implemented with an encrypted org-level `llm_profiles` column plus org APIs, so admins should watch for migration/compatibility issues with existing user-level profiles, ensure permission checks remain correctly enforced, and validate behavior for team-org accounts where profile UI is explicitly not enabled yet.
  42. May 19, 2026, 8:21 AM

    commit burst

    PraisonAI adds complete sandbox execution for agents on E2B, Docker, and local backends

    In release v4.6.41, PR #1671 completed sandbox code execution support by integrating agent workflows with E2B, Docker, and local backends through one execution path.
    ContributionAdded a unified sandbox execution capability for PraisonAI agents, finishing support for E2B, Docker, and local execution backends instead of leaving execution wiring incomplete or fragmented.
    ImpactDevelopers running PraisonAI agents can execute code through a single sandbox workflow across E2B, Docker, and local environments, which should reduce manual switching and setup friction in automation-heavy projects where generated code must be run consistently. The change makes backend routing more centralized, so teams should watch for cross-backend behavior drift, sandbox security/isolation consistency, and backend-specific runtime failures that could still appear only in one environment after deployment.
  43. May 19, 2026, 8:19 AM

    pull request

    PraisonAI adds sandboxed code execution for agents with pluggable backends

    PR #1671 adds a unified sandbox execution path to PraisonAI agents, enabling code and shell execution through configurable backends (subprocess, Docker, and E2B Cloud VM) instead of running these operations without isolation. The implementation also adds Agent execute_code integration plus AST-based safety checks and backend/resource controls.
    ContributionAdded a protocol-driven sandbox execution subsystem for agents so user code can be run with explicit isolation and safety controls instead of direct/unbounded execution paths. The change integrates backend auto-detection, optional dependency loading, and execute-time guardrails (safety analysis plus limits), directly addressing the prior gap in secure agent code execution support.
    ImpactDevelopers can now offer code and shell execution features in agent workflows without forcing all jobs onto the host environment, reducing the operational blast radius when user-provided commands are involved. The new path is implemented via a backend manager (subprocess, Docker, E2B) with AST pre-checking and availability detection; teams should continue watching for sandbox-escape gaps, false negatives in security checks, and whether fallback behavior remains safe when a preferred backend is unavailable.
  44. May 19, 2026, 8:19 AM

    dependency update

    OpenHands updates authlib to fix OAuth callback security gaps

    OpenHands PR #14298 includes a security dependency bump that updates authlib from 1.6.9 to 1.6.12, applying upstream fixes for unvalidated OIDC redirect_uri handling and Starlette OAuth CSRF handling.
    ContributionUpgrades authlib to 1.6.12 in OpenHands, introducing concrete security hardening for login authorization flows by validating redirect targets in OIDC error paths and correcting a Starlette OAuth CSRF issue.
    ImpactOperators and users using OpenHands SSO/OIDC authentication should face fewer authentication risks after this update because safer redirect handling and CSRF checks reduce the chance of callback abuse or session compromise; teams should next monitor callback/SSO test coverage for any custom IdP flows that might change behavior after the stricter auth checks. Technically, this pins authlib to 1.6.12, which includes upstream fixes for invalid redirect_uri handling in OIDC grant errors and the related CSRF weakness in Starlette clients.
  45. May 19, 2026, 8:18 AM

    pull request

    PraisonAI now requires explicit SurrealDB credentials

    The patch removes the SurrealDB default root/root login path and makes SurrealDB knowledge-store initialization require explicit username/password credentials, replacing an insecure implicit default.
    ContributionIntroduced an authentication hardening change by eliminating the baked-in default credentials for SurrealDB and enforcing explicit username/password input when creating the knowledge store.
    ImpactDevelopers and operators running PraisonAI with SurrealDB will no longer have hidden exposure from default privileged credentials, reducing the chance of unintended database access after deployment. This is implemented by removing the root/root default path and requiring explicit credentials in initialization; environments that still rely on default authentication will now fail to connect until updated, so deployment manifests, Docker/env setups, and local scripts should be checked to ensure credentials are correctly provisioned and secret rotation is enforced after rollout.
  46. May 19, 2026, 6:21 AM

    pull request

    Add workspace-bound checks to platform resource APIs

    The PR introduces workspace-scoped authorization for platform issue, project, and agent operations by validating `workspace_id` on `get`, `update`, and `delete` flows, which blocks cross-tenant requests that previously could pass through with broader scope.
    ContributionImplemented explicit tenant-bound checks in core platform resource endpoints so operations are constrained to the caller’s workspace context, preventing cross-workspace manipulation; this is a concrete security-control fix rather than a refactor or config-only change.
    ImpactPlatform operators and workspace admins in multi-tenant deployments can now prevent unauthorized cross-tenant reads or updates to issues, projects, and agents, so one tenant’s actions are less likely to leak or alter another tenant’s data before execution reaches write path. The code enforces workspace_id validation in `get`/`update`/`delete` paths and test coverage was added, so watch for integrations that send missing or stale workspace IDs, and monitor error-rate or permission-denied regressions during rollout.
  47. May 19, 2026, 5:04 AM

    security incident

    Compromised npm packages trigger install-time malware with container-escape behavior

    A reported supply-chain attack compromised 314 npm packages and delivered malware through package install hooks, with observed payloads probing Docker/socket context and attempting escape workflows.
    ContributionThis updates the known threat pattern: package-install-time execution paths are now a proven vector for the attack, with compromised package versions embedding scripts that perform environment checks and target container infrastructure during dependency install.
    ImpactDevelopers and CI operators are now at higher risk because routine dependency installation can execute attacker code and potentially escalate from project dependency setup to container or host compromise, so organizations should treat npm package trust as an active security control surface. The concrete mechanics reported are installation-time script execution in compromised packages plus Docker-aware escape logic, so watch for: (1) additional package versions and mirrors reproducing this pattern, (2) whether npm/GitHub package checksums and publishing controls catch similar payloads, and (3) CI/container stacks that still expose Docker sockets in ways that make post-install malware actionable.
  48. May 19, 2026, 5:04 AM

    supply chain attack

    NPM install behavior exposed in 314-package compromise

    A new report says 314 npm packages were compromised, and the discussion traces repeated propagation to npm behavior that runs lifecycle scripts for transient dependencies by default, creating a broad supply-chain execution path.
    ContributionThe primary signal is that npm’s current default install/runtime model lets dependency lifecycle scripts execute during installs, which can be abused at scale; this incident demonstrates the practical risk of implicit execution permissions in dependency workflows.
    ImpactJavaScript developers and operators can have build and runtime environments silently compromised through ordinary dependency installs, so a single malicious package update can affect many downstream projects without manual code review; this raises immediate pressure to enforce stricter install policies, and teams should track whether npm changes default script execution for transitive packages and how effectively dependency allowlists/BOM pinning are adopted. This can materially reduce repeatable compromise spread from future package waves.
  49. May 19, 2026, 4:40 AM

    release

    v2.8.1 removes php_deserialization skill from bundled package

    This release removes php_deserialization.md from the bundled skills set, aligning the shipped package with Visual Studio Marketplace policy requirements.
    ContributionIntroduced a packaging/content-rule change in v2.8.1 that excludes the php_deserialization.md skill artifact from the release bundle.
    ImpactUsers and extension operators can install/update the release with a lower risk of marketplace policy rejection, reducing blocked or delayed deployments caused by packaging compliance issues; the team should watch whether any automation or user flows depended on that skill file and validate marketplace validation logs for any new packaging-policy failures in subsequent releases.
  50. May 19, 2026, 4:39 AM

    pull request

    Block php_deserialization.md from CoStrict VSIX skill bundles

    The PR adds a packaging safeguard so `php_deserialization.md` is excluded from bundled skills during CoStrict builds, using build-script removal and `.vscodeignore` rules to avoid shipping files that conflict with VS Marketplace packaging policy.
    ContributionIntroduces a concrete build-time packaging fix that strips a marketplace-problematic skill file from the distributed bundle and enforces exclusion through `.vscodeignore`, reducing the chance that disallowed content is published.
    ImpactExtension maintainers and release operators can publish CoStrict updates with fewer risk of marketplace policy rejection, because files that should not be shipped are now removed or ignored during packaging. The build now enforces the exclusion path in the artifact pipeline and also normalizes the skills subdirectory reference, so operators should watch for unexpected loss of required skill assets and verify that future policy-driven file exclusions stay intentional after the path change.
  51. May 19, 2026, 4:22 AM

    pull request

    Fallback root-run permission mode to internal auto handling in cc-connect

    The PR changes cc-connect session startup for claudecode and qoder so that when running as root (EUID 0), requests for `bypassPermissions`/`--dangerously-skip-permissions` are not forwarded to Claude Code; instead, cc-connect uses internal `auto` permission handling and logs a warning, preventing the immediate startup failure and downstream panic caused by a nil agent session.
    ContributionIntroduced root-aware permission-mode guard logic in both `agent/claudecode/session.go` and `agent/qoder/session.go`: detect privileged execution before building CLI args, skip the forbidden `--dangerously-skip-permissions` flag under root, and fall back to cc-connect’s internal permission auto-approval path with explicit warning logs.
    ImpactUsers running cc-connect as root can keep sessions starting normally instead of being blocked and crashing at launch, which reduces operator interruption in privileged automation and interactive root workflows. Internally, this routes privileged runs through cc-connect’s `auto` permission handler to avoid Claude Code’s root-only flag rejection and the resulting nil-session panic in the interactive message path; teams should watch for policy-sensitive behavior changes in permission auto-approvals and confirm warning messages are visible in production logs.
  52. May 19, 2026, 3:26 AM

    blog publication

    Published reproducible paid-API benchmark guide

    PR #742 republished the 2026-05-17 startaitools Tier 2 technical deep-dive on honest performance benchmarking for paid AI API pipelines, migrating Hugo frontmatter to Astro format without altering article content and documenting seeded-RNG and double-gate benchmark patterns.
    ContributionAdded a concrete benchmark methodology and publication update for paid-API inference evaluation: reproducible byte-identical test corpora via seeded RNG and explicit opt-in/skip recording via API_KEY + EXPLICIT_OPT_IN, plus clean Hugo-to-Astro frontmatter migration for the deep-dive article.
    ImpactTeams evaluating model performance through paid APIs can adopt a clearer testing template that is harder to mislead with inconsistent inputs or unrecorded API paths, so benchmarking results become easier to trust before rollout. The seeded corpus approach improves run-to-run comparability across environments, while the double-gate pattern makes opt-in behavior explicit even when requests are skipped-but-logged. Watch whether teams actually wire these controls into CI/automation, because undocumented skip or missing seed/version handling can still let benchmark drift hide latency, cost, or reliability regressions.
  53. May 19, 2026, 1:14 AM

    release

    Nightly release adds signed checksum verification flow

    The charmbracelet/crush nightly release now ships checksum and Sigstore metadata with step-by-step commands to verify artifact integrity before use.
    ContributionIntroduces a concrete release-time integrity workflow for nightly artifacts by publishing a signed checksum bundle and a clear command sequence to authenticate and hash-check every downloaded file.
    ImpactOperators and users installing the nightly binaries can verify authenticity and integrity of artifacts before deployment, which reduces exposure to poisoned or incomplete downloads in local use and CI/CD. The first verification step now binds artifact hashes to a Sigstore identity from the release workflow via `cosign verify-blob`, then cross-checks local files with `sha256sum`; teams should continue watching for missing `.sigstore.json` files, signature identity changes, and any release automation failures that could make verification false-negative or fail for valid builds.
  54. May 19, 2026, 12:46 AM

    commit burst

    Surface 429 rate-limit errors after write retry exhaustion

    InsForge updated the write-path rate-limit failure handling so a throttled request that exhausts retry attempts now returns a `RATE_LIMITED` response path instead of being hidden as a generic internal server error.
    ContributionChanged the retry-exhaustion branch in deno-subhosting so exhausted rate-limit retries throw `AppError(429, RATE_LIMITED)` instead of `AppError(500, INTERNAL_ERROR)`, and updated tests to assert on the exact `AppError` shape for this path.
    ImpactAPI clients hitting write endpoints now receive a clear rate-limit signal when retries are exhausted, so operator tools and client SDKs can back off instead of treating the condition as an opaque server failure. This preserves rate-limit semantics by throwing `AppError(429, RATE_LIMITED)` from `fetchWithTimeout` rather than wrapping it as an internal error, and downstream retry/error-handling logic should be watched for proper 429-aware backoff updates to avoid repeated thundering-ret ry loops or unnecessary fallbacks.
  55. May 19, 2026, 12:26 AM

    pull request

    Fix private vulnerability disclosure path in SECURITY.md

    The PR closes a security disclosure gap by correcting the advisories link in SECURITY.md to the canonical repository and enabling GitHub private vulnerability reporting for the repo.
    ContributionEnabled the repository’s private vulnerability intake by fixing the legacy advisories slug in SECURITY.md and turning on GitHub private vulnerability reporting for the canonical repo via API.
    ImpactSecurity researchers and maintainers now have a working private reporting path, so sensitive bugs can be disclosed without being blocked by a broken link and can be triaged through the intended security workflow. Technically, the PR updates SECURITY.md to point to `jeremylongshore/claude-code-plugins-plus-skills` advisories and sets `private-vulnerability-reporting` to true; continue watching for regressions after future repo renames/transfers or settings drift that could silently disable the report button or reintroduce 404s.
  56. May 18, 2026, 7:59 PM

    pull request

    aidlc-evaluator dependency set bumped to newer versions

    The PR performs one primary change: updating the `/scripts/aidlc-evaluator` dependency group in awslabs/aidlc-workflows from older versions to newer releases across five packages (boto3, ruff, semgrep, strands-agents, and strands-agents-tools).
    ContributionIt refreshes the evaluator environment’s pinned tooling libraries to newer patch/minor releases, directly reducing dependency drift and pulling in upstream fixes from these components in a single grouped update.
    ImpactTeams running or maintaining evaluator workflows in this repo will execute checks on more recent AWS SDK/lint/security/agent dependencies, which can reduce exposure to already-fixed issues and keep CI behavior aligned with current tool semantics; monitor post-merge CI for unexpected lint rule noise, changed static-analysis outputs, or behavioral edge cases from SDK/tooling updates before fully relying on new baselines. This can matter for operators because dependency drift often causes hidden breakage during later upgrades, and catching any regressions early avoids evaluation pipeline instability.
  57. May 18, 2026, 6:46 PM

    pull request

    Scraper blocks private-network and rebinding targets

    Aider’s scraper now enforces pre-flight network safety checks for URL fetches, rejecting private/internal or non-public destinations and tightening request handling so unsafe routes (including redirects and browser-side fetch paths) are filtered before content is pulled.
    ContributionIntroduced a unified hardening path that resolves and validates hostnames before scraping, blocks non-public targets, revalidates redirect targets, disables proxy/environment routing for HTTPX, binds outbound connections to validated addresses, and restricts Playwright usage to literal-IP URLs with route-level unsafe-request blocking.
    ImpactUsers running Aider’s scrape feature will now be stopped from reaching internal network endpoints (for example localhost, metadata services, and similar private addresses) through normal scrape inputs, reducing the chance that tooling accidentally probes or leaks access to local infrastructure. The change is implemented by validating destination resolution before requests, re-checking redirects, removing proxy/env path overrides, and adding browser-level request blocking for risky URL patterns, so SSRF and DNS-rebinding-like exposure paths are narrowed; operators should watch for false positives in environments that intentionally scrape internal hosts and verify redirect-heavy targets don’t bypass the new checks.
  58. May 18, 2026, 12:20 PM

    community signal

    AI-generated security reports are overwhelming Linux LKML triage

    A report on Linus Torvalds’ remarks says AI-powered bug-hunting traffic is making the Linux security mailing list difficult to manage, with signs of higher noise and lower report quality rather than a new tooling feature or code change.
    ContributionPrimary change identified is a process shift: AI-assisted reporting volume is increasing on Linux security channels fast enough that maintainers report triage is becoming unmanageable, indicating a quality/flow problem in incident intake.
    ImpactLinux kernel maintainers and operators using LKML for security coordination now face more manual filtering work and slower confidence in which reports are actionable, so real vulnerabilities risk being delayed by AI-generated noise and duplicate tickets; follow whether false-positive rates, average triage time, and missed-security findings rise, and whether migration to issue trackers or stricter report workflows actually improves signal quality without suppressing real bugs.
  59. May 18, 2026, 10:00 AM

    partnership

    OpenAI and Dell enable hybrid/on-prem enterprise deployment of Codex

    OpenAI and Dell announced a joint move to deliver Codex for hybrid and on-premise enterprise environments, giving organizations a practical path to run AI coding agents under internal control rather than only through remote public inference flows. This matters because it lowers deployment friction for security- and compliance-sensitive teams, making enterprise-grade AI coding assistance more immediately adoptable.
    ContributionAdded a new enterprise deployment path through an OpenAI-Dell collaboration that targets secure hybrid and on-prem operations for Codex, enabling controlled use of coding agents in enterprise infrastructure.
    ImpactEnterprise developers and operations teams can run Codex in environments where workloads and data stay closer to internal systems, so they can adopt coding AI with stronger governance over proprietary code and workflow data, and the key point to watch next is whether Dell-backed deployment now supports full production workloads, integrations, and compliance controls. The partnership suggests a likely shift in operational responsibility to enterprise stack readiness (identity, networking, auditing, and model-serving management), so rollout success will depend on how reliably these operational pieces are delivered.
  60. May 18, 2026, 6:00 AM

    security evaluation

    Cloudflare pilot shows Mythos is not yet scale-ready for critical-code security automation

    Cloudflare’s Project Glasswing report centers on running Mythos and similar security-focused LLMs directly against live code in critical infrastructure areas, then publishing concrete strengths, failure modes, and unresolved operational needs; the key change is the explicit shift from isolated model testing to production-like validation before broader rollout.
    ContributionProvided concrete evidence-based findings from live-infrastructure testing that define what needs to be fixed in controls, workflows, and validation before scaling security LLMs from pilot to broader operational use.
    ImpactSecurity operators and engineering teams cannot yet automate critical infrastructure code tasks with these models at full scale, because the live trial indicates remaining reliability and governance gaps that still require manual oversight. The deployment signal is that model quality alone is not the blocker; rollout readiness now depends on reducing misses/false findings, strengthening policy and escalation paths, and lowering human review load. The next watch point is whether the identified safeguards can keep false guidance, inconsistent detection behavior, and compliance risk within acceptable bounds during expansion.
  61. May 17, 2026, 1:08 PM

    release

    Filesystem watcher now redacts PEM keys and JWTs before preview transport

    v0.9.18 hardens the filesystem watcher preview path by masking sensitive credentials before transport, replacing private-key blocks and standalone JWT-like tokens with redacted placeholders so secrets are not forwarded in preview outputs.
    ContributionIntroduced a pre-transport redaction pass in the watcher preview pipeline that detects PEM blocks (including encrypted and common key formats) and JWT-like three-segment tokens, then replaces them with `[REDACTED ... PRIVATE KEY]` and tail-masked token strings before any transport write.
    ImpactDevelopers and operators relying on file-change previews are less likely to accidentally leak private keys or JWTs when those values appear in watched files, because preview output now strips sensitive material before it leaves the process. This closes a direct credential-exposure path in the hot path that handles filesystem watcher previews, but teams should watch for format drift in uncommon PEM/JWT variants and validate that consumers of redacted previews are not broken by the masked placeholders.
  62. May 16, 2026, 8:47 PM

    release

    Unblock @claude-flow/neural imports by pinning sona to a valid 0.1.5 build

    This release fixes a regression where fresh installs of `@claude-flow/neural` failed at import time because it pulled `@ruvector/[email protected]`, which lacked runtime artifacts; `@claude-flow/[email protected]` now pins `@ruvector/[email protected]`, restoring successful module import behavior.
    ContributionCorrected a broken dependency chain by republishing `@claude-flow/neural` to pin `@ruvector/sona` to version 0.1.5, which includes executable/runtime files (`index.js` and platform `.node` artifacts) instead of the empty 0.1.6 publish.
    ImpactDevelopers and operators using `@claude-flow/neural` now get a working install and startup path after `npm install`, so CI jobs and applications no longer fail immediately on import due to missing runtime entry files. This matters because the transitive publish regression was a hard runtime break, and the current safeguard depends on a stable transitive version pin; teams should watch for the upstream `@ruvector/sona` republish status and add checks to prevent another release without native/runtime payload from reintroducing import-time crashes.
  63. May 13, 2026, 12:00 AM

    product update

    Slack bot automates GitHub advisory triage and response draft generation

    Sourcegraph introduced a Slack bot that automatically triages incoming GitHub advisories and, once an operator reacts in-channel, runs an end-to-end response pipeline that produces detection output, a blog scaffold, social drafts, and a 35-second auto-cut demo.
    ContributionDefined a concrete security-operational automation where advisory ingestion and triage are handled by Slack, and a single operator reaction launches a predefined sequence of detection, documentation, comms, and demo-generation steps.
    ImpactSecurity operators can act on supply-chain incidents faster because one Slack reaction now triggers the full response artifact pipeline, so routine drafting work is removed from people and they can focus on verifying the event and deciding whether to publish. The bot turns advisory intake into automated detection plus ready-to-review blog and social outputs with a 35-second demo, which can shorten coordination latency for public-facing response preparation. Continue watching for false positives, missed or duplicated reaction triggers during high alert volume, and the quality/accuracy of auto-generated drafts before release.
  64. Apr 28, 2026, 10:13 PM

    pull request

    Expose MseeP.ai security badge listing for agentic_coding_flywheel_setup

    This pull request proposes adding a link to the project’s MseeP.ai security listing and badge so the MCP server can present an external security/trust signal from a third-party source.
    ContributionAdded a third-party trust signal path by tying the repository to an external MseeP.ai security assessment entry and badge URL, giving downstream users a direct place to check published security validation.
    ImpactMaintainers and users can be pointed to an external security-assessment page for this MCP server, which can shorten trust decisions during integration and deployment planning, so follow whether the PR is actually merged and whether the linked assessment page is kept up to date. The change itself is documentation/metadata-only and does not alter runtime behavior; future risk comes from stale badge links or security checks that do not match the repository revision being used.

Evidence Trail

  1. github_pull_request

    thedotmack/claude-mem PR #2616: feat(privacy): opt-in auto-redaction for common secret patterns (closes #2437)

    Feature proposal and implementation to opt in to automatic secret detection and redaction across observation, summary, and tool-output flows, replacing known tokens with placeholders rather than dropping whole blocks.

    Open Source
  2. github_pull_request

    danny-avila/LibreChat PR #13245: 🛡️ feat: Azure Blob Storage URL Signing and Refresh Support

    Implements Azure Blob URL signing + refresh parity with S3, hardens defaults, and fixes SAS-path handling for private container workflows.

    Open Source
  3. github_release

    v3.7.0-alpha.76 — ADR-127 + ADR-128 (.github stack + init bundle reduce) + 5 fixes

    ADR-127 — .github stack modernization: adversarial safe-injection smoke, SHA/allowed-deps checks for `uses:`, deprecated-actions and attribution-injection hardening in new CI guards.

    Open Source
  4. github_pull_request

    ruvnet/ruflo PR #2094: feat: #2089 ADR-127 — modernize .github stack (CI guards + supply-chain + attribution opt-in)

    Closes #2089 and implements ADR-127 end-to-end across four phases, including smoke tests for safe-injection checks, action pin/allow-list enforcement, deprecated-action detection, and attribution opt-in behavior.

    Open Source

Source Coverage

github pull request
45 events · 45 evidence items
2 days ago
github release
6 events · 6 evidence items
2 days ago
hacker news feed
5 events · 5 evidence items
4 days ago
github commit burst
4 events · 4 evidence items
3 days ago
rss feed
3 events · 3 evidence items
6 days ago
github issue
1 event · 1 evidence item
3 days ago

Subscribe to this topic

Keep tracking AI Security with weekly digests and high-signal alerts once your account subscription is active.

Sign in to subscribeReview Pro tracking

Watching Next

AI Security tracks source-backed changes, trend stages, evidence volume, and the signals worth watching over time.

Turn on alerts