User Authentication System

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill is coherently about local authentication, but its artifacts conflict on password protection and role permissions for tax submissions, so it needs careful review before use.

Review this skill before using it in production. Clarify the accountant versus senior_accountant submission rules, replace salted SHA-256 password storage with bcrypt/Argon2id/scrypt, protect OPENCLAW_DATA_DIR/auth with strict permissions, and require explicit approval for role changes, all-client access, password resets, and session revocation.

Findings (5)

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

An unclear role boundary could either allow an accountant to perform high-impact government filing actions without senior approval or cause legitimate workflows to fail unpredictably.

Why it was flagged

The SKILL appears to grant the accountant role tax filing submission permission, while EVALS.json expects accountant attempts to submit directly to AADE to be blocked because government submissions require senior_accountant approval. That inconsistency is material for an RBAC skill.

Skill content
accountant: ... permissions: ... - tax_filing_submit
Recommendation

Clarify and enforce the distinction between preparing a tax filing and submitting it to government systems; require explicit senior approval for submission if that is the intended policy.

What this means

If the local auth directory is compromised, SHA-256 password hashes may be easier to attack offline than bcrypt/Argon2/scrypt hashes, weakening account protection.

Why it was flagged

The skill handles user passwords but documents salted SHA-256 rather than a modern password hashing KDF. This also conflicts with EVALS.json, which expects bcrypt hashing and never plaintext storage.

Skill content
Credentials are stored as salted SHA-256 hashes in OPENCLAW_DATA_DIR/auth/.
Recommendation

Use bcrypt, Argon2id, or scrypt with appropriate parameters, align SKILL.md and EVALS.json, and document migration/rotation guidance for existing credentials.

What this means

A mistaken or unauthorized invocation could broaden client access or lock users out of active sessions.

Why it was flagged

The skill documents commands that can grant broad client access and revoke all active sessions. These are purpose-aligned for an authentication admin system, but they are high-impact administrative actions.

Skill content
openclaw auth assign-clients --username "maria.g" --all-clients ... openclaw auth session-revoke --username "maria.g" --all-devices
Recommendation

Require explicit human confirmation, audit logging, and ideally a second approval step for all-client assignment, role elevation, password resets, and bulk session revocation.

What this means

If local auth files are exposed or tampered with, user access, sessions, or audit history could be compromised.

Why it was flagged

The skill uses persistent local files for credentials, session state, 2FA data, permissions, and security logs. That is expected for a local auth system, but these files become authoritative security state.

Skill content
- /data/auth/users/{username}/credentials.json ... - /data/auth/users/{username}/sessions/ ... - /data/auth/users/{username}/2fa/ ... - /data/auth/logs/security/
Recommendation

Keep OPENCLAW_DATA_DIR/auth restricted, back it up securely, consider integrity checks or signatures for permission/session files, and define retention rules for audit logs.

What this means

Installing system packages changes the local environment and depends on the user's configured package repositories.

Why it was flagged

The setup instructions ask the user to install OS packages if required binaries are missing. This is disclosed and user-directed, with no hidden installer shown.

Skill content
which jq openssl || sudo apt install jq openssl
Recommendation

Install jq and openssl only from trusted OS repositories and verify the required openclaw binary is already trusted before using this skill for authentication administration.