diff --git a/public/js/components/agents.js b/public/js/components/agents.js
index b2f75dc..f03b424 100644
--- a/public/js/components/agents.js
+++ b/public/js/components/agents.js
@@ -119,7 +119,7 @@ const AgentsUI = {
- ${model}
+ ${Utils.escapeHtml(model)}
@@ -241,7 +241,7 @@ const AgentsUI = {
const tagsChips = document.getElementById('agent-tags-chips');
if (tagsChips) {
tagsChips.innerHTML = tags.map((t) =>
- `${t}`
+ `${Utils.escapeHtml(t)}`
).join('');
}
diff --git a/public/js/components/modal.js b/public/js/components/modal.js
index 3200ccb..499cd50 100644
--- a/public/js/components/modal.js
+++ b/public/js/components/modal.js
@@ -69,7 +69,7 @@ const Modal = {
const inputEl = document.getElementById('prompt-modal-input');
if (titleEl) titleEl.textContent = title;
- if (messageEl) messageEl.innerHTML = message;
+ if (messageEl) messageEl.textContent = message;
if (inputEl) inputEl.value = defaultValue;
Modal.open('prompt-modal-overlay');
diff --git a/public/js/components/schedules.js b/public/js/components/schedules.js
index b3208df..ab96327 100644
--- a/public/js/components/schedules.js
+++ b/public/js/components/schedules.js
@@ -47,7 +47,7 @@ const SchedulesUI = {
${Utils.escapeHtml(schedule.agentName || '—')} |
${Utils.escapeHtml(schedule.taskDescription || '—')} |
- ${cronExpr}
+ ${Utils.escapeHtml(cronExpr)}
|
${nextRun} |
${statusLabel} |
diff --git a/public/js/components/toast.js b/public/js/components/toast.js
index d3b5b84..7e0129f 100644
--- a/public/js/components/toast.js
+++ b/public/js/components/toast.js
@@ -24,7 +24,7 @@ const Toast = {
toast.innerHTML = `
- ${message}
+ ${Utils.escapeHtml(message)}