T09 · Insecure Skill Coding Practices
- Location
references/task-instance-registries.md:36- Finding
<![CDATA[Registry credentials are exposed through command-line arguments]]>
- Content
View full analysis
\ --name=harbor-prod \ --type=swr-pro \ --url=https://harbor.example.com \ --credential.type=basic \ --credential.access_key=admin \ --credential.access_secret= \ --insecure=false \ --description="Production Harbor" \ --cli-region=cn-north-4 ``` The update workflow repeats the same pattern: ```bash hcloud SWR UpdateInstanceRegistry \ --instance_id= \ --registry_id= \ --name=harbor-prod \ --type=swr-pro \ --url=https://harbor.example.com \ --credential.type=basic \ --credential.access_key=admin \ --credential.access_secret= \ --insecure=false \ --description="Updated: Production Harbor v2" \ --cli-region=cn-north-4 ``` ### Technical Analysis The documented workflows instruct users to provide registry passwords, secret keys, or access secrets directly as command-line arguments. Command arguments can be exposed through: - Shell history files - Process inspection tools while the command is running - CI/CD build logs - Terminal session recording - Audit and observability agents - Error reports that reproduce the complete command This conflicts with the Skill's separate instruction that credential secrets must never be exposed or logged. Placeholder values do not eliminate the risk because users are expected to replace them with real credentials. ### Attack Path 1. An operator follows the documented registry creation or update workflow. 2. The operator replaces `` or `` with a real registry secret. 3. The shell stores the command in his ...[truncated 668 chars]- Remediation
View remediation
