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.
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.
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.
accountant: ... permissions: ... - tax_filing_submit
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.
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.
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.
Credentials are stored as salted SHA-256 hashes in OPENCLAW_DATA_DIR/auth/.
Use bcrypt, Argon2id, or scrypt with appropriate parameters, align SKILL.md and EVALS.json, and document migration/rotation guidance for existing credentials.
A mistaken or unauthorized invocation could broaden client access or lock users out of active sessions.
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.
openclaw auth assign-clients --username "maria.g" --all-clients ... openclaw auth session-revoke --username "maria.g" --all-devices
Require explicit human confirmation, audit logging, and ideally a second approval step for all-client assignment, role elevation, password resets, and bulk session revocation.
If local auth files are exposed or tampered with, user access, sessions, or audit history could be compromised.
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.
- /data/auth/users/{username}/credentials.json ... - /data/auth/users/{username}/sessions/ ... - /data/auth/users/{username}/2fa/ ... - /data/auth/logs/security/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.
Installing system packages changes the local environment and depends on the user's configured package repositories.
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.
which jq openssl || sudo apt install jq openssl
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.
