Conversation
- explain how to build local and personal deva images - document DEVA_DOCKER_IMAGE and DEVA_DOCKER_TAG overrides clearly - link the guide from the README, docs index, advanced usage, and MkDocs nav
|
Claude finished @lroolle's task in 3m 14s —— View job Security Audit: Custom Image Guide PRParanoid security audit focusing on container boundaries, auth flows, shell entrypoints, privilege escalation, and permission bypasses. Security Audit Checklist
CRITICAL SECURITY FINDINGS🚨 HIGH-RISK: Arbitrary Container Control Without Trust Model The documentation enables users to inject arbitrary Docker images via Key Attack Vectors Identified:
🚨 BLOCKING ISSUES 1. Missing Security GuidanceThe documentation provides zero guidance on:
2. Dangerous Documentation Examples
3. Authentication Mount Security GapCustom images bypass deva's security model by controlling:
REQUIRED SECURITY MITIGATIONS BEFORE MERGE:
RECOMMENDATION: DO NOT MERGE until security guidance is added and shell injection vectors are hardened. |
There was a problem hiding this comment.
Pull request overview
Adds documentation for building and using custom deva Docker images, and wires that guide into the MkDocs site navigation and existing docs entry points.
Changes:
- Add new “Custom Images” guide documenting
DEVA_DOCKER_IMAGE/DEVA_DOCKER_TAGoverrides and local/personal image workflows. - Link the new guide from README, docs index, and Advanced Usage.
- Update MkDocs nav to include the new page.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| mkdocs.yml | Adds “Custom Images” to the MkDocs navigation and updates the site description ordering. |
| docs/index.md | Links the new Custom Images guide from the docs home page. |
| docs/custom-images.md | Introduces a full guide for local builds, registry images, and .deva / .deva.local overrides. |
| docs/advanced-usage.md | Adds a pointer to the Custom Images guide from Advanced Usage. |
| README.md | Links the Custom Images guide from the repo README. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| - you want local experiments without waiting for upstream releases | ||
|
|
||
| That is fine. deva does not care where the image came from. It cares | ||
| that the image exists and that the tag you asked for is real. |
There was a problem hiding this comment.
This statement implies deva strictly requires the requested tag to exist, but deva.sh can automatically fall back to another locally-available tag (currently prefers rust then latest) if the requested tag is missing and the pull fails. Please adjust this wording to reflect the fallback + warning behavior, or explicitly note that the requested tag may be substituted when a compatible local image exists.
| that the image exists and that the tag you asked for is real. | |
| that there is a usable image and tag: it will first try the tag you asked | |
| for, but if that pull fails and a compatible local image exists, `deva.sh` | |
| may fall back to another tag (currently preferring `rust` then `latest`) | |
| and will warn you when it does so. |
| - If you build a custom image that removes expected tools or paths, | ||
| deva will not magically repair your bad Dockerfile. | ||
| - If your image tag does not exist locally and cannot be pulled, deva | ||
| fails fast. Good. Silent nonsense would be worse. |
There was a problem hiding this comment.
The guide says deva "fails fast" when the tag is missing locally and can't be pulled, but deva.sh may instead fall back to another available local tag (and continue) when the pull fails. Please update this gotcha to describe the actual behavior (warn + fallback when rust/latest exists; otherwise error).
| fails fast. Good. Silent nonsense would be worse. | |
| will warn and fall back to a local `rust` or `latest` tag when one | |
| exists; if no suitable fallback exists, it errors instead. Silent | |
| nonsense would be worse. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 72604f83bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - If your image tag does not exist locally and cannot be pulled, deva | ||
| fails fast. Good. Silent nonsense would be worse. |
There was a problem hiding this comment.
Remove incorrect fail-fast guarantee for missing image tags
This bullet says deva will "fail fast" when the requested tag is missing and cannot be pulled, but check_image() in deva.sh first falls back to any local rust/latest tag (for tag in rust latest and DEVA_DOCKER_TAG="$fallback_tag"). In environments where one fallback tag exists locally, deva proceeds with a different image instead of failing, so this guidance is inaccurate and can mislead users during reproducibility/debugging.
Useful? React with 👍 / 👎.
Summary
Verification
./deva.sh --help./scripts/version-check.shRisk
Issues
Closes #