skillhash

Is eas-simulator safe?

Grade A, 96/100. No meaningful risk found.

Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud. Read before running any `eas simulator:*` commands - it has the current syntax for this experimental API. Use whenever the user needs a simulator they can't run locally - 'run my app on a cloud simulator', 'use eas simulator to run/install/screenshot my app', 'I'm on Linux/Cursor and need an iOS device', 'no sim on this box / headless CI', 'let an agent click through my app and screenshot it', 'test my dev build on a remote sim with live reload', 'stream a sim to my browser' - even when they don't say 'EAS Simulator' or 'cloud'. On a host WITHOUT a local simulator (Linux, CI, cloud sandbox) it's the default; on macOS, do NOT auto-trigger for a plain 'run on the simulator' - use it only for a cloud/remote/shareable sim, an iOS version they lack, or an agent-driven session. NOT for local sims (expo run:ios, Xcode, Android Studio), EAS Build/Update, web preview, or physical devices.

expo/skills/plugins/expo/skills/eas-simulator 2.9kChecked 5h agoContent last changed 5h ago
A

eas-simulator

plugins/expo/skills/eas-simulator
96/100 · No meaningful risk found2 low

Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud. Read before running any `eas simulator:*` commands - it has the current syntax for this experimental API. Use whenever the user needs a simulator they can't run locally - 'run my app on a cloud simulator', 'use eas simulator to run/install/screenshot my app', 'I'm on Linux/Cursor and need an iOS device', 'no sim on this box / headless CI', 'let an agent click through my app and screenshot it', 'test my dev build on a remote sim with live reload', 'stream a sim to my browser' - even when they don't say 'EAS Simulator' or 'cloud'. On a host WITHOUT a local simulator (Linux, CI, cloud sandbox) it's the default; on macOS, do NOT auto-trigger for a plain 'run on the simulator' - use it only for a cloud/remote/shareable sim, an iOS version they lack, or an agent-driven session. NOT for local sims (expo run:ios, Xcode, Android Studio), EAS Build/Update, web preview, or physical devices.

Content hash
sha256:03d03d90054126553aa0b1b99c2e07a73b711ce4ba96eb2aa817feda62f94bd1
Files
6
Quality
100/100

Security findings

  • lowUnpinned package installSL501 · plugins/expo/skills/eas-simulator/SKILL.md:35
    - Run from an Expo **project directory.** A fresh app needs one-time setup: `npx --yes eas-cli@latest init` to create/link the project (when there's no `projec…

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3).

  • lowHides actions from the userSL102 · plugins/expo/skills/eas-simulator/references/run-your-app.md:230
    **Carry authorization through the whole development loop.** When the user's existing authorization covers this project's EAS Simulator live development and req…

    The skill asks the agent to act without the user's knowledge. Fix: Every side effect should be visible to the user. Remove the concealment instruction. Severity lowered: the line reads as documentation, not an instruction.

  • infoUnpinned package installSL501 · plugins/expo/skills/eas-simulator/SKILL.md:6
    allowed-tools: "Bash(npx *eas-cli@*), Bash(npx *agent-device@*), Bash(npx expo *), Bash(eas *), Bash(expo *), Bash(xcodebuild*), Bash(pod*), Bash(argent *), Ba…

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3). Severity lowered: the line reads as documentation, not an instruction.

  • infoUnpinned package installSL501 · plugins/expo/skills/eas-simulator/references/controllers.md:107
    npm install -g @swmansion/argent

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3). Severity lowered: the line reads as documentation, not an instruction.

  • infoUnpinned package installSL501 · plugins/expo/skills/eas-simulator/references/run-your-app.md:76
    npx expo prebuild --platform ios # set ios.bundleIdentifier in app.json first to avoid prompts

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3). Severity lowered: the line reads as documentation, not an instruction.

  • infoUnpinned package installSL501 · plugins/expo/skills/eas-simulator/references/run-your-app.md:149
    - **Local (Mac):** `npx expo install expo-dev-client`; `npx expo prebuild --platform ios --clean` (set `ios.bundleIdentifier` first); `( cd ios && LANG=en_US.U…

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3). Severity lowered: the line reads as documentation, not an instruction.

  • infoUnpinned package installSL501 · plugins/expo/skills/eas-simulator/references/run-your-app.md:158
    EXPO_UNSTABLE_TUNNEL_V2=1 npx expo start --tunnel --port <your-free-port> # background it durably

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3). Severity lowered: the line reads as documentation, not an instruction.

  • infoUnpinned package installSL501 · plugins/expo/skills/eas-simulator/references/troubleshooting.md:13
    | `prebuild`/`eas build` prompts for or fails on a missing **iOS bundle identifier** | A fresh app often has no `ios.bundleIdentifier` | Set it in app config (…

    Installing without a version means a future malicious release lands automatically. Fix: Pin an exact version (pkg==1.2.3, pkg@1.2.3). Severity lowered: the line reads as documentation, not an instruction.

Files in this skill
  • SKILL.md26.1 KB
  • agents/openai.yaml426 B
  • references/controllers.md13.7 KB
  • references/logs-and-crashes.md7.6 KB
  • references/run-your-app.md21.6 KB
  • references/troubleshooting.md14.5 KB

Questions about eas-simulator

Is eas-simulator safe to install?
Our scanner gave eas-simulator grade A (96/100): no meaningful risk found. It matched 2 rule(s); review them below before installing. Static analysis cannot prove safety, so pin the reviewed revision with a lockfile.
How do I install eas-simulator in Claude Code or Codex?
Run skillhash add github:expo/skills/plugins/expo/skills/eas-simulator. It downloads the exact commit, checks the grade against your policy, writes skills.lock and installs it into .claude/skills and .agents/skills.
What happens if eas-simulator changes upstream?
Its content hash changes. skillhash verify fails in CI until you review the new version and update the lock. With a watch, you also get an alert.

More from expo/skills