Back to skill

Security audit

Keyapi Instagram

Security checks across malware telemetry and agentic risk

Overview

This is a coherent KeyAPI Instagram integration that makes disclosed live API calls and stores a local API token, with manageable privacy and credential-handling cautions.

Install only if you are comfortable sending Instagram usernames, URLs, IDs, comments, likes, follower/following data, locations, and similar query targets to KeyAPI for live API requests. Run setup only in a private terminal, avoid passing the token on the command line, and review or remove the managed KEYAPI_TOKEN block in your shell profile if you uninstall or rotate credentials.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

Low
Confidence
89% confidence
Finding
The rules explicitly support fetching followers, following, related profiles, and similar users, but they do not include a user-facing warning that these actions retrieve audience relationship data. This creates a privacy/transparency gap: users may trigger collection of social graph information without clear notice, which can lead to unexpected exposure or misuse of personal relationship data.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The scenario file explicitly instructs the agent that 'API calls are live by default' and to execute against an external KeyAPI service, but it does not require a clear user-facing warning or consent step before transmitting Instagram usernames, user IDs, post URLs, follower graphs, comments, or other social/content data. This can cause unintended disclosure of personal or sensitive identifiers to a third-party service and may lead users to believe the analysis is local or documentation-only when it is not.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The script collects KEYAPI_TOKEN using readline.question(), which displays typed input in the terminal. That can expose the token to shoulder-surfing, screen recording, terminal logging, or shared-session observation, especially because the prompt does not warn the user that entry is visible.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The script persists KEYAPI_TOKEN into the user's shell profile, causing the secret to be stored long-term in plaintext in files like .bashrc, .zshrc, .profile, or PowerShell profiles. This increases exposure to local compromise, accidental disclosure through backups/dotfile syncing, and unintended propagation to child processes, while the script does not clearly disclose those persistence and exposure tradeoffs before writing.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.env_credential_access, suspicious.secret_argv_exposure

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/keyapi-api.mjs:127

Instructions pass high-value credentials through process argv.

Critical
Code
suspicious.secret_argv_exposure
Location
references/setup-and-auth.md:42