Skip to content

Feb 2 upstream sync 2#12

Merged
centminmod merged 56 commits intocentminmod:mainfrom
openclaw:main
Feb 2, 2026
Merged

Feb 2 upstream sync 2#12
centminmod merged 56 commits intocentminmod:mainfrom
openclaw:main

Conversation

@centminmod
Copy link
Owner

Feb 2 upstream sync 2

joshp123 and others added 30 commits February 1, 2026 18:21
* docs(discord): clarify exec approvals UI

* Add link for slash command in Discord exec approvals

Updated documentation to include a link for the slash command used in Discord exec approvals.

* docs(discord): move exec approvals note

* docs(discord): document exec approvals config

* docs(discord): reorder exec approvals config

---------

Co-authored-by: Luke K (pr-0f3t) <2609441+lc0rp@users.noreply.github.com>
Co-authored-by: hansbbans <hansbbans@users.noreply.github.com>
- Fix @1 -> $1 in landpr.md
- Fix $@ -> $1 in reviewpr.md
- Remove stray /reviewpr line from reviewpr.md
- Delete old pr.md (replaced by reviewpr.md and landpr.md)
* improve exe.dev setup instructions

1. Fix device approval command
2. Clarify where Gateway token can be found

* Update device approval instructions in exe-dev.md

Clarify instructions for approving devices in OpenClaw.
…6398)

* security(message-tool): validate filePath/path against sandbox root

* style: translate Polish comments to English for consistency
…4610)

* security(web): sanitize WhatsApp accountId to prevent path traversal

Apply normalizeAccountId() from routing/session-key to
resolveDefaultAuthDir() so that malicious config values like
"../../../etc" cannot escape the intended auth directory.

Fixes #2692

* fix(web): check sanitized segment instead of full path in Windows test

* style(web): fix oxfmt formatting in accounts test
* Fix missing before_tool_call hook integration

- Add hook call in handleToolExecutionStart before tool execution begins
- Support parameter modification via hookResult.params
- Support tool call blocking via hookResult.block with custom blockReason
- Fix try/catch logic to properly re-throw blocking errors using __isHookBlocking flag
- Maintain tool event consistency by emitting start/end events when blocked
- Addresses GitHub issue #6535 (1 of 8 unimplemented hooks now working)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>

* Add comprehensive test suite for before_tool_call hook

- 9 tests covering all hook scenarios: no hooks, parameter passing, modification, blocking, error handling
- Tests tool name normalization and different argument types
- Verifies proper error re-throwing and logging behavior
- Maintained in fork for regression testing

* Fix all issues identified by Greptile code review

Address P0/P1/P3 bugs:

P0 - Fix parameter mutation crash for non-object args:
- Normalize args to objects before passing to hooks (maintains hook contract)
- Handle parameter merging safely for both object and non-object args

P1 - Add missing internal state updates when blocking tools:
- Set toolMetaById metadata like normal flow
- Call onAgentEvent callback to maintain consistency
- Emit events in same order as normal tool execution

P1 - Fix test expectations to match implementation reality:
- Non-object args normalized to {} for hook params (not passed as-is)
- Add test for safe parameter modification with various arg types
- Update mocks to verify state updates when blocking

P3 - Replace magic __isHookBlocking property with dedicated ToolBlockedError class:
- More robust error handling without property collision risk
- Cleaner control flow that's serialization-safe

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4 <noreply@anthropic.com>
- Added systemPrompt for overriding the default system prompt.
- Introduced skills for pre-loaded skills management.
- Added contextFiles for handling pre-loaded context files with path and content attributes.
- Added max-width to chat controls and session select for better layout.
- Increased CHAT_SESSIONS_ACTIVE_MINUTES from 10 to 120 for extended session duration.
- Changed brand logo source to a local favicon for improved asset management.
VACInc and others added 26 commits February 1, 2026 15:23
* feat: web content security wrapping + gkeep/simple-backup skills

* fix: harden web fetch + media text detection (#4058) (thanks @VACInc)

---------

Co-authored-by: VAC <vac@vacs-mac-mini.localdomain>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Add timeout protection to prevent indefinite hangs when Urbit server
becomes unresponsive or network partition occurs.

Changes:
- Add AbortSignal.timeout(30_000) to 7 one-shot fetch calls
- Add AbortController with 60s connection timeout to SSE stream fetch
  (clears timeout after headers received to avoid aborting active stream)

Affected methods: sendSubscription, connect, openStream, poke, scry, close

Fixes #5266

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Dmytro Semchuk <x0m4ek@users.noreply.github.com>
- Update @mariozechner/pi-agent-core, pi-ai, pi-coding-agent, pi-tui to 0.51.0
- Delete src/types/pi-coding-agent.d.ts (declared additionalExtensionPaths which SDK never supported)
- Fix ToolDefinition.execute signature (parameter order changed in 0.51.0)
- Remove dead additionalExtensionPaths from createAgentSession calls
* Docs: fix Moonshot sync markers

* Docs: use MDX comment markers for Moonshot sync

* Docs: use markdown comment markers for Moonshot sync

* Docs: hide Moonshot sync markers in MDX
* fix: L2-normalize local embedding vectors to fix semantic search

* fix: handle non‑finite magnitude in L2 normalization and remove stale test reset

* refactor: add braces to l2Normalize guard clause in embeddings

* fix: sanitize local embeddings (#5332) (thanks @akramcodez)

---------

Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
@centminmod centminmod merged commit ec1eda7 into centminmod:main Feb 2, 2026
centminmod added a commit that referenced this pull request Feb 9, 2026
centminmod added a commit that referenced this pull request Feb 11, 2026
…ttacks, 2 misconfigs)

New guide covering the "AI foot-gun" problem — LLMs modifying their own
OpenClaw config via the ungated gateway tool (config.apply/config.patch).

- CREATE ai-self-misconfiguration.md: TL;DR, attack surface table,
  13-category misconfiguration catalog, defense strategies, gap analysis
- ADD misconfiguration #11 (AI "optimizes" config) and #12 (schema-valid
  but dangerous values)
- ADD prompt injection attacks openclaw#28 (config via gateway tool), openclaw#29 (via
  shell), openclaw#30 (gradual security degradation)
- ADD hardening checklist openclaw#13 (never let AI modify security-critical config)
- UPDATE README navigation and cross-references (27→30 attacks)
centminmod added a commit that referenced this pull request Feb 13, 2026
…(63 commits, not 7)

- Fix 5 wrong file:line references (elevatedMode, bypassApprovals, validateHostEnv, resolveExecApprovals, process.env passing)
- Rewrite 2026-02-14-sync-7.md: document all 63 upstream commits (was 7)
- Add 4 missed security-relevant commits (session key normalization, browser path constraint, agent idle-wait, matrix hardening)
- Add correct line number shift table with grep verification
- Document Matrix multi-account (10-commit chain) and Discord gateway proxy (9-commit chain)
- Update Legitimate Gaps Status and PR #12 references to new file locations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.