T09 · Insecure Skill Coding Practices
- Location
prompts/01_firm_brand_acquisition.md:8- Finding
Public Disclosure of Tax Preparer Identification Numbers
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a CPA marketing prompt kit, but it needs Review because it can place tax preparer identifiers such as PTINs into public marketing without enough safeguards.
Before installing or using this skill, treat PTIN, EFIN, and enrolled-agent numbers as sensitive unless you have confirmed they are required for the specific channel and jurisdiction. Prefer placeholders in drafts, remove unnecessary identifiers before publishing, and have compliance counsel or the relevant licensing board rules reviewed for ads, emails, SMS, and web copy. If installing from the README, use a pinned and trusted ClawHub installer version rather than an unversioned npx command.
prompts/01_firm_brand_acquisition.md:8Public Disclosure of Tax Preparer Identification Numbers
README.md:51Unpinned Third-Party Package Execution Through npx
The README instructs users to run npx clawhub install accounting-cpa-tax-marketing-kit without pinning a specific version of the package/tooling. npx resolves and executes the latest available package version by default, which creates a supply-chain risk: a compromised upstream package, malicious update, or typo/squat in the distribution path could lead to arbitrary code execution on the user's machine during installation.
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.
**5. Facebook/Instagram Ad Creative Set (3 ads)**
Ad 1: Tax season urgency (deadline-based, not fake scarcity)
Ad 2: Referral/social proof angle (no client names without consent; use "clients like you" framing)
Ad 3: Advisory services upgrade angle ("beyond tax season")
Each ad: headline (40 chars) + primary text (125 chars) + description (30 chars) + CTA + compliance footer
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.
**5. Facebook/Instagram Ad Creative Set (3 ads)**
Ad 1: Tax season urgency (deadline-based, not fake scarcity)
Ad 2: Referral/social proof angle (no client names without consent; use "clients like you" framing)
Ad 3: Advisory services upgrade angle ("beyond tax season")
Each ad: headline (40 chars) + primary text (125 chars) + description (30 chars) + CTA + compliance footer
The subject line 'ITIN filer? We can help — en español también' introduces Spanish-language messaging directly in the template rather than offering a language preference choice. While mild and customer-friendly, this can be read as locale/language targeting without explicit opt-in, which is the policy area covered by SQP-3.
The input example explicitly encourages targeting 'Spanish-speaking clients,' but the prompt does not state whether outputs should remain in English, switch languages, or ask for user preference. Because language-affecting behavior is implied without an opt-in or documented choice, this may conflict with language/locale policy expectations.
The natural-language example list includes "bilingual Spanish/English" as a preset special-program option, but the skill does not state that language selection should be based on user preference or consent. Under the policy for this audit, forced language behavior without opt-in can be a locale/language policy concern.
No suspicious patterns detected.