Neckr0ik Freelance Automator

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

Overview

This skill needs review because it advertises high-impact freelance account automation while authentication, approvals, persistence, and even real job-search behavior are not clearly bounded.

Before installing or using this skill, verify whether its job results are real, avoid connecting freelance accounts or credentials until scope is documented, and require manual review for every proposal, message, follow-up, and invoice. Be aware that it stores business data in ~/.freelance-automator and invokes a local Ollama model for proposal generation.

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

You could believe the tool found real freelance opportunities when it may only be producing demo listings.

Why it was flagged

The script explicitly says it generates example jobs rather than searching real platforms, which conflicts with SKILL.md claims of automatic job hunting and full platform support.

Skill content
# For now, generate realistic job examples ... # In real implementation, would search actual platforms
Recommendation

Treat job results as unverified; the publisher should clearly label demo behavior or implement and document real platform searches before claiming full support.

What this means

If the skill later asks for or uses platform account access, the required permissions and handling rules are not defined up front.

Why it was flagged

The code marks supported freelance platforms as authentication-required, while the registry metadata declares no primary credential, required env vars, or config paths.

Skill content
"requires_auth": True
Recommendation

Do not provide platform credentials until the skill documents exactly which accounts, scopes, storage locations, and actions are required.

What this means

Automated messages could be sent to clients later or repeatedly without the user reviewing each message.

Why it was flagged

The skill advertises ongoing autonomous client communication without describing stop conditions, review requirements, recipient limits, or cancellation controls.

Skill content
auto-reply             Set up auto-reply for common questions
follow-up              Schedule follow-up messages
Recommendation

Use only draft/review modes unless the skill adds explicit confirmation, scheduling limits, logs, and an easy disable mechanism.

What this means

A wrong invoice amount, recipient, or project description could be sent to a real client.

Why it was flagged

Direct invoice emailing is purpose-aligned for a freelance tool, but it is a high-impact business action that should be reviewed before use.

Skill content
--send                  Send directly to client email
Recommendation

Preview every invoice and require explicit human approval before using any direct-send option.

What this means

Client and proposal data may remain on the machine across sessions.

Why it was flagged

The script creates persistent local storage for jobs, proposals, and client records.

Skill content
self.config_dir = Path(config_dir or Path.home() / ".freelance-automator")
self.jobs_dir = self.config_dir / "jobs"
self.proposals_dir = self.config_dir / "proposals"
self.clients_dir = self.config_dir / "clients"
Recommendation

Review and periodically clean ~/.freelance-automator, and avoid storing sensitive client data unless retention and access expectations are acceptable.

What this means

Proposal content and job details are passed to a local model command, and the tool may fail or behave differently if Ollama is not installed.

Why it was flagged

The script runs a local Ollama model to generate proposals, but no required binary is declared in the metadata.

Skill content
subprocess.run(["ollama", "run", "llama3.2:latest", prompt], capture_output=True, text=True, timeout=60)
Recommendation

Install and trust Ollama separately if you choose to use this feature, and confirm what data is included in prompts.