aaif-goose / aaif-goose/goose

Define containment for project Agent source mutations

オープン
#11,599 コメント 0 件 リアクション 0 件 担当者 1 名 @jbg が担当を希望しています GitHub で見る
主要言語
Rust
スター
54.2k
フォーク
6.2k
平均マージ
3日 4時間
マージ済み PR(30日)
240

説明

**Describe the bug**

Project-scoped Agent create and import operations use lexical project paths and ordinary filesystem writes. If a project-controlled Agent root or one of its ancestors is a link, creation can leave the selected project boundary.

This mutation surface is currently unused by the desktop client, so the product must decide whether to retain it before adding a substantial cross-platform filesystem containment subsystem.

---

**To Reproduce**

1. Open a project whose Agent source root resolves through a link.
2. Invoke project-scoped Agent create or import through the ACP source API.
3. Observe that the filesystem operation follows the linked root.

---

**Expected behavior**

Either remove the unused project Agent mutation surface, or define a containment contract that prevents any externally visible write outside the selected project, including during concurrent ancestor renames.

---

**Screenshots**

Not applicable.

---

**Please provide the following information**

- **OS & Arch:** Cross-platform filesystem behavior
- **Interface:** ACP source API
- **Version:** current `main`
- **Extensions enabled:** Not applicable
- **Provider & Model:** Not applicable

---

**Additional context**

The design should choose one of these directions:

- remove project-scoped Agent create/import if the surface is not supported; or
- retain it with an explicit Unix symlink and Windows reparse-point/junction contract, root-anchored operations, and a concurrent-rename invariant.

The verification plan should cover linked roots and ancestors, create and import, collision naming, regular project behavior, Windows reparse points, and a race proving no out-of-project file becomes visible.

Do not begin implementation until this issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

この issue は、root またはその祖先がシンボリックリンクである場合に、プロジェクトスコープの Agent ソース変更でセキュリティ境界に違反する可能性について説明しています。ACP source API がエントリーポイントです。Agent の create および import 操作の現在の実装を調査し、プロジェクトパスの解決方法とファイルシステムへの書き込み方法に注目してください。目標は、containment contract を定義するか、機能の削除を推奨することです。そのためには、クロスプラットフォームのファイルシステム動作と並行操作を深く理解する必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
backend-api-design, security
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。