Releasesv0.18.6
v0.18.6 — Migration, provider & sandbox hardening
Esta es la nota de release tal como fue publicada, no una reescritura de ella. Las notas de release se publican en el idioma en que fueron escritas.
Two adversarial reviews — of the migration/kanban/CLI and the providers/sandbox/scrape surfaces — found fifteen real bugs the tests missed, including a CRITICAL taint-laundering, an SSRF hole, and a provider-secret leak. All fixed and regression-tested. (Seventh review; 60 bugs across ten surfaces so far.)
Security
- CRITICAL — migration no longer launders foreign content as trusted. Imported memory was stored
provenance="clean"and imported skills copied verbatim, so another agent's untrusted facts recalled as verified and a foreignprovenance: cleanskill was admittedactive. Imported memory is now tainted and each imported SKILL.md is taint-stamped at the import boundary. - SSRF guard on the scrape tools (
scrape/extract/map/crawl/firecrawl): every fetch — and each redirect hop — is checked against private/loopback/link-local/reserved ranges (blocks169.254.169.254cloud metadata and internal services); only http/https allowed. - The default LocalSandbox no longer inherits provider secrets — an injected
echo $OPENROUTER_API_KEYcould exfiltrate them; secret env vars are now scrubbed from the child env. - Docker sandbox timeout now stops the container (
--name+docker kill) instead of leaving it running on the daemon. - Non-UTF-8 import files degrade instead of crashing; skill copies preserve symlinks instead of dereferencing host files.
Fixed
- LocalSandbox timeout kills the whole process tree (
start_new_session+killpg). - Completion cache: the key folds in the other response-affecting params (no collision); a hit reports 0 fresh tokens (honest, with the count under
cache_read_tokens); a fallback answer is no longer cached under the primary's key; unique temp file. - Fetch bodies capped at 10 MB (streamed);
migrate --applyhonors the configured memory backend + embedder; the kanban board is crash-safe (atomic save) and resilient (skips a malformed card).
Gate: ruff + mypy clean, 1403 passed / 3 skipped. pip install -U chimera-agent