Back to skill

Security audit

BillClaw

Security checks for vulnerabilities and agentic risk

Overview

BillClaw is a disclosed financial-data integration skill with sensitive but purpose-aligned access to banking and Gmail data.

Install only if you are comfortable giving an external npm plugin access to financial APIs, Gmail bill data, local financial records, and keychain-stored tokens. Configure only the providers you need, review the @firela package source/provenance before using real accounts, and prefer least-privilege API credentials.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 39)May include surrounding context.

md
- ✅ Financial data stored locally in `~/.firela/billclaw/`
- ✅ API calls go directly to Plaid/Gmail (not through our servers)
- ✅ OAuth tokens stored in your system keychain
- ✅ No telemetry, no analytics, no phone-home

### 4. User-Controlled Credentials

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 47)May include surrounding context.

md
- ✅ Financial data stored locally in `~/.firela/billclaw/`
- ✅ API calls go directly to Plaid/Gmail (not through our servers)
- ✅ OAuth tokens stored in your system keychain
- ✅ No telemetry, no analytics, no phone-home

### 4. User-Controlled Credentials

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 155)May include surrounding context.

md
- ✅ Financial data stored locally in `~/.firela/billclaw/`
- ✅ API calls go directly to Plaid/Gmail (not through our servers)
- ✅ OAuth tokens stored in your system keychain
- ✅ No telemetry, no analytics, no phone-home

### 4. User-Controlled Credentials

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 178)May include surrounding context.

md
- ✅ Financial data stored locally in `~/.firela/billclaw/`
- ✅ API calls go directly to Plaid/Gmail (not through our servers)
- ✅ OAuth tokens stored in your system keychain
- ✅ No telemetry, no analytics, no phone-home

### 4. User-Controlled Credentials

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 48)May include surrounding context.

md
- Plaid/Gmail credentials come from YOUR accounts
- Credentials are stored in YOUR system keychain
- BillClaw cannot access credentials without your explicit action
- No shared or embedded credentials

### 5. Explicit User Invocation

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 100)May include surrounding context.

md
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  BillClaw (Local)                                           │   │
│  │  ┌───────────────┐  ┌───────────────┐  ┌────────────────┐  │   │
│  │  │ Local Storage │  │ System Keychain │  │ Config Files  │  │   │
│  │  │ ~/.firela/    │  │ (encrypted)    │  │ ~/.firela/     │  │   │
│  │  └───────────────┘  └───────────────┘  └────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────┘   │

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 156)May include surrounding context.

md
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  BillClaw (Local)                                           │   │
│  │  ┌───────────────┐  ┌───────────────┐  ┌────────────────┐  │   │
│  │  │ Local Storage │  │ System Keychain │  │ Config Files  │  │   │
│  │  │ ~/.firela/    │  │ (encrypted)    │  │ ~/.firela/     │  │   │
│  │  └───────────────┘  └───────────────┘  └────────────────┘  │   │
│  └─────────────────────────────────────────────────────────────┘   │

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SECURITY.md (reported line 157)May include surrounding context.

Credentials are in system keychain:

macOS: Keychain Access app

Linux: gnome-keyring / kwallet

Windows: Windows Credential Manager

text

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill handles financial data operations such as transaction syncing, bill retrieval from Gmail, and ledger export. However, the code shown does none of those things. It is a repository/package validation utility for a skill called billclaw, focused on checking SKILL.md frontmatter, naming rules, description quality, file sizes, directory presence, and providing publish steps. This is a materially different primary purpose and uses different resources (local filesystem metadata rather than financial APIs or Gmail). Therefore the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

File System Enumeration

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Code scans file system directories looking for sensitive files. This could be reconnaissance for credential theft.

Content

Scanner excerpt · SECURITY.md (reported line 153)May include surrounding context.

bash
# All your data is here:
ls -la ~/.firela/billclaw/

# Credentials are in system keychain:
# macOS: Keychain Access app

Static analysis

No suspicious patterns detected.