Skip to content

v0.7.0

Latest

Choose a tag to compare

@Vitexus Vitexus released this 10 Aug 17:16

What's New

  • Untrusted-content safeguard against prompt injection. Tools that read page content back to the AI assistant — browser_get_source, browser_get_text, browser_get_attribute, browser_get_storage, and the DevTools console/JS-error/report tools — now clearly mark that content as untrusted data, not instructions. This hardens the assistant against malicious or compromised pages that try to hijack it by embedding fake instructions in HTML, console output, or storage values. See the new "Security" section in the README for details.
  • Network BiDi availability reporting. browser_open and the DevTools tools now report whether network-level BiDi capture (used for detecting failed/slow resources) is actually active, so you can tell when that data is trustworthy versus simply unavailable.
  • Configurable command timeout. WebDriver commands now default to a 60-second timeout, so a stalled geckodriver command (for example, reading the page title) can no longer hang a tool call indefinitely. Adjustable via the WEBDRIVER_COMMAND_TIMEOUT environment variable.

Fixed

  • Browser sessions can no longer be pointed at your real, logged-in Firefox profile through a per-call request — profile selection stays a server-launch-only setting, closing off a path a malicious page could otherwise have used to silently gain access to your live profile.
  • Fixed Debian 13 packaging: added the missing Breaks: alongside Replaces: so upgrades from the old package name install cleanly, and corrected per-package debhelper filenames.
  • Added missing python3-pydantic and python3-typing-inspection dependencies to the Debian package, fixing a ModuleNotFoundError some users hit at startup.
  • Removed an unused computed-style lookup in browser_find_elements.

Other Changes

  • The Debian package name dropped its python3- prefix, since this is an application rather than a library.
  • Expanded test coverage and documentation for the untrusted-content handling and the Firefox-profile security decision.

Note for integrators: browser_get_storage's return shape changed from a flat {key: value} dict to {"warning": ..., "entries": {key: value}}. If you parse its output directly, read values from the nested entries key.