Clipboard access only triggered by explicit user action
Why it matters
Clipboard content is among the most sensitive data on a user's device — it regularly contains passwords copied from password managers, 2FA codes, API keys, banking account numbers, and confidential text. An extension that reads the clipboard automatically, periodically, or on page load captures this data without any user signal that the action is happening. CWE-200 covers unauthorized data exposure; GDPR Art. 5(1)(c) requires collection to be limited to what is necessary and tied to a specific purpose. Chrome Web Store policy requires clipboardRead access to be justified by core functionality — background clipboard monitoring is explicitly prohibited.
Severity rationale
Medium because automatic clipboard access can silently capture passwords, 2FA codes, and API keys during routine use — the absence of a user trigger means collection happens without any awareness or opportunity to prevent it.
Remediation
Ensure all clipboard reads are initiated by an explicit user gesture. Attach the read to a button click or keyboard shortcut, never to load or interval events:
document.getElementById('pasteButton').addEventListener('click', async () => {
try {
const text = await navigator.clipboard.readText();
processText(text);
} catch (err) {
console.error('Clipboard read failed:', err);
}
});
// NEVER do this:
// setInterval(() => navigator.clipboard.readText().then(log), 30000);
// window.addEventListener('load', () => navigator.clipboard.readText()...);
If you need to monitor clipboard for a specific feature, surface a dedicated UI control that the user must actively engage with each time.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Extension Data Privacy Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- cwe · CWE-200 — Exposure of Sensitive Information to an Unauthorized Actor
- gdpr · Art. 5(1)(c) — Data minimisation
- external · chrome-web-store-user-data-policy — Chrome Web Store User Data Privacy Policy — Clipboard access must be user-initiated
Taxons
History
- 2026-04-18·v1.0.0·Initial import from extension-data-privacy·automated