Back to skill

Security audit

Pricing

Security checks for vulnerabilities and agentic risk

Overview

This pricing skill is coherent and local-only, but it can automatically write, move, and delete business and contact records without asking first.

Install only if you are comfortable with the agent maintaining local pricing records automatically. Review or constrain writes to shared contacts, shared projects, legacy pricing folders, and any deletion/migration steps; require confirmation before storing customer details, NDA-covered competitor pricing, or changing durable price-book/history files.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
memory-template.md:270
Finding

Automatic Cross-Skill Persistence of Personal and Commercial Data Without Consent

Content
View full analysis
.md`. Pricing rows reference them by name only — duplicating the person or the project is the most common way two skills start contradicting each other. Both formats, with their identity keys and scale cuts, travel inside `memory-template.md`. ``` `memory-template.md:20`: ```markdown | Customers, prospects, and interviewees named anywhere above | `~/Clawic/data/contacts/contacts.md` (**shared**) | One row per person, every skill writing into one file | ``` `memory-template.md:29`: ```markdown No permission needed; every write is announced in one line that names the file. Writes and deletions stay inside the paths declared in this skill's `configPaths`. A deletion is named in that same line, and in a shared box only rows this skill itself wrote are ever updated or removed. ``` `memory-template.md:270-283`: ```markdown Lives at `~/Clawic/data/contacts/contacts.md` and is shared with every other skill that knows people — the user may have none of them installed, so the format travels with this skill. ```markdown # Contacts | Name | Key | Role | Preferred channel | Context | Last contact | File | |------|-----|------|-------------------|---------|--------------|------| | Ana Ruiz | ana.ruiz@northwind.example | procurement lead, Northwind | email | 24-month deal at 20% off, prepaid | 2026-06-20 | — | ``` - **Identity is the `Key` column**: lowercase email, else the handle, else `` pl ...[truncated 3394 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
memory-template.md:49
Finding

Unconfirmed Destructive Migration and Deletion of Existing Local Data

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
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (16)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

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

md
name: Pricing
slug: pricing
version: 1.0.2
description: 'Sets, tests, and changes prices: value metric, tier packaging, discounts, price increases, and willingness-to-pay research. Use when deciding what to charge for a new product, when nobody knows what it is worth, when a raise is overdue but churn is feared, when every deal closes at a discount, when the free plan never converts, when a competitor undercuts, when choosing per-seat versus usage-based versus flat, when designing a pricing page, when quoting an enterprise deal or a day rate, when entering a new country or currency, or when setting a marketplace take rate. Covers Van Westendorp and conjoint research, grandfathering, annual prepay maths, price tests, and auto-renewal and price-display rules. Not for consumer buying decisions (`price`), indie launch sequencing and revenue mix (`monetize`), building the billing system (`billing`), CAC and LTV decomposition (`unit-economics`), or company financial models (`cfo`).'
homepage: https://clawic.com/skills/pricing
changelog: "Clearer disclosure of what is stored and where"
metadata:

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
55% confidence
Finding

Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.

Content

Scanner excerpt · price-increase.md (reported line 58)May include surrounding context.

md
- **Notice period**: 30 days is the practical floor for a monthly plan and 60 for annual, and the contract or local consumer rules may demand more — check before the date is announced (`compliance.md`). Under-noticing converts a price change into a compliance problem.
- **One message, from the company, before any invoice moves.** The invoice must never be the first the customer hears of it.
- Structure that survives contact: what is changing, the new number, the exact date, what is *not* changing, what they should do if nothing (usually nothing), and where to reply. Six lines.
- **Do not apologize and do not over-explain.** A raise justified by your costs is about you; a raise justified by what shipped since the last one is about them. Neither needs three paragraphs.
- No countdowns, no "act now to lock in the old price" unless you will genuinely honor it forever — that offer is a grandfather clause with a marketing hat on, and it binds.
- Tell the support and sales teams before the customers, with the answer to "can I keep my old price" already decided. An improvised answer becomes the policy.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The file uses imperative language like 'Before approving anything' and directs the agent to read and then write to specific files in the same turn, but it does not define clear invocation boundaries or limit these actions to explicit user requests. In an agent setting, this can cause the skill to over-activate as operational instruction rather than reference guidance, leading to unintended file access and side effects.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the agent to write deal records into persistent files under ~/Clawic/data/pricing/memory.md during the same turn, without requiring user confirmation or warning that persistent state will be modified. This creates a real risk of unauthorized or surprising data mutation, especially if the agent treats the document as executable operating procedure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The final 'Write the outcome' block mandates multiple persistent writes to deal logs, floor-exception logs, policy artifacts, and due-tracking records, yet provides no user-facing warning or consent checkpoint. Because these are broad, state-changing operations across several files, misuse could corrupt business records, create false audit trails, or leak sensitive commercial information into persistent memory.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly directs the agent to write customer, deal, approval, and contact information into shared memory files and generated artifacts without any minimization, access-control, retention, or privacy guidance. In a sales/pricing context this data can include sensitive commercial terms and personal contact details, so storing it broadly increases the risk of unauthorized disclosure, inconsistent handling, and downstream reuse beyond the original purpose.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
88% confidence
Finding

