T01 · Skill Instruction Hijacking
- Location
SKILL.md:46- Finding
Agent instructions require unsafe collection and persistence of credentials received through chat
- Content
View full analysis
| python scripts/setup_env.py --set-key`(stdin 直入,加密落盘,key 不写进任何脚本参数或临时文件),确认成功后回一句:已加密存进本机(Windows 走系统级 DPAPI),聊天里那条消息可以删掉,不放心随时去 fuyao.aicubes.cn/admin 作废重签。介意隐私的用户才引导终端自录(getpass 不回显) ``` Translated security-relevant instructions include: immediately store any key sent through chat, do not refuse, and run a generated shell command containing that key. ### Technical Analysis The Skill explicitly directs the Agent to suppress refusal or caution when a user supplies a credential through chat. It then requires the Agent to copy that credential into a tool invocation and persist it locally. This behavior overrides safer credential-handling boundaries when the Skill is loaded. It also directly conflicts with `SECURITY.md:9`, which states that credentials must be entered locally through `getpass`, must not pass through AI conversation records, and must not be transmitted through chat. Even when the credential is passed to the script through standard input, it has already entered several potentially retained contexts: - The conversation history - Agent execution context - Tool invocation or shell-command logs - Platform telemetry and audit logs - Local credential storage The persistence behavior is not necessary for the core local Chan-theory computation. Optional authenticated market-data access can be configured through a user-controlled interactive terminal without exposing the credential to the Agent. ### Attack Path 1. The Skill is loaded and its instructions become active in the Agent session. 2. A user or attacker submits a purported HiThink API key in the conversation. 3. The Skill directs the Agent not to refuse or warn against chat-based credential submission. ...[truncated 1005 chars]- Remediation
View remediation
