Sensitive Data Masker
v1.0.7Intelligent sensitive data detection and masking. Uses Microsoft Presidio + SQLite for automatic PII redaction with local restoration support.
⭐ 0· 308·0 current·0 all-time
byTK@stj001
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The name/description match the included code: it uses Presidio for detection and SQLite + encryption for local mapping and restoration. However, the runtime requirements declared in metadata/SKILL.md do not include the cryptography package even though the Python code requires it and fails if it's not present. That omission is incoherent with the code's stated 'REQUIRED - no fallback' encryption behavior.
Instruction Scope
The handler launches the Python masker by putting the entire message content on the child process command line (spawn('python3', [MASKER_SCRIPT, 'mask', content])). Passing raw messages (potentially secrets) as argv exposes them to other local users via process listings (ps), which contradicts the skill's goal of protecting secrets. Aside from that, the instructions and code operate only on local storage and do not call external endpoints.
Install Mechanism
There is no automatic install spec; SKILL.md lists pip/spacy install commands for the user to run. That is low-risk. However, the code requires the cryptography module (and enforces encryption) but the declared install recommendations and metadata do not include it — an inconsistency that will cause the skill to fail or force manual installation.
Credentials
The skill requests no environment variables or external credentials (appropriate). It writes files under ~/.openclaw/data/sensitive-masker and generates an encryption key file; these are proportionate to local mapping/restoration. Note: storing both an encrypted DB and the encryption key locally means a compromise of the user account or backups will expose cleartext; the README warns about backups, but this is an expected tradeoff and should be considered by operators.
Persistence & Privilege
always:false and the skill registers a message:received hook (expected for this purpose). It writes its own files under the user's OpenClaw data directory and does not modify other skills or system-wide settings. No excessive platform privileges are requested.
What to consider before installing
This skill mostly does what it says (local PII detection + local mapping/restore), but two issues need your attention before installing: 1) The Python code requires the cryptography library (it will exit if missing) yet the SKILL.md and metadata do not include installing cryptography — make sure to pip install cryptography so the skill's encryption works as intended. 2) The hook implementation passes full message text as a command-line argument to the masker process; command-line arguments are visible to other users on the same machine (ps aux), which can leak secrets. Prefer changing the handler to pass sensitive content via stdin or another IPC mechanism, or ensure the host is multi-user-safe and that only trusted accounts exist. Also review file permissions and backup policies for ~/.openclaw/data/sensitive-masker (the mapping DB and the encryption key are stored locally and must be protected). If you cannot guarantee host-level protections or cannot enforce the code change to avoid argv exposure, treat this skill as risky and do not enable it on multi-tenant systems.Like a lobster shell, security has layers — review code before you run it.
auditedvk97b4nxkeqmwaqt7587dcgrb1s826jncencryptedvk97b4nxkeqmwaqt7587dcgrb1s826jnclatestvk973d2cymx1d04ymw97ttt9d19827nnbmaskingvk97b4nxkeqmwaqt7587dcgrb1s826jncmicrosoftvk979rq4ya3qgn50jfr23eb0z35827zd2piivk97b4nxkeqmwaqt7587dcgrb1s826jncpresidiovk97b4nxkeqmwaqt7587dcgrb1s826jncprivacyvk97b4nxkeqmwaqt7587dcgrb1s826jncredactionvk97b4nxkeqmwaqt7587dcgrb1s826jncrequired-encryptionvk97b4nxkeqmwaqt7587dcgrb1s826jncsecurevk97b4nxkeqmwaqt7587dcgrb1s826jncsecurityvk97b4nxkeqmwaqt7587dcgrb1s826jnc
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
🔐 Clawdis
Binspython3
