Files
openclaw/extensions/synology-chat/src/security-audit.ts
2026-06-04 21:02:07 -04:00

30 lines
1.2 KiB
TypeScript

// Synology Chat plugin module implements security audit behavior.
import type { ResolvedSynologyChatAccount } from "./types.js";
export function collectSynologyChatSecurityAuditFindings(params: {
accountId?: string | null;
account: ResolvedSynologyChatAccount;
orderedAccountIds: string[];
hasExplicitAccountPath: boolean;
}) {
if (!params.account.dangerouslyAllowNameMatching) {
return [];
}
const accountId = params.accountId?.trim() || params.account.accountId || "default";
const accountNote =
params.orderedAccountIds.length > 1 || params.hasExplicitAccountPath
? ` (account: ${accountId})`
: "";
return [
{
checkId: "channels.synology-chat.reply.dangerous_name_matching_enabled",
severity: "info" as const,
title: `Synology Chat dangerous name matching is enabled${accountNote}`,
detail:
"dangerouslyAllowNameMatching=true re-enables mutable username/nickname matching for reply delivery. This is a break-glass compatibility mode, not a hardened default.",
remediation:
"Prefer stable numeric Synology Chat user IDs for reply delivery, then disable dangerouslyAllowNameMatching.",
},
];
}