security
Implements secure coding practices for agent-native applications, focusing on input validation, SQL injection prevention, and data protection.
Install this skill
Security score
The security skill was audited on Jun 6, 2026 and we found 13 security issues across 3 threat categories, including 1 critical. Review the findings below before installing.
Categories Tested
Security Issues
Eval function call - arbitrary code execution
| 71 | - Never use `dangerouslySetInnerHTML`, `innerHTML`, `eval()`, or `document.write()` with user-controlled content. |
Template literal with variable interpolation in command context
| 26 | `<OPENAI_API_KEY>`, `${keys.SLACK_WEBHOOK}`, `sk-test-example`, or |
Template literal with variable interpolation in command context
| 65 | await client.execute(`SELECT * FROM users WHERE id = '${id}'`); |
Webhook reference - potential data exfiltration
| 24 | tokens, webhook URLs, signing secrets, private Builder/internal data, or customer |
Webhook reference - potential data exfiltration
| 26 | `<OPENAI_API_KEY>`, `${keys.SLACK_WEBHOOK}`, `sk-test-example`, or |
Webhook reference - potential data exfiltration
| 93 | - Never commit real keys, tokens, webhook URLs, signing secrets, or private |
Webhook reference - potential data exfiltration
| 119 | - `scripts/guard-no-env-mutation.mjs` — bans `process.env.<KEY> = …` (and bracket / compound forms) anywhere in production code. On serverless, every warm container handles many concurrent requests in |
Webhook reference - potential data exfiltration
| 230 | - [ ] No hardcoded API keys, tokens, webhook URLs, signing secrets, real |
Access to .env file
| 97 | ## User Credentials Are Per-User Data — Never `process.env` |
Access to .env file
| 108 | On 2026-04-29 the previous one-arg `resolveCredential(key)` form fell back to `process.env[key]` and an unscoped global `settings` row, so every signed-in user inherited the deployment's credentials. |
Access to .env file
| 110 | - `scripts/guard-no-env-credentials.mjs` — bans `process.env.<KEY>` reads in `packages/core/src/credentials/`, `secrets/`, `vault/`, and `templates/*/server/{lib,routes/api}/credential*` paths, except |
Access to .env file
| 119 | - `scripts/guard-no-env-mutation.mjs` — bans `process.env.<KEY> = …` (and bracket / compound forms) anywhere in production code. On serverless, every warm container handles many concurrent requests in |
Access to .env file
| 232 | - [ ] New env vars in `.env` only, not committed |