Analyze Electron IPC implementations for security vulnerabilities including contextIsolation, nodeIntegration, preload scripts, and channel validation
Audits Electron IPC security for vulnerabilities including context isolation and channel validation.
npx claudepluginhub a5c-ai/babysitterThis skill is limited to using the following tools:
README.mdAnalyze Electron IPC implementations for security vulnerabilities. This skill performs comprehensive security audits of inter-process communication patterns, checking for contextIsolation issues, nodeIntegration risks, preload script security, and IPC channel validation.
{
"type": "object",
"properties": {
"projectPath": {
"type": "string",
"description": "Path to the Electron project root"
},
"auditScope": {
"type": "array",
"items": {
"enum": ["ipc-channels", "preload-scripts", "main-process", "renderer-security", "csp", "all"]
},
"default": ["all"]
},
"severity": {
"enum": ["all", "critical", "high", "medium"],
"default": "all",
"description": "Minimum severity level to report"
},
"includeRecommendations": {
"type": "boolean",
"default": true
}
},
"required": ["projectPath"]
}
{
"type": "object",
"properties": {
"success": { "type": "boolean" },
"summary": {
"type": "object",
"properties": {
"totalIssues": { "type": "number" },
"critical": { "type": "number" },
"high": { "type": "number" },
"medium": { "type": "number" },
"low": { "type": "number" }
}
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"severity": { "enum": ["critical", "high", "medium", "low"] },
"category": { "type": "string" },
"title": { "type": "string" },
"description": { "type": "string" },
"file": { "type": "string" },
"line": { "type": "number" },
"recommendation": { "type": "string" },
"codeExample": { "type": "string" }
}
}
},
"securityScore": {
"type": "number",
"description": "Security score 0-100"
}
},
"required": ["success", "findings"]
}
nodeIntegration: true in BrowserWindowcontextIsolation: falsesandbox: falseipcMain.on('*') patternswebSecurity: false// BAD: Exposing ipcRenderer directly
contextBridge.exposeInMainWorld('electron', {
ipcRenderer: ipcRenderer // CRITICAL VULNERABILITY
});
// GOOD: Expose only specific channels
contextBridge.exposeInMainWorld('electron', {
send: (channel, data) => {
const validChannels = ['file:read', 'file:write'];
if (validChannels.includes(channel)) {
ipcRenderer.send(channel, data);
}
}
});
// BAD: Context isolation disabled
new BrowserWindow({
webPreferences: {
contextIsolation: false, // CRITICAL
preload: path.join(__dirname, 'preload.js')
}
});
// GOOD: Context isolation enabled
new BrowserWindow({
webPreferences: {
contextIsolation: true,
sandbox: true,
preload: path.join(__dirname, 'preload.js')
}
});
// BAD: Executing arbitrary commands
ipcMain.handle('execute', async (event, cmd) => {
return exec(cmd); // HIGH RISK
});
// GOOD: Whitelisted commands only
const ALLOWED_COMMANDS = ['list-files', 'get-info'];
ipcMain.handle('execute', async (event, cmd, args) => {
if (!ALLOWED_COMMANDS.includes(cmd)) {
throw new Error('Command not allowed');
}
return executeWhitelistedCommand(cmd, args);
});
electron-main-preload-generator - Generate secure boilerplateelectron-builder-config - Build configurationdesktop-security-auditor agent - Comprehensive security reviewelectron-architect - Architecture guidancedesktop-security-auditor - Security expertiseActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.