Guard human-only Intent commands from agent execution
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- cli, documentation, security, testing
Hướng nghiên cứu
Bắt đầu bằng cách xác định việc đăng ký lệnh và cách xử lý hiện có đối với IntentAudience, agent và automation-context. Ánh xạ mọi lệnh được liệt kê vào một lớp hiệu ứng và quyền hạn rõ ràng, sau đó chạy hoặc bổ sung các bài kiểm thử tập trung bao quát việc quan sát, từ chối mutation, các ngoại lệ dry-run, việc cho phép automation và việc audience hoặc pseudo-TTY không có quyền hạn; hoàn tất khi tất cả các lệnh đã đăng ký được phân loại và ma trận chấp nhận đều đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
IntentAudience controls presentation and redaction only. It is not authority. A TTY proves terminal interaction, not human identity. Current hooks are soft, fail-open convenience controls, not a security boundary. An agent with unrestricted shell and repository write access can bypass CLI guards or edit files directly. OS and host permissions remain the hard boundary.
Intent needs a command effect and authority classification that is separate from audience so an agent context cannot use presentation state or a pseudo-TTY to authorize trust or delivery changes.
Intent has no skill download command today. load reads an already installed permitted skill; it does not download content.
User outcome
Humans can keep existing confirmation-based trust and delivery workflows. Agents can inspect permitted Intent state and load already installed permitted skills. Automation can run its supported paths only through an explicit automation context. Audience never grants mutation authority.
In scope
- Introduce a command effect and authority classification separate from
IntentAudience:observe,trust-mutation,delivery-mutation,source-mutation, andautomation. - Classify these as agent-safe observation:
listandlist --jsonloadof an already installed permitted skillmetaexclude listvalidateandvalidate --checkstaleandstale --jsoninstall --dry-runinstall --map --dry-runinstall --print-promptscaffold
- Classify these as human-only trust or delivery mutations:
installwhen it writesintent.skillsor guidanceinstall --mapwhen it writes guidanceexclude addandexclude removehooks installsetupandsetup-github-actions- any future skill acquisition or download command, if introduced
- Classify
validate --fix,validate --set-version, andedit-package-jsonas source mutations governed by the caller's repository-write authority, not byIntentAudience. - Classify
validate --github-summaryand supported CI workflow paths as automation-only, with explicit CI identity and token permissions. - Require command implementations to declare their effect and authority class at registration or through one shared command policy.
- Deny an agent context before a human-only command can prompt, scan for selectors, write package policy, write guidance, install hooks, or install workflows.
- Preserve explicit automation paths without treating a TTY, an environment variable, or audience as authenticated human authority.
- Add focused tests for every command class, dry-run exception, mutation denial, automation allowance, and the rule that audience cannot grant authority.
Out of scope
- Cryptographic proof of human identity.
- A claim that Intent can contain an actor with unrestricted shell and repository write access.
- New dependencies or a new skill-content download command.
- Changes to the current Clack interactive permission setup work.
- Amendments to #220 or #228.
Acceptance criteria
- Every registered command action has an explicit effect and authority class.
- Agent execution can run only classified observation paths and can load only already installed permitted skills.
- Agent execution fails before any human-only trust or delivery mutation and before its related prompt or write path.
IntentAudience, TTY detection, host permissions, and CI identity have separate documented roles.- Existing supported automation paths remain usable only through an explicit automation context.
- Tests cover the command matrix and prove that changing audience or using a pseudo-TTY cannot grant human mutation authority.
- The documentation states that host permissions remain the security boundary for actors with unrestricted shell and repository write access.
Dependencies
Blocked by: None
#220 and #228 remain independent. This issue must not block or alter the current Clack work.
- Ngôn ngữ chính
- TypeScript
- Star
- 331
- Fork
- 22
- Merge trung bình
- 12 giờ 17 phút
- Pull request đã merge (30 ngày)
- 51
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của TanStack/intent
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
Tất cả issue của TanStack/intent
Issue tương tự
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Crush Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
ElementsProject/cln-application#167 · 1 bình luận · 1 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Quantco/pnpm-licenses#17 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100