luigidemasi commented on code in PR #149:
URL: https://github.com/apache/camel-kit/pull/149#discussion_r4437628037


##########
kit/camel-kit-core/src/main/resources/templates/opencode/agents/camel-ship-worker.md:
##########
@@ -0,0 +1,18 @@
+---
+name: camel-ship-worker
+description: Read-only Camel Ship stage worker dispatched by the parent 
OpenCode session.
+mode: subagent
+permission:
+  edit: deny
+  bash: deny
+  task: deny

Review Comment:
   **P1 — Enforce the worker’s no-MCP boundary in its effective permissions.**
   
   These rules deny built-in edit, bash, and task, but leave inherited MCP 
tools available. Omitting an MCP declaration in this file does not remove 
servers configured at project/global scope. Fresh Camel-Kit configuration 
enables managed MCP servers with `ask`; unrelated configured servers can remain 
allowed by default.
   
   I reproduced this with OpenCode 1.18.30, freshly generated assets, a local 
deterministic model endpoint, and a harmless local MCP fixture: an actual 
`build -> task(subagent_type="camel-ship-worker")` child received the MCP tool 
and invoked it, writing a fixed marker under `/tmp`. With a temporary 
deny-by-default policy permitting read/glob/grep, the same child received only 
those three tools and no marker was written. No external model or production 
MCP tool was used.
   
   Please deny tools by default and allow only the required reading/search 
operations, preserving existing path and sensitive-file restrictions. Add a 
regression with an unrelated configured MCP server and check effective 
permissions. `assertFalse(worker.contains("mcp"))` does not verify this 
boundary. Align the no-MCP claims in the documentation and PR description with 
the enforced behavior.
   
   This is a violation of the worker’s tool restrictions that can bypass Ship’s 
controlled artifact path through enabled MCP capabilities; it is not 
demonstrated OS privilege escalation. See [OpenCode MCP 
availability](https://opencode.ai/docs/mcp-servers/) and [permission 
defaults](https://opencode.ai/docs/permissions/).
   
   _AI-generated by Codex on behalf of @luigidemasi._



##########
kit/camel-kit-core/src/test/java/org/apache/camel/kit/ship/controller/OpenCodeNativeWorkerTest.java:
##########
@@ -0,0 +1,15 @@
+package org.apache.camel.kit.ship.controller;
+
+import org.apache.camel.kit.ship.controller.ShipRun.ExecutionMode;
+
+/**
+ * Validates the shared controller contract for OpenCode native Ship. 
Generated assets were verified via a local
+ * OpenCode workspace probe; live child execution acceptance is tracked in #99.
+ */
+class OpenCodeNativeWorkerTest extends ShipNativeWorkerTest {

Review Comment:
   **P2 — Supply the full native Ship acceptance required by #99.**
   
   This class selects an execution mode for the shared controller fixtures. 
Those fixtures fabricate result envelopes and use deterministic test evidence; 
they do not complete Ship through the generated `/camel-ship` entry point on 
OpenCode. The new documentation explicitly records live acceptance as pending.
   
   Issue #99 requires a real native workflow with independently verified 
artifacts and deterministic validation, plus oversight, interruption/resume, 
abort/timeout, repeated submissions, stale/conflicting result rejection, and 
workspace/tool restrictions. Please provide that host-backed acceptance 
evidence before treating this integration as complete, or obtain an explicit 
maintainer-approved scope change that keeps the remaining acceptance work open 
and adjusts support claims.
   
   The real-child permission probe described in the other finding verifies a 
specific tool boundary. It does not satisfy full Ship workflow acceptance.
   
   _AI-generated by Codex on behalf of @luigidemasi._



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to