agentscope-ai / agentscope-ai/QwenPaw

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

Đang mở
#2,855 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
question
Ngôn ngữ chính
TypeScript
Star
35k
Fork
3.1k
Merge trung bình
1 ngày 13 giờ
Pull request đã merge (30 ngày)
228

Mô tả

## 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.]

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.