Back to skill

Security audit

Instagram Analyzer Wulongcha

Security checks across malware telemetry and agentic risk

Overview

This appears to be a real Instagram analytics scraper, but its stealth automation, rate-limit workaround guidance, credential mention, and saved scraped data warrant careful review before installing.

Install only if you are comfortable running an Instagram scraping tool. Use it only for accounts or content you are authorized to analyze, avoid using multiple accounts to bypass limits, do not store valuable Instagram credentials in shared files, and run it in an isolated environment with pinned dependencies and a plan to delete generated data files.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
Findings (11)

Vague Triggers

Medium
Confidence
89% confidence
Finding
The manifest description is broadly worded enough to trigger on generic Instagram-related requests, which can cause the skill to activate outside a narrowly intended scope. In this context, that increases the chance of unnecessary scraping or collection of social-media data when a user may have only asked for general advice or analysis, making unintended data handling more likely.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation explicitly describes storing scraped profile/post data to local files and configuring Instagram credentials in .env, but it does not provide a clear warning about sensitive data handling, retention, access controls, or credential protection. Because the skill also uses browser automation, stealth mode, and potentially multiple accounts, the lack of safeguards materially raises the risk of credential leakage, unauthorized collection, or accidental exposure of scraped personal data.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script performs live network scraping of Instagram content and silently stores extracted profile/post analytics to disk, but it does not present any explicit notice or consent prompt to the user about outbound requests or local data retention. In an agent-skill context, hidden network access and undisclosed persistence are risky because users may invoke analysis assuming a local-only operation, while the tool contacts third-party services and creates lasting artifacts containing scraped data.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The profile-analysis path writes full analysis results and a separate file of reel URLs to local storage without an explicit warning that files will be created. In shared or automated environments, this can leave behind sensitive or unexpected artifacts, expose collected data to other local users/processes, and violate user expectations about ephemeral execution.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Instagram Analyzer Dependencies
playwright>=1.40.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
requests>=2.31.0
Confidence
95% confidence
Finding
The dependency is specified with a lower-bound range rather than an exact version, which makes builds non-reproducible and can unexpectedly pull in newer releases with breaking changes or newly introduced vulnerabilities. While this is common and often not malicious, it increases supply-chain risk because the resolved package version can vary over time and across environments.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Instagram Analyzer Dependencies
playwright>=1.40.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
requests>=2.31.0
python-dateutil>=2.8.0
Confidence
95% confidence
Finding
Using `beautifulsoup4>=4.12.0` allows any future version to be installed, reducing build determinism and increasing exposure to upstream supply-chain issues. This is typically a hygiene problem rather than an immediate exploit, but it can cause security regressions if a compromised or vulnerable release is later resolved.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Instagram Analyzer Dependencies
playwright>=1.40.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
requests>=2.31.0
python-dateutil>=2.8.0
Confidence
98% confidence
Finding
`lxml>=4.9.0` is unpinned, so the environment may install different versions over time, including versions affected by published vulnerabilities. In this case the risk is elevated because `lxml` has a history of security advisories, so loose versioning can make it easier to deploy a vulnerable release unintentionally.

Unpinned Dependencies

Low
Category
Supply Chain
Content
playwright>=1.40.0
beautifulsoup4>=4.12.0
lxml>=4.9.0
requests>=2.31.0
python-dateutil>=2.8.0
Confidence
98% confidence
Finding
`requests>=2.31.0` permits installation of any later version, making dependency resolution unpredictable and increasing supply-chain exposure. Because `requests` has multiple disclosed security issues across versions, leaving it unpinned can result in inconsistent or vulnerable deployments if version selection is not tightly controlled.

Unpinned Dependencies

Low
Category
Supply Chain
Content
beautifulsoup4>=4.12.0
lxml>=4.9.0
requests>=2.31.0
python-dateutil>=2.8.0
Confidence
94% confidence
Finding
`python-dateutil>=2.8.0` is not version-pinned, so dependency resolution can drift over time and reduce reproducibility. This is primarily a supply-chain hygiene issue that can indirectly introduce vulnerabilities or compatibility problems through unreviewed upstream changes.

Known Vulnerable Dependency: lxml — 10 advisory(ies): CVE-2021-43818 (lxml's HTML Cleaner allows crafted and SVG embedded scripts to pass through); CVE-2014-3146 (lxml Cross-site Scripting Via Control Characters); CVE-2021-28957 (lxml vulnerable to Cross-Site Scripting ) +7 more

High
Category
Supply Chain
Confidence
79% confidence
Finding
The file declares `lxml` without pinning to a known patched release, and static analysis indicates that the package family has multiple published advisories. A `requirements.txt` entry alone does not prove the installed version is exploitable, but the loose constraint can allow vulnerable versions to be resolved, especially in environments that do not use a lockfile.

Known Vulnerable Dependency: requests — 10 advisory(ies): CVE-2014-1830 (Exposure of Sensitive Information to an Unauthorized Actor in Requests); CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi) +7 more

High
Category
Supply Chain
Confidence
77% confidence
Finding
The declared `requests` dependency is not pinned to a specifically patched version, and the package has multiple known advisories across releases. Whether the application is actually exposed depends on the resolved version and how `requests` is used, but the current declaration makes accidental installation of an affected version more likely.

VirusTotal

67/67 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.