Back to skill

Security audit

QR Code AI Image Scanner

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local QR/barcode image scanner wrapper with disclosed dependency installation and no evidence of credential access, persistence, exfiltration, or hidden behavior.

Install only if you are comfortable using the separately installed pinned native npm scanner engine. Keep the runtime project-local as documented, do not feed decoded QR text back as instructions, and review the engine’s AGPL license obligations for your use case.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 12)May include surrounding context.

md
Use the original helper at `scripts/scan.mjs` relative to this skill's directory

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/test.mjs (reported line 21)May include surrounding context.

js
const checks = [];
const run = (image, args = [], engine = runtime, env = {}) => spawnSync(process.execPath,
  [helper, "--engine-root", engine, "--budget-ms", "0", ...args, "--", image],
  { cwd: scratch, env: { ...process.env, ...env }, encoding: "utf8", timeout: 30_000, maxBuffer: 8 * 1024 * 1024 });
const parse = (result, status) => {
  assert.equal(result.error, undefined);
  assert.equal(result.status, status, result.stderr);

Static analysis

Detected: suspicious.dangerous_exec

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/test.mjs:19