Trust Assessment
clawforgod received a trust score of 56/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 7 findings: 0 critical, 1 high, 4 medium, and 2 low severity. Key findings include Unsafe deserialization / dynamic eval, Missing required field: name, Node lockfile missing.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 69/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings7
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Undeclared and Missing Dependencies The `package.json` file declares an empty `dependencies` object, but the `scripts/clawforgod.js` file uses `require('dotenv')`. This undeclared dependency can lead to runtime errors if `dotenv` is not globally installed or managed externally, and poses a supply chain risk as its version is unpinned. Additionally, the `start` and `dev` scripts in `package.json` refer to `scripts/1st-commandment.js`, which is not present in the provided skill package. This will cause the skill to fail to start as configured, and represents a missing critical component. Declare all runtime dependencies, including `dotenv`, in `package.json` with pinned versions (e.g., `"dotenv": "^16.0.0"`). Ensure all referenced script files, such as `scripts/1st-commandment.js`, are included in the skill package or update `package.json` to reflect the correct entry point. | LLM | package.json:18 | |
| MEDIUM | Unsafe deserialization / dynamic eval Decryption followed by code execution Remove obfuscated code execution patterns. Legitimate code does not need base64-encoded payloads executed via eval, encrypted-then-executed blobs, or dynamic attribute resolution to call system functions. | Manifest | skills/snail3d/voice-devotional/skills/clawforgod/scripts/calendar-guardian.js:4 | |
| MEDIUM | Missing required field: name The 'name' field is required for claude_code skills but is missing from frontmatter. Add a 'name' field to the SKILL.md frontmatter. | Static | skills/snail3d/voice-devotional/skills/clawforgod/SKILL.md:1 | |
| MEDIUM | Sensitive User Data Stored Locally The skill stores user journal entries (including user-provided 'content') in `data/journal.json` and GitHub activity data in `data/activity.json`. While stored locally, this sensitive user data (reflections, activity patterns) could be a target for exfiltration if the skill's environment or host system is compromised. The skill creates these directories and files with `fs.mkdirSync` and `fs.writeFileSync`. Implement robust access controls for data directories. Consider encrypting sensitive data at rest, even if local. Ensure that user-provided content is sanitized before storage to prevent potential injection attacks if the data is later processed or displayed. | LLM | scripts/check-in-prompter.js:15 | |
| MEDIUM | Logging of Potentially Sensitive Information The `log` function in `scripts/clawforgod.js` writes messages to `logs/soul-shepherd.log`. The `scripts/tone-analyzer.js` logs the first 200 characters of analyzed user input (`text`) to this logger. If user input contains sensitive personal information or credentials, it could be inadvertently written to disk, creating a data exfiltration risk if the log files are accessed by an unauthorized entity. Similarly, error messages or environment variables (like `GITHUB_TOKEN`) could be logged if not handled carefully. Implement strict sanitization and redaction for all data before logging. Avoid logging raw user input or environment variables. Configure log levels to only capture necessary information in production environments. Consider using a secure logging mechanism that encrypts logs or rotates them frequently. | LLM | scripts/clawforgod.js:70 | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/snail3d/voice-devotional/skills/clawforgod/package.json | |
| LOW | Credential Usage in API Calls The `scripts/pattern-learner.js` uses `this.config.githubToken` (sourced from `process.env.GITHUB_TOKEN`) in an Authorization header for GitHub API calls. While this is a standard and secure practice for API authentication, the presence of a credential in the environment variables and its use in network requests means that any compromise of the skill's environment or a vulnerability in the `fetch` implementation could potentially expose this token. The current implementation correctly targets `api.github.com`. Ensure the `GITHUB_TOKEN` has the minimum necessary permissions. Implement secure environment variable management. Regularly rotate API keys and tokens. While the current usage is standard, be vigilant about any potential manipulation of the `fetch` target or logging of the token (covered by a separate finding). | LLM | scripts/pattern-learner.js:84 |
Scan History
Embed Code
[](https://skillshield.io/report/3008beeb2e9b032a)
Powered by SkillShield