Skip to main content

content-safety-guard

Provides a dual-layer AI content guardrail to ensure safe communication from AI agents, utilizing a judge model for output evaluation.

Install this skill

or
0/100

Security score

The content-safety-guard skill was audited on May 15, 2026 and we found 25 security issues across 4 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 69

Template literal with variable interpolation in command context

SourceSKILL.md
69const GUARD_SYSTEM_PROMPT = `You are a content safety filter for ${BRAND_NAME}, an AI assistant serving [describe your user base].
medium line 133

Template literal with variable interpolation in command context

SourceSKILL.md
133console.warn(`[message-guard] BLOCKED: ${verdict.reason}`);
medium line 142

Template literal with variable interpolation in command context

SourceSKILL.md
142console.error(`[message-guard] Error (fail-open): ${err.message}`);
medium line 152

Template literal with variable interpolation in command context

SourceSKILL.md
152const url = `${API_URL}/${GEMINI_MODEL}:generateContent?key=${apiKey}`;
medium line 164

Template literal with variable interpolation in command context

SourceSKILL.md
164parts: [{ text: `Evaluate this outbound message:\n\n${messageContent}` }],
medium line 178

Template literal with variable interpolation in command context

SourceSKILL.md
178throw new Error(`Gemini API ${response.status}: ${errBody.slice(0, 200)}`);
medium line 186

Template literal with variable interpolation in command context

SourceSKILL.md
186console.warn(`[message-guard] Gemini safety filter triggered (${finishReason})`);
medium line 187

Template literal with variable interpolation in command context

SourceSKILL.md
187return { pass: false, reason: `gemini-safety-${finishReason}` };
medium line 205

Template literal with variable interpolation in command context

SourceSKILL.md
205console.warn(`[message-guard] Unexpected Gemini response: ${text}`);
medium line 206

Template literal with variable interpolation in command context

SourceSKILL.md
206return { pass: false, reason: `unexpected-format: ${text.slice(0, 50)}` };
medium line 262

Template literal with variable interpolation in command context

SourceSKILL.md
262console.error(`[message-guard] Error (fail-open): ${err.message}`);
medium line 269

Template literal with variable interpolation in command context

SourceSKILL.md
269console.error(`[message-guard] Error (fail-closed): ${err.message}`);
medium line 491

Template literal with variable interpolation in command context

SourceSKILL.md
491console.log(`Running ${cases.length} tests...\n`);
medium line 501

Template literal with variable interpolation in command context

SourceSKILL.md
501console.log(`\n-- ${CATEGORY_NAMES[currentCategory]} --`);
medium line 517

Template literal with variable interpolation in command context

SourceSKILL.md
517console.log(` OK ${tc.id} ${tc.name}`);
medium line 521

Template literal with variable interpolation in command context

SourceSKILL.md
521console.log(` FAIL ${tc.id} ${tc.name} (expected ${tc.expect}, got ${actual})`);
medium line 525

Template literal with variable interpolation in command context

SourceSKILL.md
525console.log(` Replaced with: ${result.content.slice(0, 60)}...`);
medium line 530

Template literal with variable interpolation in command context

SourceSKILL.md
530console.log(`\nResults: ${passed}/${cases.length} correct (${failed} mismatches)\n`);
medium line 535

Template literal with variable interpolation in command context

SourceSKILL.md
535console.log(` ${f.id} [Cat ${f.category}] ${f.name} — expected ${f.expect}`);
medium line 536

Template literal with variable interpolation in command context

SourceSKILL.md
536console.log(` "${f.content.slice(0, 100)}..."`);
medium line 547

Template literal with variable interpolation in command context

SourceSKILL.md
547console.log(` [${icon}] Cat ${cat}: ${catPassed}/${catCases.length} -- ${CATEGORY_NAMES[cat]}`);
low line 63

Access to .env file

SourceSKILL.md
63const BRAND_NAME = process.env.BRAND_NAME || "{BRAND_NAME}";
low line 113

Access to .env file

SourceSKILL.md
113const apiKey = process.env.GOOGLE_GENAI_API_KEY;
low line 224

Unicode escape sequences

SourceSKILL.md
224return /[\u4e00-\u9fff]/.test(text);
low line 58

External URL reference

SourceSKILL.md
58const API_URL = "https://generativelanguage.googleapis.com/v1beta/models";
Scanned on May 15, 2026
View Security Dashboard
Installation guide →