Agent skill · Audited from source
argent-vega
skill · software-mansion/argentApache-2.0 licenceAudited 31 Oct 2026 · source 6edcfbfd9030
Is it safe? No — BLOCK, grade F (23/100). We read this skill's source at commit 6edcfbfd9030 and observed filesystem, network and shell access and a hard-coded secret (see the findings). The audit raised 25 findings, 6 critical or high. What it does: Set up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an emulator, getting a device serial, or before any UI interaction task.
Cite
Cite this page
ModelsAtlas. “argent-vega (software-mansion/argent)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/software-mansion/argent-vega
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 6 critical or high findings, starting with “Code injection” in packages/argent-installer/src/init-stale-config.ts:20. Do not install it without reading them.
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade F is shared by 114 of 17,602 audited skills.
What the source does
- FilesystemDeclared2 observations
- NetworkDeclared6 observations
- ShellDeclared5 observations
- DependenciesNot pinnedSome versions float
- SecretsFoundSee the findings; values are never shown
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | WARN | 5 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | FAIL | 17 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 3 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: instruction override, no behavioural pass.
Findings (25)
HIGHCode injectioncode.eval_exec · packages/argent-installer/src/init-stale-config.ts:20
exec(): boolean;
- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
HIGHCode injectioncode.eval_exec · packages/update-core/src/min-release-age.ts:49
exec(p.command, { timeout: PROBE_TIMEOUT_MS, windowsHide: true }, (err, stdout) => {- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
HIGHNetwork egressnet.tls_off · packages/argent-tools-client/src/tools-client.ts:427
`NODE_TLS_REJECT_UNAUTHORIZED=0 turns off the certificate check of ${url}. Unset it, and ` +- Why
- certificate verification is disabled
- Fix
- leave verification on
HIGHPrompt injectionprompt.credential_read · packages/skills/skills/argent-device-interact/SKILL.md:182
Where the value is read from, and the rules for using a placeholder (including not screenshotting the field afterwards) are in `references/secrets.md`. Read it before typing any credential.
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.override · packages/docs/docs/features/physical-ios-devices.mdx:15
- Developer Mode enabled on the device: Settings > Privacy & Security > Developer Mode.
- Why
- asks the agent to drop prior instructions or safety
- Fix
- remove the instruction
HIGHPrompt injectionprompt.override · packages/ios-device-runner/README.md:77
the `xcodebuild` command line. The device needs Developer Mode enabled
- Why
- asks the agent to drop prior instructions or safety
- Fix
- remove the instruction
MEDIUMInventory / provenanceinv.binary · packages/tool-server/src/utils/ios-profiler/Argent.tracetemplate
Argent.tracetemplate
- Why
- a compiled or binary member cannot be reviewed from source
- Fix
- ship source, or explain the binary in the README
MEDIUMInformation disclosuredisclose.log_secret · packages/argent-cli/src/secrets.ts:74
console.log(`Secrets available to \`{{secret:<NAME>}}\` on this machine:\n`);- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMInformation disclosuredisclose.log_secret · packages/argent-cli/src/server.ts:242
console.log(` argent link ${formatLinkUrl({ host: connectHost, port, token })}`);- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMInformation disclosuredisclose.log_secret · packages/argent-cli/src/server.ts:246
console.log(` (or: ${flagsForm})${token ? "" : "…"}`);- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMObfuscation / stealthobf.base64_blob · packages/tool-server/src/tools/screen-recording/watermark-asset.ts:10
"iVBORw0KGgoAAAANSUhEUgAAA4QAAAEVCAYAAAC46yv0AAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOydd7xkRbX916qGIcwQBAaQDEPOacgqIgoCgxJEQRiCCuJ7CCoIzwQYfoIYAJ8BFAUERYLwAEUBMcCoMAwZiUMSkJwGJMycWr8/ui709D23Y1Wf7tP7+/n
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMObfuscation / stealthobf.zero_width · packages/argent-installer/src/utils.ts:336
fs.writeFileSync(filePath, (hadBom ? "" : "") + out);
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · packages/docs/docusaurus.config.js:141
apiKey: "…",
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · packages/registry/tests/describe-param-issues.test.ts:31
const value = { token: "…" };- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · packages/tool-server/test/interaction-messages.test.ts:333
const secret = "…";
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInventory / provenanceinv.suspicious_name · packages/argent-cli/test/run-flow-add-step-payload.test.ts
run-flow-add-step-payload.test.ts
- Why
- member named after an attack tool
- Fix
- remove or justify
LOWCode injectioncode.eval_exec · packages/argent/test/esm-bundle-banner.test.ts:38
return (eval(`(${m[1]})`) as { js: string }).js;- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
LOWCode injectioncode.eval_exec · packages/tool-server/test/device-shutdown.test.ts:84
it("chromium / vega -> no exec (nothing to shut down)", async () => {- Why
- evaluates text as code
- Fix
- remove; use a parser or a dispatch table
LOWInsecure cryptocrypto.weak_hash · packages/argent-tools-client/src/artifacts.ts:121
const hash = createHash("sha1").update(cwd).digest("hex").slice(0, 6);- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInformation disclosuredisclose.log_secret · packages/tool-server/test/flows/script/flow-script-logs.test.ts:365
const script = ws.write("…", `console.log("…" + process.env.API_KEY);`);- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInformation disclosuredisclose.log_secret · packages/tool-server/test/flows/script/flow-script-logs.test.ts:469
const script = ws.write("…", `console.log("…");`);- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.credential_store · packages/telemetry/test/crash-diagnostics.test.ts:159
const err = errorWithStack("secret /Users/alice/id_rsa", [- Why
- touches a credential store
- Fix
- —
Audit 0.4.1 · source sha 6edcfbfd9030 · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishersoftware-mansion GitHub organizationOwner of the repository this skill is read from
- Source foldersoftware-mansion/argentThe exact folder we audited
- LicenceApache-2.0As the repository states it
- Commit pinned for this verdict6edcfbfd9030A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Set up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an emulator, getting a device serial, or before any UI interaction task.
--- name: argent-android-emulator-setup description: Set up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an emulator, getting a device serial, or before any UI interaction task. --- ## 1. Prerequisites - **Android SDK Platform Tools** on PATH: provides `adb`. - **Android Emulator** on PATH: needed to boot AVDs. If you will only use an already-running emulator or a physical device, adb alone is sufficient. - An AVD created via Android Studio or `avdmanager create avd`. Verify with `adb version` and `emulator -list-avds`. ## 2. Setup 1. **Find a ready device**: call `list-devices`. Filter for entries with `platform: "android"`. Ready devices (`state: "device"`) come first. Pick the first `serial` (e.g. `emulator-5554`) unless the user specified one. If the result has a `hint` about the adb server, prefix every `adb` command that you run yourself, as the hint shows. 2. **Boot if needed**: if nothing Android is ready, call `boot-device` with `avdName: <name>` from the same call's `avds` list. The tool transparently picks hot vs cold boot: it probes the AVD's `default_boot` snapshot, restores it under a tight deadline when usable, and falls back to a full cold boot otherwise. Hot path is typically ~30s; cold path takes 2–10 min. On any stage failure the tool kills the emulator process it started so your next call starts from a clean state. 3. **Metro (for React Native)**: once a device is up, run `adb -s <serial> reverse tcp:8081 tcp:8081` so the device can reach Metro on your host. Repeat if the device restarts. ## 3. Using the device Pass the Android serial as `udid` to the unified interaction tools: `gesture-tap`, `gesture-swipe`, `describe`, `screenshot`, `launch-app`, `keyboard`, etc. Dispatch is automatic based on the id shape. See `argent-device-interact` for platform-neutral interaction tooling and the Android-specific gotchas section at the bottom of that skill. ## 4. Notes - **Android TV / leanback AVDs** boot through this exact flow (same `boot-device` + `avdName`), but they are **focus-driven, not touch-driven**; do not use `gesture-tap`/`gesture-swipe` on them. `list-devices` tags a leanback device with `runtimeKind: "tv"` (detected via the system feature list, not the serial: a TV AVD's serial looks just like a phone's). When you see `runtimeKind: "tv"`, drive it with the focus-driven tools (`describe` / `tv-remote` / `keyboard`) and the `argent-tv-interact` skill (it covers Android TV as well as Apple TV, including the full TV setup flow). - Serials are the adb device id. iOS UDIDs and Android serials are not interchangeable, but you do NOT need to tell the tools which platform: dispatch is automatic. - `describe` on Android returns a shallower tree than iOS (no accessibility-service equivalent), but covers most tap-target discovery. - `reinstall-app` on Android always installs with `-g` so first-launch runtime permissions are pre-granted. - To stop the emulator, run `adb -s <serial> emu kill` from a shell (clean shutdown). Never `pkill -9`/`kill -9` qemu: a hard kill leaves the userdata image dirty, after which cold boots can hang for many minutes doing recovery (runaway writes, `boot_completed` never flips). If an image gets into that state, boot once with `-wipe-data` to reset it.
Excerpt, first 3,327 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 6edcfbf
git clone https://github.com/software-mansion/argent.git npm install npm install -g @swmansion/argent npm install -g ./swmansion-argent-0.31.0.tgz
git clone https://github.com/software-mansion/argent git -C argent checkout 6edcfbfd9030
Commands as the repository documents them: shown, never run by us. Our verdict covers commit 6edcfbfd9030 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
| Gemini CLI | Mentioned in its text, not tested | Skills for Gemini CLI · About Gemini CLI |
| Windsurf | Mentioned in its text, not tested | Skills for Windsurf · About Windsurf |
Audit history
Every audit, every source change
- ✕BLOCK F 23 / 100
first audit · source
6edcfbfd9030
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/software-mansion/argent-vega/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
All coding & review skills →software-mansion/argent
Control and inspect TV apps via argent, Apple TV (tvOS), Android TV (leanback), and Amazon Fire TV (Vega). Boot the target, read focus, navigate with the D-pad remote, type, screenshot, and on Vega debug the JS runtime…
software-mansion/argent
Grant, deny, or reset an app's runtime permissions (camera, microphone, photos, contacts, notifications, calendar, location, location-always, media-library, motion, reminders) on an iOS simulator or Android device using…
software-mansion/argent
Compare saved or live app screenshots with the argent screenshot-diff tool. Use when testing visual regressions, before/after UI comparisons, screenshot diff checks, visible layout, spacing, color, typography, clipping,…
software-mansion/argent
Record a video of an iOS simulator or Android emulator/device screen using argent MCP tools. Use when the user asks to record the screen, capture a video of a flow, interaction, or animation, produce a screen recording,…
software-mansion/argent
Optimizes a React Native app by profiling first to find real bottlenecks, then sweeping for mechanical issues. Entry-point for all performance work. Use when the app feels slow, user asks to optimize, fix re-renders,…
software-mansion/argent
Profile a React Native Hermes app to measure re-render and CPU performance using argent profiler tools. Use when optimizing for performance, measuring before/after a fix, spotting slow components, diagnosing re-renders,…
Add this badge to your README
[](https://modelsatlas.com/skills/software-mansion/argent-vega/)
<a href="https://modelsatlas.com/skills/software-mansion/argent-vega/"><img src="https://modelsatlas.com/skills/software-mansion/argent-vega/badge.svg" alt="ModelsAtlas: BLOCK F"></a>
Questions about argent-vega
What does the argent-vega skill do?
Is argent-vega safe to install?
What can argent-vega access on my machine?
Which assistants does argent-vega work with?
How current is this page?
Sources
- github.com/software-mansion/argent — the audited source at commit 6edcfbfd9030 and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the argent-vega skill do?
- Is argent-vega safe to install?
- What can argent-vega access on my machine?