fix(whatsapp-bridge): bump Baileys to 7.0.0-rc12 for CVE-2026-48063 - #43815
Closed
zapabob wants to merge 201 commits into
Closed
fix(whatsapp-bridge): bump Baileys to 7.0.0-rc12 for CVE-2026-48063#43815zapabob wants to merge 201 commits into
zapabob wants to merge 201 commits into
Conversation
- Use tempfile.gettempdir() for persistent shell temp paths instead of hardcoded /tmp, allowing Python open() and Git Bash to both access the same files (e.g. C:/Users/.../AppData/Local/Temp/hermes-local-*) - Skip Unix _SANE_PATH injection into subprocess PATH on Windows to prevent /opt/homebrew and /usr/bin from polluting Windows environment - Replace pkill -P with taskkill /F /FI "PPID eq <pid>" on Windows for proper child process termination in persistent shell mode - Add platform/tempfile imports and _IS_WINDOWS flag to persistent_shell.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Windows native fork banner and change summary table - Replace "Windows not supported" with Git Bash installation guide - Add Japanese UI for key sections - Update issue/PR links to point to this fork - Credit upstream NousResearch and fork author Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion) VRChat OSC integration: - tools/vrchat_osc_tool.py: python-osc based VRChat chatbox, avatar params, typing indicator, raw OSC — ports extensions/vrchat-relay from OpenClaw - skills/gaming/vrchat/SKILL.md: usage docs and workflow examples - pyproject.toml: add [vrchat] optional dep (python-osc>=1.8.0) LINE gateway: - gateway/platforms/line.py: LINE Messaging API webhook adapter (aiohttp) with HMAC signature verification and push/reply support Windows scripts: - scripts/windows/start-hermes-gateway.ps1: gateway launcher for Windows - scripts/windows/register-hermes-autostart.ps1: Task Scheduler autostart Migration artifacts (clawdbot → Hermes): - docs/migration/clawdbot_full_porting.md: full runbook - docs/migration/clawdbot_cutover_checklist.md: pre/post checklist - docs/migration/clawdbot_migration_assessment.md: 91 extensions classified - docs/migration/clawdbot_migration_assessment.json: machine-readable assessment - docs/migration/hypura_native_integration.md: Hypura provider integration guide - docs/migration/hypura_vendor_inventory.md: Hypura dependency inventory Hermes internals: - hermes_api_server.py: REST API server for external tool access - hermes_cli/hypura_native.py: Hypura AI provider CLI integration .env.example: - Add VRCHAT_OSC_HOST/SEND_PORT/RECV_PORT - Add VOICEVOX_URL/SPEAKER - Add TELEGRAM_HOME_CHANNEL=7201110294 (migrated from TELEGRAM_CHAT_ID) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
tools/voicevox_tts_tool.py: - voicevox_speak(text, speaker, blocking): synthesise + play audio - voicevox_synthesise(text, speaker): return raw WAV bytes (no playback) - voicevox_list_speakers(): list all available speakers/styles - voicevox_status(): check engine connectivity Cross-platform playback: winsound (Windows), afplay (macOS), paplay/aplay/ffplay (Linux) Default speaker: 8 (春日部つむぎ, configurable via VOICEVOX_SPEAKER env var) Engine URL: http://127.0.0.1:50021 (configurable via VOICEVOX_URL env var) Matches the VOICEVOX config in live2d-companion (speaker=8, url=50021). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Allow the Hermes AI agent to call VRChat and VOICEVOX autonomously
during conversations without manual code execution.
tools/vrchat_osc_tool.py:
- registry.register() for: vrchat_chatbox, vrchat_typing,
vrchat_avatar_param, vrchat_send_osc, vrchat_status
- All gated on python-osc via _check_vrchat_requirements()
tools/voicevox_tts_tool.py:
- registry.register() for: voicevox_speak, voicevox_list_speakers,
voicevox_status
- voicevox_speak gated on engine reachability via _check_voicevox_requirements()
model_tools.py:
- Add tools.vrchat_osc_tool and tools.voicevox_tts_tool to _discover_tools()
so they are loaded at startup
toolsets.py:
- Add all 8 new tools to _HERMES_CORE_TOOLS so they appear in the
agent's default tool set
tools/__init__.py:
- Export all new public functions
Result: agent can now autonomously:
- Send messages to VRChat chatbox ("VRChat に挨拶して")
- Control avatar parameters ("表情を笑顔にして")
- Speak via VOICEVOX ("VOICEVOXで読み上げて")
- Chain VRChat + VOICEVOX for synchronized chat+voice
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lution (Hakua Growth Pulse)
…arness tools and VRChat control
…eam script Made-with: Cursor
…t__, uv.lock Made-with: Cursor
…nces - Updated all instances of `hermes_cli.main` to `hermes_cli` for consistency across scripts and documentation. - Introduced a new `__main__.py` file to allow running the CLI with `python -m hermes_cli`. - Added runtime Python version check to ensure compatibility with Hermes requirements. - Updated tests to reflect changes in module invocation. This change simplifies the command structure and enhances usability for users running the CLI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add tools/openclaw bridge, harness/voice/VRChat tools, merge tooling, and upstream sync scripts. Register openclaw toolsets as opt-in; extend vendor hypura-harness and vrchat-relay extensions. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove duplicate ArgumentParser in main() left after _parser.py migration; the unclosed epilog broke imports at line 12615. Add Windows desktop shortcut script and ops doc. Co-authored-by: Cursor <cursoragent@cursor.com>
- Restore get_running_pid record loop in gateway/status.py - Initialize ACP nonlocal bindings in acp_adapter/server.py - Remove duplicate broken API block in hermes_cli/doctor.py Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Windows venvs created with uv store the base interpreter under pyvenv.cfg; if that cpython tree is removed, hermes/uv fail with opaque path errors. Doctor now surfaces the broken home path and standard repair commands. Co-authored-by: Cursor <cursoragent@cursor.com>
Move all .lnk into a single subfolder, remove stale root duplicates, add Doctor shortcut, optional uv venv bootstrap, and deprecate the windows-only shortcut script in favor of one canonical creator.
Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve local runtime artifacts with focused ignore rules, keep OpenClaw SOUL copies byte-for-byte, migrate approved messaging/VRChat/API secret surfaces, centralize legacy desktop shortcuts, and add a CLI hint for bare command names.
Enable x_search for direct X/Twitter status URL reads without xAI credentials by routing canonical status URLs through r.jina.ai. Harden URL extraction to canonical handles and preserve explicit empty platform tool selections.
Merge upstream/main through scripts/sync_all.py with fork-preserving policy, apply Windows/Desktop follow-up fixes, and keep generated _docs and environment-local files out of the commit.
Bump aiohttp to 3.14.0 for CVE-2026-47265/CVE-2026-34993 and pin PyNaCl 1.6.2 for CVE-2025-69277. Avoid discord.py[voice]'s PyNaCl<1.6 resolver constraint by spelling out the Discord voice dependencies directly.
Integrate NousResearch security fixes (HERMES_HOME skill .env, Telegram overflow, gateway delivery, cron provider resolution, thinking-signature recovery), desktop/dashboard features, and dependency updates while preserving fork-only tools (VRChat, OpenClaw voice, harness) and Windows shell compatibility via custom-first merge policy. Co-authored-by: Cursor <cursoragent@cursor.com>
Re-applies fork-only gateway OAuth entry point on top of upstream merge, using official hermes_cli.auth APIs and HERMES_HOME-aware credential resolution. Co-authored-by: Cursor <cursoragent@cursor.com>
Pin @whiskeysockets/baileys to 1aee6ed (npm 7.0.0-rc12), which includes GHSA-qvv5-jq5g-4cgg message upsert / history sync spoofing mitigation. Co-authored-by: Cursor <cursoragent@cursor.com>
13 tasks
Collaborator
|
Heads-up: #43840 (liuhao1024) bumps Baileys all the way to rc13, which is a superset of the rc12 fix targeted here. If #43840 merges first, this PR will be superseded and can be closed without losing the CVE-2026-48063 fix. Tagging for awareness so reviewers can coordinate merge order. |
Collaborator
|
Closing as superseded by #43840, which bumps Baileys to rc13 — a strict superset of the rc12 pin here. #43840 covers the same CVE-2026-48063 fix plus the LID-addressed group-send fix, and is already reviewed/approved. No coverage is lost by closing this one. Thanks for flagging the CVE, @zapabob — the fix lands via #43840. |
23 tasks
Closed
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #43814 — bumps
@whiskeysockets/baileysgit pin from01047deto1aee6ed(npm 7.0.0-rc12), which includes the patch for CVE-2026-48063 / GHSA-qvv5-jq5g-4cgg (message upsert / history sync / app-state spoofing).This is distinct from #24677, which only reaches
7.0.0-rc10and remains in the vulnerable< 7.0.0-rc12range for this advisory.Changes
scripts/whatsapp-bridge/package.json— Baileys pin →WhiskeySockets/Baileys#1aee6ed6011ef77035c2b072eff478fc5f327809scripts/whatsapp-bridge/package-lock.json— regenerated vianpm installTest plan
node --check bridge.jsnode allowlist.test.mjs(5/5 pass)npm auditinscripts/whatsapp-bridge/→ 0 vulnerabilities