github / github/copilot-sdk

Allow trusted host init scripts to preserve direct-script review

Aperta
#2,466 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
vs-code
Lingua principale
Java
Stelle
10.5k
Fork
1.5k
Merge medio
1g 11h
PR unite (30g)
128

Descrizione

## Context

VS Code is adopting the public per-session `shell.initScripts` API so the SDK built-in shell tool can load the user's shell profile and activate the workspace-selected Python environment:

https://github.com/microsoft/vscode/pull/332593

## Observed behavior

With no init scripts configured, a direct script invocation can be reviewed using the script and interpreter content under the normal permission flow.

When the same session has any host-provided `shell.initScripts` entry, the direct script invocation instead requires explicit approval because the shell environment can alter the script action.

This is secure as a conservative default, but it means an SDK consumer cannot opt into a known, host-generated activation script without changing approval behavior for otherwise identical direct script commands.

## Ask

Please consider a public SDK contract for trusted host-provided init scripts that preserves safe direct-script review when possible.

Possible shapes include:

- allowing the SDK/runtime to incorporate the exact init-script content into the reviewed action/fingerprint; or
- adding explicit trust metadata for host-generated init scripts, with a conservative default for existing callers.

The behavior must remain secure when init scripts are user-controlled, mutable, unreadable, or otherwise cannot be bound to the reviewed action.

## Consumer requirements

- Per-session and updateable, matching `shell.initScripts`.
- Applies to the built-in shell tool.
- Does not weaken approval for arbitrary or unbound startup scripts.
- Works for Bash and PowerShell host activation scripts.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by tracing the built-in shell tool's approval and direct-script review flow alongside the public per-session shell.initScripts API. Compare how Bash and PowerShell host activation scripts are represented, then determine how exact content or trust metadata could be bound to the reviewed action without weakening review for user-controlled or unreadable scripts; done means preserving safe direct-script review for explicitly trusted, updateable host scripts.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, powershell, python, shell
Ambito
developer-experience, security, tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.