The file-splitting procedure directs the agent to move data and then delete the original section from memory.md. Although intended as normalization, this is persistent state mutation with destructive steps and no explicit transactional safety, backup, or recovery requirement. If the move is partial, interrupted, or misapplied, data can be lost or orphaned, especially since future reads may depend on the ## Boxes index being correct.

Content

Scanner excerpt · memory-template.md (reported line 54)May include surrounding context.

md
Everything except `price-book.md`, artifacts, and the shared boxes begins inside `memory.md`. Splitting is a procedure, not a suggestion:

1. Before appending to a section, count its entries.
2. If the append would take it past **~15 entries or ~40 lines of real content** — scaffolding, headings and comments do not count — then, in the same turn: create the new file in `~/Clawic/data/pricing/`, move the whole section into it, **delete the section from `memory.md`**, add its line to `## Boxes`, and append the new entry to the new file.
3. Keep the headings identical on both sides of the move, so the split is a copy-paste and never a rewrite.
4. Never leave a copy behind. If the same data ever appears in both places, the extracted file wins and the `memory.md` copy is deleted.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The template explicitly instructs deletion of rows from a shared contacts.md file when a relationship ends. In a shared datastore used by multiple skills, this can destroy data another skill still relies on, and there is no coordination, ownership tracking, or archival safeguard. Because contacts are cross-skill state, unsafe deletion can cause integrity loss and silent breakage beyond the pricing skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The instruction explicitly tells users to record competitor pricing learned under NDA, which encourages retention of contractually restricted information in a shared knowledge store. Even though it adds 'not for external use,' that does not mitigate the core confidentiality risk: storing NDA-covered data increases the chance of unauthorized disclosure, reuse beyond the agreed purpose, or cross-customer contamination.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill explicitly instructs the agent to read and then write to multiple persistent files, including shared records like contacts and pricing memory, without requiring user confirmation at the point of modification. In an agent setting, this can cause unintended data alteration, privacy issues, or cross-client contamination if the agent acts automatically on the instruction rather than treating file writes as sensitive side effects.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
76% confidence
Finding

The 'Quarterly Discount Audit' section gives imperative instructions such as 'Run it on cadence.discount_audit' but does not distinguish whether this file is only guidance or an invocation spec. That ambiguity can cause overbroad activation in contexts mentioning audits or discount reviews.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill explicitly instructs the agent to modify repository artifacts (artifacts/decision-packaging.md, price-book.md, and pricing memory records) as part of normal operation, but it does not require confirming with the user before making those persistent changes. In an agent setting, this can cause unintended or unauthorized edits to business-critical pricing documentation and historical records if the skill is invoked in the wrong context or on incomplete information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The summary reiterates instructions to update several persistent files after pricing work, again without any warning, confirmation, or access scoping. Although framed as normal workflow documentation, repeating these side-effecting actions increases the chance an automated agent will modify durable business records silently.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill explicitly instructs the agent to write pricing decisions into repository files (artifacts/decision-value-metric.md and memory state) without any requirement to notify the user, confirm consent, or distinguish analysis from file mutation. In an agent setting, silent local state changes can cause unintended modification of business records and create a path for prompt-driven persistence of incorrect or unauthorized data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

This instruction extends the same pattern by telling the agent to update price-book.md and ## Price History records as part of normal operation, again without warning that persistent local data will be altered. Because these files appear to be operational pricing memory, unauthorized or premature writes could corrupt source-of-truth business data or memorialize a pricing change that was only exploratory.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.