Skip to main content

chat-widget

Creates a real-time support chat system with a user widget and admin dashboard for effective customer support.

Install this skill

or
65/100

Security score

The chat-widget skill was audited on May 14, 2026 and we found 11 security issues across 2 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 592

Template literal with variable interpolation in command context

SourceSKILL.md
592const ws = new WebSocket(`${websocketUrl}?chat_id=${chat.id}`)
medium line 644

Template literal with variable interpolation in command context

SourceSKILL.md
644<span className={`w-2 h-2 rounded-full ${connected ? 'bg-green-500' : 'bg-gray-400'}`} />
medium line 648

Template literal with variable interpolation in command context

SourceSKILL.md
648<div key={m.id} className={`p-2 rounded ${m.sender_type === 'user' ? 'bg-blue-100 ml-auto' : 'bg-gray-100'}`}>
medium line 711

Template literal with variable interpolation in command context

SourceSKILL.md
711await pusher.trigger(`support-chat-${chatId}`, 'new-message', messageData)
medium line 714

Template literal with variable interpolation in command context

SourceSKILL.md
714const channel = pusher.subscribe(`support-chat-${chatId}`)
medium line 790

Template literal with variable interpolation in command context

SourceSKILL.md
790ws = new WebSocket(`/ws/chat?id=${chat.value?.id}`)
low line 270

Fetch to external URL

SourceSKILL.md
270fetch('/support_chat')
low line 296

Fetch to external URL

SourceSKILL.md
296fetch('/support_chat/mark_read', { method: 'PATCH' })
low line 584

Fetch to external URL

SourceSKILL.md
584fetch('/api/support_chat').then(r => r.json()).then(data => {
low line 786

Fetch to external URL

SourceSKILL.md
786const res = await fetch('/api/support-chat')
low line 893

Fetch to external URL

SourceSKILL.md
893fetch('/api/support-chat/messages?since=' + lastMessageTime)
Scanned on May 14, 2026
View Security Dashboard
Installation guide →