T09 · Insecure Skill Coding Practices
- Location
scripts/punchclock.mjs:9- Finding
Credentials May Be Disclosed Through a Plaintext HTTP Login Flow
- Content
View full analysis
null), page.locator('input[name="inpLogin"]').click() ]); ``` The same insecure endpoint is also documented in `references/PUNCHCLOCK_RUNBOOK.md:21-22`: ```markdown ## Site - Login URL: http://www.wpstime.com/NetTime/Login.asp ``` ### Technical Analysis The automation begins at an unencrypted HTTP URL and subsequently fills the page with the company identifier, username, and password retrieved from macOS Keychain. The script does not require HTTPS and does not verify the final URL, protocol, hostname, or certificate-backed origin before entering credentials. Even if the legitimate server normally redirects HTTP requests to HTTPS, the initial HTTP request is not authenticated. An attacker capable of intercepting or modifying network traffic can suppress the redirect and return a counterfeit page containing the expected input selectors. Playwright would then fill Keychain credentials into that attacker-controlled page. This is an insecure transport and origin-validation flaw involving sensitive authentication data. ### Attack Path 1. A victim invokes the punch-clock status or time-punch workflow. 2. The script retrieves the victim's company ID, username, and password from macOS Keychain. 3. Pl ...[truncated 1141 chars]- Remediation
View remediation
