fix(docs): distinguish dependency working directory from sandbox setup

Đang mở Phù hợp với người mới
#179 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
72/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
node.js, typescript
Lĩnh vực
devtools, documentation

Hướng nghiên cứu

Bắt đầu từ bước 5 của skill dependency-manager trong skills/dependency-manager/SKILL.md, sau đó đọc nhánh chọn thư mục của handler install_dependencies trong mcp-server/src/index.ts, khoảng dòng 227-263. Xác nhận rằng targetFile chỉ chọn cwd bằng cách tìm ngược tối đa năm thư mục cha để tìm package.json hoặc requirements.txt. Hoàn thành khi nội dung skill nêu rõ rằng targetFile chọn một thư mục làm việc và bất kỳ sandbox nào là một điều kiện tiên quyết riêng trên máy chủ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

The dependency-manager skill says that passing targetFile to install_dependencies lets the tool calculate isolated execution contexts. The tool instead calculates the script's working directory. Please distinguish this directory selection from any sandbox configured in the Gemini CLI host, so that the skill accurately explains what this argument provides.

Runtime or environment

This is a source and published-artifact documentation comparison, not an executed dependency-installation test. The latest published extension release is v0.5.0, whose tag resolves to 0e4812c469a61fb87e29ce939f393715221553fb; current main is 2227f3cf7150972baac695b8233abc2186408538. The release's linux.x64.security.tar.gz contains the same dependency-manager skill as main, and its compiled MCP helper performs the same directory calculation. Host sandbox behavior was checked in Gemini CLI v0.66.0 source at 970413207732f5d4d8c50540c7fc359c44fdaaf2.

Steps to reproduce

  1. Read step 5, “Trigger Isolated Execute,” in the dependency-manager skill on either extension baseline.
  2. Follow the registered install_dependencies tool implementation, considering an invocation with targetFile set to /workspace/project/src/example.ts, no cwd override, an existing /workspace/project/package.json, and neither package.json nor requirements.txt in /workspace/project/src.
  3. Inspect the use of the calculated directory: it becomes the cwd option for executing the provided script. These are static inspection steps; no generated script, dependency installation, or PoC was executed.

Expected behavior

The skill should describe the argument's actual effect: selecting a working directory by looking for a nearby manifest. If isolated execution requires an already configured host sandbox or a separate environment established by the generated script, state that prerequisite rather than attributing its creation to targetFile.

Actual behavior

The skill describes this argument as letting the tool “calculate isolated execution contexts.” For the example above, the helper finds package.json and selects /workspace/project as executionDir. It checks at most five directories for package.json or requirements.txt, then passes the selected directory as cwd to execFileAsync(input.scriptPath, { cwd: executionDir }). That calculation does not itself create a separate dependency environment.

Gemini CLI can provide a surrounding sandbox: when configured for full-process sandboxing, it relaunches the CLI before loading extensions, and the configured Node MCP server runs as a child in that environment. This report does not assert that MCP execution always lacks a sandbox, that a host sandbox is bypassed, or that a vulnerability was reproduced. It concerns the narrower description of what targetFile calculates.

Evidence

Runtime reproduction was not run. The extension manifest registers the Node MCP server, which exposes this tool directly; the supplied valid argument shape reaches the directory-selection branch without another environment-creation step in that helper. The skill, helper, extension manifest, published artifact, and host launch code were inspected.

Host counterevidence: CLI sandbox relaunch before extension loading and stdio MCP child transport. These are distinct from the helper's directory calculation.

Restoration check

Reading step 5 alongside the helper should accurately predict the selected working directory for the example above and distinguish that selection from the surrounding execution environment. A documentation clarification can meet this check without changing dependency execution behavior.

Triage assessment

  • Impact level: P3
  • Assessment status: supported
  • Impact basis: This report establishes misleading wording about an argument's effect. No harmful execution, sandbox escape, or consequential runtime failure was observed.
  • Workaround status: available
  • Workaround basis: The tool's own description identifies workspace script execution, and its source exposes the directory calculation; users can consult Gemini CLI's sandbox configuration separately.
Ngôn ngữ chính
TypeScript
Star
793
Fork
60
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của gemini-cli-extensions/security

Tất cả issue của gemini-cli-extensions/security

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.