Skip to main content

fullstack-dev

Guides users through full-stack app development, covering backend architecture, frontend integration, and REST API creation.

Install this skill

or
0/100

Security score

The fullstack-dev skill was audited on May 27, 2026 and we found 32 security issues across 4 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 266

Template literal with variable interpolation in command context

SourceSKILL.md
266if (!value) throw new Error(`Missing required env var: ${name}`); // fail fast
medium line 317

Template literal with variable interpolation in command context

SourceSKILL.md
317super(`${resource} not found: ${id}`, 'NOT_FOUND', 404);
medium line 426

Template literal with variable interpolation in command context

SourceSKILL.md
426super(body?.detail || body?.message || `API error ${status}`);
medium line 433

Template literal with variable interpolation in command context

SourceSKILL.md
433const res = await fetch(`${BASE_URL}${path}`, {
medium line 437

Template literal with variable interpolation in command context

SourceSKILL.md
437...(token ? { Authorization: `Bearer ${token}` } : {}),
medium line 614

Template literal with variable interpolation in command context

SourceSKILL.md
614console.log(`Order created for user ${user.id} with total ${order.total}`);
medium line 669

Template literal with variable interpolation in command context

SourceSKILL.md
669const cached = await redis.get(`user:${id}`);
medium line 675

Template literal with variable interpolation in command context

SourceSKILL.md
675await redis.set(`user:${id}`, JSON.stringify(user), 'EX', 900); // 15min TTL
medium line 714

Template literal with variable interpolation in command context

SourceSKILL.md
714const key = `uploads/${crypto.randomUUID()}-${filename}`;
medium line 727

Template literal with variable interpolation in command context

SourceSKILL.md
727`/api/uploads/presign?filename=${file.name}&type=${file.type}`
medium line 770

Template literal with variable interpolation in command context

SourceSKILL.md
770res.write(`event: ${event}\ndata: ${JSON.stringify(data)}\n\n`);
medium line 783

Template literal with variable interpolation in command context

SourceSKILL.md
783const source = new EventSource(`/api/events?userId=${userId}`);
medium line 833

Template literal with variable interpolation in command context

SourceSKILL.md
833queryFn: () => apiClient.get<Order>(`/api/orders/${orderId}`),
medium line 81

Curl to non-GitHub URL

SourceSKILL.md
81curl http://localhost:3000/health
medium line 82

Curl to non-GitHub URL

SourceSKILL.md
82curl http://localhost:3000/api/<resource>
low line 741

Fetch to external URL

SourceSKILL.md
741const res = await fetch('/api/upload', { method: 'POST', body: formData });
medium line 132

Access to .env file

SourceSKILL.md
132- [ ] `.env.example` committed (no real secrets)
low line 259

Access to .env file

SourceSKILL.md
259port: parseInt(process.env.PORT || '3000', 10),
low line 261

Access to .env file

SourceSKILL.md
261auth: { jwtSecret: requiredEnv('JWT_SECRET'), expiresIn: process.env.JWT_EXPIRES_IN || '1h' },
low line 265

Access to .env file

SourceSKILL.md
265const value = process.env[name];
low line 281

Access to .env file

SourceSKILL.md
281env_file = ".env"
low line 292

Access to .env file

SourceSKILL.md
292✅ Commit .env.example with dummy values
low line 295

Access to .env file

SourceSKILL.md
295❌ Never commit .env files
low line 296

Access to .env file

SourceSKILL.md
296❌ Never scatter process.env / os.environ throughout code
low line 422

Access to .env file

SourceSKILL.md
422const BASE_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3001';
low line 716

Access to .env file

SourceSKILL.md
716Bucket: process.env.S3_BUCKET, Key: key,
medium line 986

Access to .env file

SourceSKILL.md
986| 2 | `process.env` scattered everywhere | Centralized typed config |
low line 81

External URL reference

SourceSKILL.md
81curl http://localhost:3000/health
low line 82

External URL reference

SourceSKILL.md
82curl http://localhost:3000/api/<resource>
low line 422

External URL reference

SourceSKILL.md
422const BASE_URL = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3001';
low line 526

External URL reference

SourceSKILL.md
526--input http://localhost:3001/api/openapi.json \
low line 705

External URL reference

SourceSKILL.md
705Server → { uploadUrl: "https://s3.../presigned", fileKey: "uploads/abc123.jpg" }
Scanned on May 27, 2026
View Security Dashboard
Installation guide →