Skip to content

DumbCode v0.12.2 — image input + prompt-injection hardening

Choose a tag to compare

@Shimba-crypto Shimba-crypto released this 05 Sep 20:35
· 4 commits to main since this release

New features

🖼️ Image input

Attach images (PNG/JPG/GIF/WebP, ≤5 MB) to any question or chat turn — they're sent as multimodal content parts to vision-capable models:

dumbcode ask "what's wrong with this UI?" --file screenshot.png
dumbcode chat        # then: /file diagram.png  and ask about it

Provider shapes are converted automatically: OpenAI-compatible content parts, Anthropic base64 image blocks, Gemini inline_data, and Ollama native images — in both streaming and non-streaming paths. Text-only flows are completely unchanged.

🛡️ Prompt-injection hardening

Tool output (file reads, greps, shell, tests, web fetches) can carry attacker-written instructions. DumbCode now:

  • Fences untrusted content: everything from guarded tools is wrapped in <<<UNTRUSTED CONTENT>>> markers at the single choke point shared by the CLI and MCP — and the system prompt instructs the model to treat fenced content as data, never directives.
  • Scans for injection smells: "ignore previous instructions", secret-exfil requests, fake tool-call syntax, mode-override attempts — flagged on the console when they appear in tool output.
  • Protects the GitHub bot: issue/PR comment text that summons DumbestBOT is wrapped the same way, so a comment can't steer the agent.

Also in this release

  • GitHub App bot scaffold (DumbestBOT): webhook server, in-process agent runs, per-PR fix PRs, one-command app registration via npm run bot:setup -- --org <org>

Verification

  • 125/125 tests pass (10 new covering images + guard)
  • dumbcode.exe reports v0.12.2; SHA256SUMS included