CRS Tax Calculator

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The tax tool matches its stated purpose, but it uploads sensitive financial statements to a third-party service and has unsafe API-key and output-file handling that should be reviewed before use.

Before installing, confirm you trust the provider with your brokerage statements and tax data. Avoid echoing the API key, and prefer a patched version that sanitizes output filenames before writing Excel files locally.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Your CRS API key could be displayed and retained somewhere you did not intend.

Why it was flagged

The skill instructs users or the agent to print the API key value while checking setup. That can unnecessarily expose a credential in logs or conversation output.

Skill content
echo "CRS_API_KEY=${CRS_API_KEY:-(未设置)}" ... 设置完成后验证:`echo $CRS_API_KEY`
Recommendation

Check only whether the variable is set, not its value; for example, use a presence check that prints 'set' or 'missing' without revealing the key.

What this means

A malicious or compromised API response could overwrite files the user account can write to.

Why it was flagged

The script trusts a filename returned by the remote API and joins it directly to the output directory. Absolute paths or ../ path traversal in that filename could cause writes outside the intended folder.

Skill content
fname = yr['excel']['filename']
out_path = os.path.join(out_dir, fname)
with open(out_path, 'wb') as f:
Recommendation

Sanitize remote filenames with os.path.basename, reject absolute paths and '..' components, and ensure the resolved path stays inside the chosen output directory before writing.

What this means

Brokerage statements and tax-related financial data leave the local machine for processing by the provider.

Why it was flagged

The helper base64-encodes the selected statement files and sends them with the provider API key to the stated external API.

Skill content
API_URL = 'https://api.wealthlplantation.com/api/process' ... 'data': data ... 'Authorization': f'Bearer {api_key}'
Recommendation

Use this only if you trust wealthlplantation.com with the selected files, and avoid passing unrelated or overly broad file paths.