T09 · Insecure Skill Coding Practices
- Location
SKILL.md:363- Finding
Unsafe Collection and Storage of Authentication Cookies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This recruiting skill is purpose-aligned overall, but it asks users to share website cookies and run an unaudited global script, so it should be reviewed before installation.
Review this skill before installing. Do not paste raw cookies into an agent chat unless you understand they can act like account passwords. Prefer browser-based login, OAuth, or throwaway accounts, and verify any external script before running it. Avoid storing platform credentials in plaintext credentials.json.
SKILL.md:363Unsafe Collection and Storage of Authentication Cookies
SKILL.md:429Execution of an Unbundled and Unverifiable Global Script
The explicit inclusion of a credentials.json file for platform credentials indicates planned credential access and retention by the skill. In a sourcing/messaging tool, collecting reusable account secrets is unnecessary and significantly raises the blast radius of compromise.
~/.config/openclaw/maker-hunter/
├── credentials.json # 平台凭证
└── memory/
�} ├── founders.json # 历史候选人库
└── daily.json # 今日任务记录
The instructions normalize disclosure of highly sensitive cookies without any warning that cookies function as credentials and can expose the user's account. This omission materially increases the likelihood of accidental credential compromise because users may not understand the risk of sharing session tokens.
The documented workflow creates a plain-language credential disclosure path by instructing the user to manually extract browser cookies and give them to the agent. Because cookies can be replayed, this is effectively a request for transferable authentication secrets and can lead to immediate session hijacking.
The skill explicitly tells the user to open developer tools, copy site cookies, and provide them to the agent. Raw session cookies are equivalent to active authentication sessions; disclosing them can let anyone replay the session and fully impersonate the user's account.
The instructions mandate Chinese for 即刻 users and English for foreign-platform users, rather than offering a language choice. This is a natural-language locale policy issue because it forces language behavior based on platform/region instead of letting the user opt in or override it.
The skill requires outputting full candidate records, profile summaries, history reviews, links, and personalized outreach messages directly into chat, which can expose scraped personal data more broadly than needed. Centralizing and redisplaying aggregated profile intelligence increases privacy and confidentiality risk, especially if chats are logged, shared, or retained.
The skill scope is candidate discovery and outreach drafting, but it also specifies local storage of platform credentials in credentials.json, expanding access far beyond what is necessary. Persisting authentication material creates a reusable secret store that could enable account takeover or unauthorized scraping if the host, logs, or skill environment are compromised.
The skill defines a local credentials.json for platform credentials but provides no guidance on encryption, access controls, minimization, or retention. Storing secrets in predictable plaintext locations increases the risk of theft by other local processes, backups, or users on the same machine.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
首次使用需要创建 memory 目录:
mkdir -p ~/.config/openclaw/maker-hunter/memory
This file contains prescribed DM templates and platform phrasing in specific languages and dialects, such as Chinese wording and English openings like "Hi {username}". Because the guidance does not state that the skill is region-specific or allow the user to choose language/locale, it can conflict with a policy requiring user opt-in for language constraints.
No suspicious patterns detected.