Merge pull request #23 from AlexanderWhitestone/security/macaroon-forgery-and-xss-1771955896

This commit is contained in:
Alexander Whitestone
2026-02-24 13:00:52 -05:00
committed by GitHub
9 changed files with 2522 additions and 24 deletions

View File

@@ -22,7 +22,7 @@
<div class="card mc-panel briefing-summary mb-5">
<div class="card-header mc-panel-header">// TIMMY&rsquo;S REPORT</div>
<div class="card-body p-4">
<div class="briefing-prose">{{ briefing.summary }}</div>
<div class="briefing-prose">{{ briefing.summary | e }}</div>
</div>
</div>

View File

@@ -20,13 +20,13 @@
<div class="agent-avatar">{{ agent.name[0] }}</div>
<div class="agent-info">
<div class="agent-name">
{{ agent.name }}
{{ agent.name | e }}
<span style="font-size: 0.75rem; font-weight: 400;
color: var(--text-muted); margin-left: 8px;">
{{ agent.role }}
{{ agent.role | e }}
</span>
</div>
<div class="agent-meta">{{ agent.description or 'No description' }}</div>
<div class="agent-meta">{{ (agent.description or 'No description') | e }}</div>
<div class="agent-meta" style="margin-top: 4px;">
<span class="badge badge-{{ 'success' if agent.status == 'idle'
else 'warning' if agent.status == 'busy'
@@ -36,7 +36,7 @@
</span>
{% if agent.capabilities %}
{% for cap in agent.capabilities.split(',') %}
<span class="badge badge-secondary" style="margin-left: 4px;">{{ cap.strip() }}</span>
<span class="badge badge-secondary" style="margin-left: 4px;">{{ cap.strip() | e }}</span>
{% endfor %}
{% endif %}
</div>

View File

@@ -1,10 +1,10 @@
<div class="approval-card {{ item.status }}" id="approval-{{ item.id }}">
<div class="d-flex justify-content-between align-items-start mb-1">
<div class="approval-card-title">{{ item.title }}</div>
<div class="approval-card-title">{{ item.title | e }}</div>
<span class="impact-badge impact-{{ item.impact }}">{{ item.impact }}</span>
</div>
<div class="approval-card-desc">{{ item.description }}</div>
<div class="approval-card-action">&#x25B6; {{ item.proposed_action }}</div>
<div class="approval-card-desc">{{ item.description | e }}</div>
<div class="approval-card-action">&#x25B6; {{ item.proposed_action | e }}</div>
{% if item.status == "pending" %}
<div class="approval-actions">

View File

@@ -1,15 +1,15 @@
<div class="chat-message user">
<div class="msg-meta">YOU // {{ timestamp }}</div>
<div class="msg-body">{{ user_message }}</div>
<div class="msg-body">{{ user_message | e }}</div>
</div>
{% if response %}
<div class="chat-message agent">
<div class="msg-meta">TIMMY // {{ timestamp }}</div>
<div class="msg-body">{{ response }}</div>
<div class="msg-body">{{ response | e }}</div>
</div>
{% elif error %}
<div class="chat-message error-msg">
<div class="msg-meta">SYSTEM // {{ timestamp }}</div>
<div class="msg-body">{{ error }}</div>
<div class="msg-body">{{ error | e }}</div>
</div>
{% endif %}

View File

@@ -3,17 +3,17 @@
{% if msg.role == "user" %}
<div class="chat-message user">
<div class="msg-meta">YOU // {{ msg.timestamp }}</div>
<div class="msg-body">{{ msg.content }}</div>
<div class="msg-body">{{ msg.content | e }}</div>
</div>
{% elif msg.role == "agent" %}
<div class="chat-message agent">
<div class="msg-meta">TIMMY // {{ msg.timestamp }}</div>
<div class="msg-body">{{ msg.content }}</div>
<div class="msg-body">{{ msg.content | e }}</div>
</div>
{% else %}
<div class="chat-message error-msg">
<div class="msg-meta">SYSTEM // {{ msg.timestamp }}</div>
<div class="msg-body">{{ msg.content }}</div>
<div class="msg-body">{{ msg.content | e }}</div>
</div>
{% endif %}
{% endfor %}