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)

Undeclared Tool Scope

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.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.