Back to skill

Security audit

founder-coach

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent founder-coaching purpose, but it persists sensitive coaching data and can read PhoenixClaw journals and profiles with weak consent boundaries.

Review carefully before installing. Use it only if you are comfortable with local coaching files containing startup details, personal observations, and inferred behavior patterns. Disable PhoenixClaw integration unless you explicitly want journal/profile data read, and avoid putting commands or agent instructions in the User Notes section.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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
Findings (2)

T02 · Agent Memory Poisoning

Error
Location
assets/founder-profile-template.md:38
Finding

Persistent instruction injection through the Founder Profile user_notes section

Content
View full analysis
{{USER_NOTES}} ``` The profile-processing instructions reinforce that content from this persistent field must immediately affect agent behavior: ```markdown ## The Sacred user_notes Section The `user_notes` section is for the founder's manual input and is **off-limits** to AI modification. 1. **AI Respect**: If a founder writes "I am pivoting to enterprise" in `user_notes`, the AI must update its context immediately. 2. **Separation**: Insights derived from AI analysis must be kept in the `ai_observations` or `growth_logs` sections. 3. **Synthesis**: AI may suggest updates to the founder based on observations, but never edits the `user_notes` directly. ``` ### Technical Analysis The profile template explicitly establishes `user_notes` as a place for persistent “explicit instructions to the coach.” The profile-evolution rules then require the agent to update its context immediately from this content. No trust boundary distinguishes factual notes from executable agent instructions, and no rule prevents content in this field from changing tool behavior, disclosure behavior, safety constraints, or session goals. Because the profile persists at `~/PhoenixClaw/Startup/founder-profile.md` and the skill is instructed to read and maintain it across sessions, an instruction placed in `user_notes` can continue influencing later invocations. The “sacred” and AI-never-modifies requirements make the payload harder for the agent to remove, producing a durable instruction channel. The risk is especially relevan ...[truncated 1786 chars]
Remediation
View remediation
... ``` 4. Restrict acceptable profile fields to validated factual data. Reject or neutralize directives involving tools, secrets, permissions, system prompts, external communication, or changes to agent behavior. 5. Require explicit confirmation in the active session before any persisted preference is allowed to influence tool use or sensitive-data access. 6. Record provenance and modification timestamps for persistent fields. Warn the user when a synchronized or externally modified profile introduces instruction-like content. 7. Provide a safe reset and quarantine mechanism so suspicious persistent entries can be disabled without requiring the agent to rewrite the protected user section. ]]>

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
references/phoenixclaw-integration.md:32
Finding

Automatic broad access to sensitive PhoenixClaw journals and behavioral profiles without per-source consent

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (24)

Hidden Instructions

High
Category
Prompt Injection
Confidence
92% confidence
Finding

The HTML comment tells future agents that the 'User Notes' section is 'SACRED' and that AI will never modify it, while also inviting 'explicit instructions to the coach.' This creates a prompt-injection sink where untrusted user-controlled content may be treated as privileged operational instructions, potentially altering agent behavior or causing sensitive instructions to persist across sessions.

Content

Scanner excerpt · assets/founder-profile-template.md (reported line 39)May include surrounding context.

md
{{CHALLENGES_LOG}}

## 📝 User Notes
<!-- 💡 This section is SACRED. AI will never modify this. Use it for your personal reflections, hidden goals, or explicit instructions to the coach. -->
{{USER_NOTES}}

## 🤖 AI Observations & Insights

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · assets/founder-profile-template.md (reported line 43)May include surrounding context.

md
{{USER_NOTES}}

## 🤖 AI Observations & Insights
<!-- 🔍 Systematic patterns detected by Founder Coach. High confidence patterns may be suggested for the Growth Map. -->
{{AI_OBSERVATIONS}}

Session Persistence

Medium
Category
Rogue Agent
Confidence
95% confidence
Finding

The onboarding flow directs the agent to create a persistent founder profile file and continue updating it across sessions. Session persistence is risky here because it stores sensitive founder attributes, inferred anti-patterns, and coaching history outside the transient conversation boundary, enabling unintended retention and later disclosure.

Content

Scanner excerpt · SKILL.md (reported line 36)May include surrounding context.

md
1. **Onboarding** (First Use):
   - Detect if `~/.founder-coach/config.yaml` exists
   - If not, initiate 5-7 question onboarding flow
   - Create `~/PhoenixClaw/Startup/founder-profile.md`
   - Explain coaching approach and expectations

2. **Real-time Coaching** (Ongoing Conversations):

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill instructs the agent to persist behavioral observations, mental-model progress, challenge history, and weekly summaries into local profile/report files. This creates a durable natural-language record of sensitive personal inferences that can later be exposed to other tools, users, or processes, especially since 'anti-patterns observed' and 'new insights' are subjective and privacy-sensitive.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill documentation says it may read PhoenixClaw journals and memory if available, but the top-level description does not prominently warn users that sensitive personal data from another system may be accessed. This creates a consent and transparency gap, especially because journal and memory content can contain highly private information unrelated to the immediate coaching request.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The PhoenixClaw integration broadens the skill's access scope by instructing it to read journals and memory from a separate personal-data system for later coaching use. This cross-context ingestion increases the chance of oversharing, hidden profiling, and use of unrelated sensitive data in outputs or persisted reports without sufficiently explicit consent.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill claims PhoenixClaw access is one-way/read-only, but separately states it can add coaching insights into PhoenixClaw daily journals. That inconsistency can mislead users and downstream reviewers about actual data flows, increasing the risk of unauthorized writes into another system containing personal notes.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The guardrail 'Support multiple languages (v1)' indicates the skill only operates in a single language, but the file does not offer user choice or explain a justified region-specific constraint. This is a natural-language locale policy limitation that applies across all file types.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The markdown directs the agent to create directories and modify local files containing personal and startup data, but it does not require an explicit warning or consent flow before making those changes. In a coaching context, users may expect conversation support, not silent local persistence, so this increases the risk of unauthorized or surprising data writes.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
86% confidence
Finding

The onboarding flow intentionally persists session-derived answers by creating local state and initializing profile documents, which introduces retention of sensitive founder context across sessions. While persistence is functionally useful for a coaching skill, it becomes a security/privacy issue when there are no stated minimization, consent, or retention controls for potentially sensitive business information.

Content

Scanner excerpt · references/onboarding.md (reported line 14)May include surrounding context.

md
3.  **Inquiry**: Ask a series of 5-7 core questions to understand the startup's context and the founder's current state.
4.  **Confirmation**: Summarize the answers and confirm the details with the user to ensure accuracy.
5.  **Initialization**:
    *   Create the `~/.founder-coach/` directory.
    *   Generate `config.yaml` with the confirmed settings.
    *   Initialize the `founder-profile.md` at `~/PhoenixClaw/Startup/founder-profile.md` with the initial discovery data.
6.  **Transition**: Smoothly transition into the first coaching session, typically by addressing the "biggest challenge" identified during inquiry.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The onboarding doc instructs the agent to write sensitive founder data into a hard-coded path under ~/PhoenixClaw/Startup, which is outside the skill's own config area and may belong to an unrelated personal workspace. This creates unnecessary cross-workspace persistence of private business information and can modify user files the user did not specifically consent to change.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The document instructs the skill to treat PhoenixClaw as a primary context source and read daily reflections, profile, and growth-map data, which are highly privacy-sensitive files. Although it says the access is read-only, it does not require explicit user consent, a just-in-time warning, or confirmation before accessing these personal journals, so the skill could silently ingest intimate data beyond what the user expects in a coaching interaction.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The config adds a phoenixclaw_integration capability that is not supported by the stated founder-coaching purpose and implies cross-tool data sharing. Unjustified integrations expand the skill's effective privileges and create a risk of unexpected access to journals or sensitive coaching data without clear user consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The onboarding flow instructs the skill to create a persistent config file in the user's home directory without a clear disclosure that local storage will be written. Silent persistence can surprise users, retain sensitive business metadata longer than expected, and weaken user control over personal data.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
87% confidence
Finding

Persisting session-derived onboarding data in ~/.founder-coach/ creates durable state containing potentially sensitive startup information such as company stage, team size, and PMF self-assessment. While persistence may be product-motivated, it increases the risk of unintended disclosure, stale sensitive data accumulation, or reuse outside the user's expectations.

Content

Scanner excerpt · references/user-config.md (reported line 46)May include surrounding context.

md
*   "How many people are on your team?"
    *   "On a scale of 1-10, how would you rate your current Product-Market Fit?"
4.  **Initialization:**
    *   Create the `~/.founder-coach/` directory if missing.
    *   Generate the `config.yaml` file with the collected answers.
5.  **Integration Check:** If PhoenixClaw is installed, explain how integration will help track progress.
6.  **Transition:** Proceed immediately to the first coaching check-in.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Directing the skill to detect whether PhoenixClaw is installed introduces environment inspection unrelated to core coaching behavior. Even limited probing of installed tools can reveal information about the user's setup and can be used as a precursor to broader cross-tool interaction.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The PhoenixClaw integration is presented as beneficial without a privacy warning about sharing or coordinating coaching data with another tool. This can lead users to consent without understanding that sensitive founder reflections, PMF assessments, or team details may be exposed beyond the current skill.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Claiming the assistant will coordinate with a user's journal expands the skill from coaching into external data access and persistence without clear authorization boundaries. In a coaching context, journal contents may contain highly sensitive personal or business information, increasing privacy risk.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger examples are broad enough to match ordinary goal-setting requests, which can cause the skill to activate in conversations where the user did not clearly intend to engage the weekly challenge workflow. In a coaching skill that stores progress and challenge data, ambiguous activation can lead to unintended state changes, over-collection of user data, or persistent tracking without sufficiently explicit user consent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manual trigger phrases are generic enough that normal conversation such as 'generate report' or 'how was my week' could activate this skill unintentionally. That increases the chance of unauthorized access to coaching files, journals, or conversation history when the user did not explicitly intend to invoke this workflow.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document explicitly aggregates journals, profile files, challenge data, and recent conversation logs without any visible notice, consent step, or minimization guidance. In a coaching context, those sources are likely to contain highly sensitive personal reflections, making silent aggregation a meaningful privacy and over-collection risk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The guide instructs the skill to pull from daily journals and recent conversation logs in addition to coaching artifacts, which broadens data access beyond what a user may reasonably expect from a weekly coaching report. This creates a cross-context privacy risk: sensitive personal information from unrelated notes or chats could be silently incorporated into the report or exposed to the model during processing.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This markdown guidance hardcodes all user-facing instructional content and sample dialogue in English, with no indication that users can choose another language or locale. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

This markdown content is natural-language instructional material, and it is written entirely in English with no indication that users may choose another language. Under the stated policy, forcing a specific language without user opt-in can be a policy violation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.