Back to skill

Security audit

HTTP Header Analyzer

Security checks for vulnerabilities and agentic risk

Overview

This skill is a user-directed HTTP header scanner, but it disables TLS certificate checks and overstates its TLS security analysis, so results could be misleading.

Review before installing or relying on this skill. It appears to be a straightforward scanner with no persistence or credential behavior, but HTTPS scans are performed without certificate validation and the TLS analysis is weaker than advertised. Treat its results as advisory only unless the implementation is changed to verify certificates by default and clearly mark any intentionally insecure scans.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/analyze-headers.py:81
Finding

TLS Certificate and Hostname Verification Disabled

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill advertises and demonstrates network and shell-capable behavior by invoking a Python script that makes outbound HTTP/TLS requests, but it does not declare any explicit tool scope such as permissions or allowed-tools. This creates a trust and containment gap: an agent or platform may permit broader execution than intended, and users are not clearly informed that the skill can perform network access against arbitrary targets.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The docstring says the tool checks 'security headers and TLS config', but the TLS path only fetches basic connection metadata such as protocol, selected cipher, certificate subject/issuer, and expiry. There is no evaluation logic for weak ciphers, insecure protocol versions, certificate trust, or TLS misconfiguration, so the documentation overstates what the code does.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

Outbound HTTPS requests are made with certificate validation disabled via verify=False. This makes the analyzer trust responses from attackers performing man-in-the-middle interception, which can produce false header-analysis results and mislead users about the target's real security posture.

Content

No source excerpt is available for this finding.

Unsafe Defaults

Medium
Category
Tool Misuse
Confidence
99% confidence
Finding

Using verify=False creates an unsafe default for all HTTPS scans. In the context of a security-analysis skill, this is more dangerous because users rely on the tool for trustworthy results, and disabling verification can silently invalidate the assessment under hostile network conditions.

Content

Scanner excerpt · scripts/analyze-headers.py (reported line 86)May include surrounding context.

python
def fetch_headers(url, timeout=10, follow=True, user_agent=None):
    headers = {"User-Agent": user_agent or "Mozilla/5.0 Security Header Analyzer"}
    if HAS_REQUESTS:
        resp = requests.get(url, timeout=timeout, allow_redirects=follow, headers=headers, verify=False)
        return dict(resp.headers), resp.status_code
    else:
        import urllib.request

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The urllib fallback disables both hostname checking and certificate validation, accepting any certificate for HTTPS connections. An active network attacker can spoof the destination and feed arbitrary headers or responses to the tool, undermining the integrity of its security assessment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The TLS inspection path disables certificate and hostname verification before collecting protocol, cipher, and certificate metadata. This allows a man-in-the-middle to present a bogus certificate and TLS session, causing the tool to report attacker-controlled TLS characteristics instead of the real server's configuration.

Content

No source excerpt is available for this finding.