agentscope-ai / agentscope-ai/QwenPaw

[Bug]: shared workspace exposes channel secrets in agent.json

オープン
#2,855 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
question
主要言語
TypeScript
スター
35k
フォーク
3.1k
平均マージ
1日 13時間
マージ済み PR(30日)
228

説明

## CoPaw Version

version 1.0.0

## Description

**workspaces/default/agent.json** stores channel configuration parameters, including sensitive fields such as api_key. In the current design, workspace is a shared public area that is readable and writable by all channel bots. This creates a security issue: one bot/channel may be able to read or modify another bot/channel’s sensitive configuration.

This breaks tenant/channel isolation and may lead to secret exposure, unauthorized API usage, configuration tampering, and possible cross-channel privilege abuse.

Expected behavior: sensitive channel configuration, especially secrets like API keys, should not be stored in a shared readable/writable workspace accessible by other bots/channels. Secrets should be isolated per channel/tenant and protected by stricter access controls or secret management mechanisms.

**Related PR(s):** #(optional)

**Security considerations:** : Sensitive config exposure, cross-channel access control failure, tenant isolation weakness, possible secret leakage and tampering
## Component(s) Affected

- [ x ] Core / Backend (app, agents, config, providers, utils, local_models)
- [ ] Console (frontend web UI)
- [ x ] Channels (DingTalk, Feishu, QQ, Discord, iMessage, etc.)
- [ ] Skills
- [ ] CLI
- [ ] Documentation (website)
- [ ] Tests
- [ ] CI/CD
- [ ] Scripts / Deploy

## Environment

- **CoPaw version:** [1.0.0]
- **OS:** []
- **Install method:** [Docker]
- **Python version (if applicable):** []

## Steps to Reproduce

1. Configure a channel/bot so that its settings are written into **workspaces/default/agent.json**.

## Actual vs Expected

- **Actual:**: Channel configuration, including sensitive secrets like api_key, is stored in **workspaces/default/agent.json** under a shared workspace accessible by all bots/channels. Other bots/channels may be able to read or modify these secrets and settings.
- **Expected:**: Sensitive channel configuration should be isolated per channel/tenant and not stored in a shared public workspace. Secrets should be protected with proper access control, masking, and preferably external secret storage or environment-based injection.

## Logs / Screenshots

## Additional Notes

[Optional: workarounds, similar issues, etc.]

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

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

評価

この issue はまだ評価されていません。

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

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