数字宠物

Security checks across static analysis, malware telemetry, and agentic risk

Overview

This appears to be a coherent 3D digital pet skill, with a few ordinary but noticeable local-server, remote-library, and background desktop-widget behaviors.

This looks safe to try as a local digital pet. Before installing or running it, be aware that it loads Three.js from a CDN, starts a local web server that may be reachable on your network, and the desktop mode can keep running in the tray until explicitly quit.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If the remote library source is unavailable or compromised, the pet page could fail or run altered JavaScript in the page context.

Why it was flagged

The pet UI depends on a remote CDN-hosted JavaScript library. This is normal for a Three.js demo, but it means part of the code executed by the browser is fetched from a third party at runtime.

Skill content
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
Recommendation

Use on trusted networks, and prefer a locally bundled or integrity-pinned Three.js copy if you want stronger supply-chain control.

What this means

While the server is running, other devices on the same network may be able to request files served by this skill.

Why it was flagged

The local server adds a permissive CORS header and binds to all interfaces rather than only localhost. It appears intended to serve the pet locally, but the network exposure is broader than the displayed localhost URL suggests.

Skill content
self.send_header('Access-Control-Allow-Origin', '*') ... socketserver.TCPServer(("", PORT), MyHTTPRequestHandler)
Recommendation

Run the server only on trusted networks, stop it when finished, and consider changing the bind address to 127.0.0.1 and removing broad CORS if not needed.

What this means

The pet may keep running in the background and continue tracking cursor position for movement until the user quits it from the tray/menu.

Why it was flagged

The desktop pet is designed to stay on top, update frequently, follow the mouse, and hide instead of exiting when closed. This is consistent with a desktop pet, but it is persistent within the user session.

Skill content
Qt.WindowStaysOnTopHint | Qt.Tool ... self.timer.start(16) ... app.setQuitOnLastWindowClosed(False) ... def closeEvent(self, event): event.ignore(); self.hide()
Recommendation

Use the tray Quit option when finished, and be aware that closing or hiding the window may not stop the desktop pet process.