Back to skill

Security audit

Skynet Score

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward CertiK Skynet score lookup helper that discloses its API use and local script execution.

Before installing, confirm you are comfortable with the agent running the bundled Python script and sending project search keywords to CertiK's public API. The skill does not request credentials or persistent access.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill explicitly instructs use of outbound network access to a third-party API and execution of a bundled Python script, but it does not declare any tool scope such as permissions or allowed-tools. In agent runtimes that rely on manifest-scoped permissions, this can lead to overbroad tool availability, unclear trust boundaries, and accidental execution with more capabilities than the skill actually needs.

Vague Triggers

Low
Confidence
84% confidence
Finding
The manifest description says to trigger when the user asks for a project score, tier, score factors, updated time, or how to query Skynet scores by keyword, but it does not clearly limit invocation to CertiK/Skynet-specific requests. Terms like 'project score' and 'tier' are broad enough to overlap with unrelated user requests, which could cause unintended activation.

Intent-Code Divergence

Low
Confidence
78% confidence
Finding
The top-level docstring describes the skill as simply calling the API and returning raw JSON. However, the implementation catches HTTP and network failures, wraps them in SkynetScoreError, and main() emits a synthesized JSON object with ok/error/hint fields, which is not raw API output. This is an intent/documentation mismatch, though limited in impact.

Natural-Language Policy Violations

Low
Confidence
95% confidence
Finding
The code hard-codes an "Accept-Language: en-US,en;q=0.9" header, which imposes a specific language/locale preference on outbound requests. This is a natural-language policy concern because the skill does not offer user opt-in or explain why English is required.

Static analysis

No suspicious patterns detected.