Skip to content

Chameleon

v2.38.3 Security

This release includes 1 security fix for security teams reviewing exposed deployments.

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

Topics

ai-coding-assistant archetype ast-analysis claude-code claude-plugin code-conventions
+12 more
code-review code-style developer-tools javascript linter mcp mcp-server prompt-engineering python ruby rails typescript

Affected surfaces

rce_ssrf

Summary

AI summary

Fixed pre‑write detection of eval()/exec() in notebook cells and prevented decoy fields from shadowing secret/eval scans.

Full changelog

Fixed

  • eval()/exec() in a notebook cell is now denied pre-write, matching the
    .py path.
    The PreToolUse eval-call deny gates on
    detect_language(file_path), which is None for a .ipynb path, so the same
    eval(user_input) that hard-blocks in a .py file sailed through when written
    to a notebook. The Python a notebook edit actually writes is now recovered and
    scanned: a NotebookEdit proposes a cell's SOURCE (a code cell — or an
    unstated cell whose source parses as Python — is scanned; a markdown/prose cell
    never is, so a sentence mentioning eval() can't false-block), and a
    Write/Edit of a whole .ipynb has its code cells extracted from the JSON
    and scanned so the same sink can't be smuggled in through the raw file tool.
    The inline # chameleon-ignore eval-call escape hatch works in a cell, and the
    deny now hands a notebook the # directive instead of the // that would be a
    syntax error in a Python cell.
  • Pre-write secret/eval scans no longer shadowable by a decoy field. The
    proposed-content read was new_string or content or new_source, so a
    NotebookEdit carrying a benign content (or new_string) alongside the real
    new_source bound the scan to the decoy while the actual cell source reached
    disk unscanned. The content is now selected by tool_name (a NotebookEdit
    reads new_source), closing the bypass for both the deterministic-secret and
    eval-call denies.

Security Fixes

  • Pre‑write scans now correctly detect and block `eval()`/`exec()` in notebook cell source, fixing a bypass where decoy fields could hide the malicious code.

Weekly OSS security release digest.

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

No spam, unsubscribe anytime.

Share this release

Track Chameleon

Get notified when new releases ship.

Sign up free

About Chameleon

All releases →

Related context

Earlier breaking changes

  • v3.0.0 MCP surface folded from 48 tools to 19; remaining 32 operator tools become actions on three dispatchers.

Beta — feedback welcome: [email protected]