hermes-agent/web/src/components
TheOnlyMika 5744b17579 harden: restrict markdown link schemes; parse untrusted XML with defusedxml
Two small defensive-hardening changes:

- web/src/components/Markdown.tsx: render links only for http(s)/mailto
  schemes; other schemes (javascript:, data:, vbscript:) are dropped to
  plain text so a crafted link in rendered content can't execute on click.

- gateway/platforms/wecom_callback.py: parse the untrusted, pre-auth WeCom
  callback request body with defusedxml instead of xml.etree, blocking
  entity-expansion / billion-laughs (and XXE) on the parse path. defusedxml
  is already a dependency (uv.lock); response-building XML in
  wecom_crypto.py is unchanged (it is not parsed from untrusted input).

Verified: dashboard typechecks and builds; defusedxml blocks an
entity-expansion payload while valid WeCom envelopes still parse.
2026-05-25 23:30:43 -07:00
..
ui refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
AutoField.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
Backdrop.tsx fix(web): consume bundled design system assets (#26391) 2026-05-19 07:47:55 -04:00
BottomPickSheet.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
ChatSidebar.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
DeleteConfirmDialog.tsx feat: add sidebar 2026-04-24 00:56:19 -04:00
LanguageSwitcher.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
Markdown.tsx harden: restrict markdown link schemes; parse untrusted XML with defusedxml 2026-05-25 23:30:43 -07:00
ModelInfoCard.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
ModelPickerDialog.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
NouiTypography.tsx Merge upstream/main and address Copilot review feedback 2026-04-30 06:43:22 -04:00
OAuthLoginModal.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
OAuthProvidersCard.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
PlatformsCard.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
SidebarFooter.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
SidebarStatusStrip.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
SlashPopover.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
ThemeSwitcher.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00
Toast.tsx feat: dashboard OAuth provider management 2026-04-13 11:18:18 -07:00
ToolCall.tsx refactor(web): dashboard typography & contrast pass 2026-05-22 19:50:32 -07:00