Back to skill

Security audit

Investor Search for PicoClaw

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed investor-research workflow that writes its own workspace files and delivers an Excel report, with shared-channel visibility as the main caution.

Install this only where web research, workspace file creation, and delivery of an investor XLSX are acceptable. For confidential prospecting, use a private chat or a per-team PicoClaw workspace because channel runs can post the finished file to that channel and workspace files may be readable by others sharing the same agent.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (13)

Ae1

High
Category
analysis-evasion
Content
l (`web_search`, `web_fetch`), and `exec` with `python3` for the memory store (`scripts/store.py`). **Writes** its files under the working directory and reads t
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
l (`web_search`, `web_fetch`), and `exec` with `python3` for the memory store (`scripts/store.py`). **Writes** its files under the working directory and reads t
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
l (`web_search`, `web_fetch`), and `exec` with `python3` for the memory store (`scripts/store.py`). **Writes** its files under the working directory and reads t
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
l (`web_search`, `web_fetch`), and `exec` with `python3` for the memory store (`scripts/store.py`). **Writes** its files under the working directory and reads t
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
| `SKILL.md` | working — every operative rule, nothing else |
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
attached — only counted. If you run a bot for several people, the safest setup is one agent
per team, each with its own workspace.

**Scheduled runs** (cron jobs) continue a stored market without asking; anything that
would need a question — a different scope, a shared folder — stops before the first search
and reports the question instead.
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Lp3

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding
Without declared permissions the skill's intent is opaque and cannot be validated.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The skill description lists very broad uses such as 'investor research', 'deal sourcing', 'lead generation', and 'filling gaps in a list you already have' without defining clear trigger phrases or exclusions. In a manifest/markdown context, this can cause unintended invocation for ordinary fundraising or CRM-related conversations that are not explicitly requesting this skill.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The 'When to Use' section says to use the skill whenever the user asks for investors in a country, region, or market, and also for broad activities like CRM enrichment and fundraising. These descriptions do not clearly distinguish when the skill should activate versus when a general research workflow should be used, and they provide no negative examples or constraints.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
(Slack, Telegram,    file it printed (relative to the workspace is fine) — ONE file,
Discord, WeCom, …)   <market>-investors.xlsx, arrives as an attachment in this chat.
                     Never attach the CSVs: they are the memory, not the deliverable.
                     Send it WITHOUT asking — in a channel too (see §6).
CLI (picoclaw agent) state the path.
cron job             send_file in the job's run; it goes to the job's chat.
```
Confidence
89% confidence
Finding
The skill instructs the agent to send an output file to the chat automatically without confirming at the time of delivery. In shared channels, this can disclose compiled investor lists, source links, and related research artifacts to unintended recipients, especially if the conversation context or ownership of the run is ambiguous.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
(*PicoClaw* above).

**In a channel, say once in the first reply that the finished Excel file will be posted
here for everyone in it.** That notice is the only one: at the end, post the file without
asking again.

**Use a separate root per user or team whenever the session context names one.**
Confidence
92% confidence
Finding
This instruction explicitly permits posting the finished Excel file into a channel for everyone present after only an initial notice, not a contemporaneous confirmation. Because the skill also stores and resumes prior runs from shared workspace roots, this increases the risk of cross-user data leakage and unauthorized disclosure of potentially sensitive commercial research to a group audience.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
**There is no budget unless the user sets one.** By default the run continues until the
exhaustion rule is met — six empty rounds in a row, with the gates open — and `finish` allows
the stop. **Never ask the user for a budget.** If the user names a number ("use 10 rounds",
"quick scan"), pass it as `init --budget N`. **Sixty rounds is the backstop** for a run
without a budget; a user who explicitly asks for more gets their number after one sentence
on what it costs.
Confidence
80% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Scope Creep

Low
Category
Excessive Agency
Content
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Confidence
70% confidence
Finding
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Static analysis

No suspicious patterns detected.