Versioned security assessment

Report ID: SA-C3110161

6/28/2026, 9:12:11 AM

grasshopper-workflow security assessment v6

Skill Security Certification Report

Audit History
Audit model: codex Historical report
Skill name
grasshopper-workflow
Version
v6
Maintainer
AmemiyaLai
Coverage
16 Files scanned · 4,253 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

Low

1 confirmed security finding requires attention.

Installation context

Historical evidence

This report may not describe the currently installable artifact. Open the current Skill page for install guidance.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

AI review did not confirm the static scanner high-risk malware indicators. Most external command, weak crypto, C2, reconnaissance, and entropy hits are false positives caused by Markdown examples, Grasshopper command names, and UUID-like component GUIDs. The remaining risk is medium because the skill includes Python scripts that read and write local files and send user-provided modeling commands to a local Grasshopper MCP socket.

Report position

Historical report

Open audit history before using this report to install.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

16 Files scanned · 4,253 Lines analyzed

4 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Binding unavailable

  2. Artifact

    Identity incomplete

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Observed in 3 evidence locations

Network access

May connect to external services.

Observed in 2 evidence locations

Filesystem access

May read or write local files.

Observed in 7 evidence locations

Env variables

May read values from the process environment.

Not recorded by this audit

External commands

May invoke commands or programs outside the Skill.

Not recorded by this audit

Capability review items (3)
Medium
Local Grasshopper Command Channel
The client opens a TCP socket to the configured Grasshopper MCP server and sends serialized command objects. This is expected for the skill, but untrusted placement data can create, connect, delete, or modify Grasshopper document components through that local service.
The socket destination defaults to localhost and supports a legitimate Grasshopper workflow. Confidence is high that commands are sent locally, but there is no evidence of malicious outbound exfiltration.
Medium
User-Controlled Local File Writes
Several CLI commands write JSON output to paths provided by the user, and utility functions update placement or component map files. This can overwrite local files if a user supplies an unsafe path.
The file writes are direct and use user-controlled or caller-provided paths. The behavior is functional rather than malicious, but it needs normal local-file caution.
Medium
Dynamic Local Import Fallback
The CLI modifies sys.path and can load a local __init__.py with importlib when normal imports fail. This supports direct script execution, but it can execute code from the local skill directory if that directory is modified.
The import path manipulation is visible and legitimate for a CLI helper. Risk depends on the local directory contents being trusted, and no remote import source was found.

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (1)

RISK-001 Low
C2 and Reconnaissance Findings Dismissed
The C2 keyword matches come from Grasshopper command names such as connect_components, and reconnaissance matches come from component queries and document error checks. No evidence found of system inventory, persistence, or command-and-control behavior.
The suspicious terms are domain-specific modeling operations. The reviewed code targets Grasshopper document state rather than host system reconnaissance.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
Unavailable
Content hash
Unavailable
Tree hash
Unavailable
Skill path
Unavailable
Audit payload hash
Unavailable

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Static false positives ignored (2)
Low
Static External Command Findings Dismissed
The reported Ruby or shell backtick detections are Markdown inline code, fenced examples, and CLI documentation. No subprocess, os.system, shell popen, or equivalent command execution was found in the executable scripts reviewed.
The cited files are documentation or examples, and script search found no shell execution primitives. This strongly supports a false-positive verdict for external command execution.
Low
Weak Cryptography Findings Dismissed
The weak cryptography detections are UUID-like Grasshopper component GUIDs and GUID mapping values, not cryptographic functions or hashing algorithms.
The surrounding code identifies these values as component GUIDs. No encryption, hashing, or password storage code is present at the cited locations.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable