Knack DevOps
Automates build, deployment, and monitoring for Knack-Vercel integration, ensuring uptime and data sync reliability.
Install this skill
Security score
The Knack DevOps skill was audited on Feb 12, 2026 and we found 34 security issues across 4 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 89 | console.log(`Latency: ${latency}ms`); |
Template literal with variable interpolation in command context
| 94 | message: `Dashboard latency high: ${latency}ms (threshold: ${alert_threshold_ms}ms)` |
Template literal with variable interpolation in command context
| 107 | message: `Dashboard unreachable: ${api_url}`, |
Template literal with variable interpolation in command context
| 171 | console.log(`Backup complete: ${backup.records_backed_up} records`); |
Template literal with variable interpolation in command context
| 192 | Key: `knack/${object_key}_${timestamp}.json`, |
Template literal with variable interpolation in command context
| 208 | ```yaml |
Template literal with variable interpolation in command context
| 272 | throw new Error(`Pre-deployment checks failed: ${JSON.stringify(checks)}`); |
Template literal with variable interpolation in command context
| 284 | return { passed: false, message: `Knack API error: ${error.message}` }; |
Template literal with variable interpolation in command context
| 416 | console.warn(`Bundle size ${total_size} exceeds ${max_size}`); |
Template literal with variable interpolation in command context
| 435 | await fetch(`https://hubdash.vercel.app${endpoint}`); |
Template literal with variable interpolation in command context
| 453 | Key: `knack/${object_key}_${backup_date}.json` |
Template literal with variable interpolation in command context
| 459 | console.log(`Restoring ${records.length} records to ${object_key}`); |
Template literal with variable interpolation in command context
| 484 | console.log(`Rolled back to ${previous.id}`); |
Curl to non-GitHub URL
| 254 | curl -X POST https://hooks.slack.com/services/${{ secrets.SLACK_WEBHOOK }} \ |
Fetch to external URL
| 351 | fetch('/api/analytics', { method: 'POST', body }); |
Webhook reference - potential data exfiltration
| 19 | - `trigger` (string, optional): "push" | "webhook" | "api" (default: "api") |
Webhook reference - potential data exfiltration
| 254 | curl -X POST https://hooks.slack.com/services/${{ secrets.SLACK_WEBHOOK }} \ |
Webhook reference - potential data exfiltration
| 492 | - **knack_realtime**: Webhook endpoint health checks |
Access to .env file
| 24 | vercel_url: process.env.VERCEL_PROJECT_URL, |
Access to .env file
| 42 | const vercel = new Vercel({ bearerToken: process.env.VERCEL_TOKEN }); |
Access to .env file
| 315 | dsn: process.env.SENTRY_DSN, |
Access to .env file
| 316 | environment: process.env.NODE_ENV, |
Access to .env file
| 365 | # .env.development |
Access to .env file
| 375 | # .env.production (in Vercel dashboard) |
Access to .env file
| 390 | const knack_api_key = process.env.KNACK_API_KEY; |
Access to .env file
| 469 | const vercel = new Vercel({ bearerToken: process.env.VERCEL_TOKEN }); |
Access to .env file
| 473 | projectId: process.env.VERCEL_PROJECT_ID, |
External URL reference
| 32 | // url: "https://hubdash-git-main.vercel.app", |
External URL reference
| 71 | api_url: "https://hubdash.vercel.app/api/metrics", |
External URL reference
| 254 | curl -X POST https://hooks.slack.com/services/${{ secrets.SLACK_WEBHOOK }} \ |
External URL reference
| 296 | // https://vercel.com/docs/analytics |
External URL reference
| 300 | url: "https://hubdash.vercel.app", |
External URL reference
| 381 | SENTRY_DSN=https://... |
External URL reference
| 435 | await fetch(`https://hubdash.vercel.app${endpoint}`); |