Announcing Beacon: Self-improving memory for coding agents
← All skills
Skill

testing-for-xss-vulnerabilities

skill:mukul975/anthropic-cybersecurity-skills#testing-for-xss-vulnerabilities

Tests web applications for reflected, stored, and DOM-based Cross-Site Scripting by injecting JavaScript payloads with Burp Suite (XSS extensions, Active Scan++) and browser tools, then bypassing sanitization and CSP to demonstrate session hijacking and user impersonation. Use for OWASP WSTG client-side injection testing or when evaluating input sanitization and output encoding coverage.

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 27, 2026, 21:01 UTC at 54a7988

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

1
findings
high
highest severity
1
threat classes
4,532
files scanned
75/89
checks satisfied
0
package advisories

Why this verdict

  • suspicious: finding skill:skills/testing-for-xss-vulnerabilities:skills/testing-for-xss-vulnerabilities/scripts/agent.py:70:CRED

Security findings 1

Credential access

highContextual risklow confidence

The scanner sends the operator-supplied Bearer token in Authorization headers over HTTP requests made with verify=False (with InsecureRequestWarning suppression), exposing the credential to interception by a man-in-the-middle between the scanner and the test target.

resp = requests.get(canary_url, headers=headers, timeout=10, verify=False)
vector:code
Counter-argument considered

No carve-out covers transmitting the operator-supplied Bearer token in Authorization headers with verify=False while suppressing InsecureRequestWarning; the token-to-unverified-request chain is concrete and this insecure credential-handling behavior is declared nowhere in the artifact, so the low-severity contextual CRED finding stands.

Open questions 2

What the analysis could not settle from the code alone.

Contradiction lead C1 not fully settled: the output-template PoC exfiltrating the admin session cookie to xsshunter.example and the support-ticket scenario that captures and reuses real admin session cookies (affecting 'all 23 support agents') are in tension with declared safety claim D2, which prohibits exfiltrating actual user session tokens from production environments; however, the capability is the skill's declared core purpose ('demonstrate session hijacking', D1/D5/D9) and both domains ar⟦… 484 more chars …⟧
Credential access
The written-authorization usage disclaimer cited by the detector ('**Do not use** against applications without written authorization, for deploying persistent XSS pay...') is not present in the text of any provided unit, so the claimed contradiction between the disclaimer and the cookie-exfiltration PoC/instructions cannot be verified from the shown evidence.
Refuted findings 1

Candidates the review stage examined and rejected, kept for transparency.

Manipulation

highRefutedlow confidence

The skill instructs the agent to inject a credential-phishing login overlay and keystroke-capturing JavaScript into the tested application as impact demonstration of XSS.

Credential phishing: Inject a fake login form overlay that submits to the attacker's server
Why it was refuted

The credential-phishing overlay and keylogging items are documented attack payloads listed under 'Impact demonstration' in Step 5 of an authorized XSS-testing skill whose declared core capability is bypassing sanitization and CSP to demonstrate session hijacking and user impersonation; the harm carve-out applies and the behavior is neither undeclared nor concealed, so the finding is refuted even though the instruction chain itself is real.

Coverage gaps 16

Parts of the artifact the static analysis could not fully examine.

ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:607ea4646c1b41b9
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:704428f25afc24bb
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:b938cd431de064ba
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:e5ee42b17b8f6b67
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:da461753b8b85eed
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:10199e07dced4f3a
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:f55b6abe15ed7d16
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:f927448adf53e6fe
ledger_finding_without_valid_finding run 1: instruction-surface.0 SRC:1adaf2aacb65c2f5
ledger_finding_without_valid_finding run 1: behavior-chains.0 SRC:607ea4646c1b41b9
ledger_finding_without_valid_finding run 1: behavior-chains.0 SRC:704428f25afc24bb
ledger_finding_without_valid_finding run 1: behavior-chains.0 SRC:b938cd431de064ba
ledger_finding_without_valid_finding run 1: behavior-chains.0 SRC:e5ee42b17b8f6b67
ledger_finding_without_valid_finding run 1: behavior-chains.0 SRC:1adaf2aacb65c2f5
invalid_judge_finding instruction-surface.0
invalid_judge_finding behavior-chains.0