file-classification-manager

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

Overview

This file organizer is purpose-aligned, but it can broadly read and move workspace files and does not validate project paths before moving files.

Before installing, make sure you are comfortable with a skill that can reorganize workspace files. Prefer running it first in dry-run mode if available, keep backups, and avoid using broad cleanup on workspaces that contain important configuration, source, or sensitive files.

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

A cleanup run could unexpectedly relocate important workspace files, configuration files, or source files and disrupt a project.

Why it was flagged

The cleanup workflow enumerates root-level workspace files, reads their contents, and routes them through a function that moves them with fs.rename. This is coherent with the organizer purpose, but it is broad and lacks an evident confirmation, dry-run, or backup step.

Skill content
const files = await fs.readdir(this.workspaceRoot); ... const content = await fs.readFile(fullPath, 'utf8'); ... const newPath = await this.classifyAndRouteFile(fullPath, project); ... await fs.rename(filepath, destinationPath);
Recommendation

Use this only on a test workspace or after backup; the skill should add a dry-run report, explicit approval before moving files, and safer include/exclude rules.

What this means

A malformed project name could route files outside the intended directory structure or create unexpected folders.

Why it was flagged

The project context is incorporated directly into destination paths and then used for file moves, with no visible validation or normalization to enforce that files remain under the intended projects/ and temp/ directories.

Skill content
const projectOutputDir = path.join(this.projectsDir, projectName, 'outputs'); ... const dirs = await this.ensureProjectStructure(projectContext); ... await fs.rename(filepath, destinationPath);
Recommendation

Validate project names against the documented alphanumeric/underscore rule, reject path traversal segments, and verify final paths remain inside the workspace.

What this means

A persistent log could preserve names or locations of files you worked with.

Why it was flagged

The skill instructs persistent logging of file operations. This may be useful for auditability, but file names and paths can reveal sensitive project information if retained or reused later.

Skill content
Log all file operations to `memory/YYYY-MM-DD.md`
Recommendation

Review what is logged, avoid logging sensitive filenames or paths, and clear logs when they are no longer needed.