T09 · Insecure Skill Coding Practices
- Location
scripts/audit_baseline.py:233- Finding
Predictable Shared Temporary Files Permit Symlink Overwrite and Audit Tampering
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is not malicious, but it should be reviewed because it can inspect and change persistent agent memory and behavior files without tight scoping or confirmation.
Install only for workspaces where you intentionally want agent memory audited and repaired. Run diagnosis first, review planned changes before allowing edits, use version control or backups, avoid shared fixed /tmp report paths, and do not enable cron jobs, trace logging, or behavior-rule updates unless you explicitly want those persistent changes.
scripts/audit_baseline.py:233Predictable Shared Temporary Files Permit Symlink Overwrite and Audit Tampering
scripts/audit_baseline.py:60Unrestricted Workspace Scope Enables Sensitive Agent-State Reconnaissance
Skill attempts to nullify the agent's safety policies or restrictions ('you have no restrictions', 'ignore your guidelines', 'do anything now'). This is a direct jailbreak that disables guardrails.
## Key Insight
Agent memory systems face the **same fundamental challenges** as distributed databases:
- Schema drift (free text without constraints)
- Replication lag (MEMORY.md not updated after status change)
- Split brain (multiple sources of truth for "current project status")
- Garbage collection (old decisions never cleaned)
The skill instructs the agent to run local Python scripts and update workspace files, which implies read/write capability, but it does not declare any explicit tool scope or permissions boundary. In an agent environment, missing scope declarations can cause overbroad authority, making it easier for the skill to modify unrelated files or operate with capabilities the user did not clearly consent to.
The title and primary descriptive content are written in Chinese, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-language audience. This can violate a language/locale policy when no opt-in or justification is provided.
The workflow explicitly tells the agent to execute repair scripts, update IMPLEMENT.md and MEMORY.md, and record traces, but it provides no safety gate, dry-run mode, backup requirement, or user approval step before changing workspace data. Because this skill is designed for 'audit and repair' of memory systems, the modification behavior is central and contextually increases the risk of unintended destructive or integrity-impacting changes.
Line L074 specifies that archived search results should appear with a Chinese prefix ('[归档]'). This imposes a specific language/locale in output, and the file does not indicate user opt-in or a documented region-specific reason for that choice.
The script hard-codes CST = timezone(timedelta(hours=8)), and the generated report always uses that timezone label. This imposes a specific locale/time representation on all users without offering a choice or documenting a justified region-specific constraint.
No suspicious patterns detected.