github / github/copilot-cli

Security Risk: Agent requests and logs sensitive credentials (SSH passphrases)

未关闭
#1,351 3 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看
area:agents area:tools
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

## Summary
The Copilot CLI agent can request sensitive credentials (passwords, passphrases) via the `ask_user` tool and then transmit them through `write_bash`, which logs them in the conversation history.

## Steps to Reproduce
1. Run a git command that requires SSH passphrase authentication (e.g., `git pull`)
2. The command prompts for passphrase
3. Agent uses `ask_user` to request the passphrase from the user
4. Agent transmits the passphrase via `write_bash`
5. Passphrase is visible in the agent's output logs

## Expected Behavior
- Agent should never request passwords, passphrases, or credentials
- Agent should detect when commands require sensitive input and instruct the user to run them manually
- Agent should refuse to handle credentials per its own security policy

## Security Impact
- Credentials are exposed in conversation logs
- Credentials may be transmitted/stored by backend systems
- Violates the agent's stated security guidelines in the prohibited_actions section

## Suggested Fix
- Add explicit safeguards in the agent's credential-handling logic
- Detect password/passphrase prompts and halt with user guidance instead of requesting input
- Add validation to prevent `ask_user` from requesting credential-type information
- Consider adding a warning when commands may require sensitive input

## Context
This issue was discovered during a real usage scenario where `git pull` required SSH passphrase authentication.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。