The skill intentionally runs ScreenCI commands and uploads browser recordings to an external service. Most shell findings are Markdown or API references, but actual npm and npx commands, command-line secret handling, and upload behavior are confirmed risks. The unmatched prompt-wrapper closing tags and the instruction to upload without confirmation add high-confidence semantic concerns.
- If the user already has a `SCREENCI_SECRET` from an existing account, pass it as init's first posi
The instruction passes SCREENCI_SECRET as an initializer argument before writing it to screenci/.env. Command-line arguments can expose the shared credential through shell history or process inspection.
Use `screenci record` to capture ScreenCI videos from `.screenci.ts` scripts.
The command captures browser activity, and the same workflow uploads every successful recording. Screen content can include sensitive application data.
The final command starts ScreenCI recording, whose documented runtime behavior includes upload. This creates a direct external disclosure risk for captured content.
The skill says, "Do not stop and ask the user to record. It uploads immediately." This bypasses confirmation before browser content leaves the device.
The instruction explicitly requires immediate upload and discourages pausing for user action. The behavior can disclose authenticated pages or private data.
The file ends with unmatched "</content>" and "</invoke>" tags. These tags can terminate prompt wrappers and alter how following instructions are interpreted.
The closing tags have no matching opening tags or ScreenCI purpose. Their wrapper-like names strongly indicate an attempted prompt-boundary escape.
Capability review items (4)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
1. **Pass it to init:** `npm init screenci@latest <SCREENCI_SECRET> -- --yes` writes it into `screen
The line instructs execution of npm init screenci@latest with a secret argument. It runs external package code while exposing a credential on the command line.
The fenced block contains npx screenci test and record commands. These commands execute an external package and can start browser automation or upload.
The audit confirms real external command, secret-handling, and screen-recording upload risks in the ScreenCI workflow. Most Ruby backtick detections are Markdown false positives, but record commands upload captured screens and SCREENCI_SECRET is written to screenci/.env. SKILL.md also contains suspicious XML-like closing tags that should be removed.
- If the user already has a `SCREENCI_SECRET` from an existing account, pass it as init's first posi
SCREENCI_SECRET is an organization upload credential and the instruction passes it into project setup. Handling that secret in commands and env files is a real sensitive-data risk.
npx screenci record # capture the final recording and upload
The command comment says npx screenci record captures the final recording and uploads it. This can send captured application screens to an external ScreenCI service.
Use `screenci record` to capture ScreenCI videos from `.screenci.ts` scripts.
The file defines screenci record as the way to capture ScreenCI videos, and the same workflow documents upload behavior. Screen capture of app flows can include private data.
The command captures the final recording, and the record documentation states successful recordings upload. This is a real screen-capture upload workflow.
1. **Pass it to init:** `npm init screenci@latest <SCREENCI_SECRET> -- --yes` writes it into `screen
The line passes SCREENCI_SECRET to an npm init command and writes it into screenci/.env. Passing secrets on command lines and storing them locally is sensitive.
2. **Secrets page:** ask the user to copy `SCREENCI_SECRET` from their secrets page into `screenci/.
The line asks for SCREENCI_SECRET from a secrets page and stores it in screenci/.env. This is real credential handling, even if it supports a normal product workflow.
SKILL.md ends with XML-like closing text "</content>" and "</invoke>" after the task reference. These tags could try to close prompt wrappers and change how the skill is interpreted.
The exact closing tags appear in the skill file and are not normal Markdown instructions. There is no explicit override command, so confidence is high but not absolute.
The skill instructs the agent to run npx screenci record itself and states that it uploads immediately. This can send captured application screens to ScreenCI without a separate final confirmation.
The file directly says to run record yourself and that it uploads immediately. The record reference independently states successful recordings upload and return a ScreenCI URL.
Capability review items (13)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
1. **Pass it to init:** `npm init screenci@latest <SCREENCI_SECRET> -- --yes` writes it into `screen
The line instructs running npm init screenci@latest with SCREENCI_SECRET as an argument. This executes an npm package while placing a credential into a project env file.
3. Run `npx screenci record` yourself once tests pass. Do not stop and ask the user to record. It up
The line instructs the agent to run npx screenci record itself and notes it uploads immediately. This combines external command execution with third-party screen capture upload.
- If the user already has a `SCREENCI_SECRET` from an existing account, pass it as init's first posi
The instruction writes SCREENCI_SECRET into screenci/.env through the init flow. That is intentional env-file handling and can expose a credential if copied, logged, or committed.
The Bash block includes npx screenci test and npx screenci record. These commands execute local or npm-provided code, and record can upload the generated capture.
`record` needs no account: without a `SCREENCI_SECRET` it uploads under a local, anonymous trial ses
The line describes the record command uploading under an anonymous trial session. That confirms the external command has network upload behavior even without an account.
`screenci init` (or `npm init screenci`) scaffolds a new project and fails on purpose if one already
The line documents screenci init and npm init screenci commands that scaffold project files. It is a legitimate workflow, but it still represents local external command execution.
2. **Secrets page:** ask the user to copy `SCREENCI_SECRET` from their secrets page into `screenci/.
The instruction asks the user to copy SCREENCI_SECRET into screenci/.env. That is intentional sensitive env-file storage and needs consent and gitignore protection.
5. Report the URL `record` printed (starts with the app's domain, e.g. `https://app.screenci.com/rec
The hardcoded app.screenci.com URL is an expected result link, not hidden code. It still confirms that recordings are handled by an external ScreenCI web service.
The review confirmed real risk around automated ScreenCI recording, cloud upload, and handling of SCREENCI_SECRET in local environment files. Most Ruby shell backtick findings are Markdown inline-code false positives, but the documented npm and npx commands are real external command execution. No prompt injection attempt was found in the reviewed files.
- If the user already has a `SCREENCI_SECRET` from an existing account, pass it as init's first posi
The referenced text handles SCREENCI_SECRET and stores or copies it into screenci/.env. Account organization secrets are sensitive credentials, so this is a real security concern even when user-authorized.
npx screenci record # capture the final recording and upload
The command is documented as capturing the final recording and uploading it. Screen recordings can contain private browser content, so automatic upload to an external service is a real high-risk behavior.
To upload straight to an existing organization instead, get `SCREENCI_SECRET` into `screenci/.env` b
The referenced text handles SCREENCI_SECRET and stores or copies it into screenci/.env. Account organization secrets are sensitive credentials, so this is a real security concern even when user-authorized.
- Or ask the user to copy `SCREENCI_SECRET` from their secrets page into `screenci/.env`. The org se
The referenced text handles SCREENCI_SECRET and stores or copies it into screenci/.env. Account organization secrets are sensitive credentials, so this is a real security concern even when user-authorized.
Use `screenci record` to capture ScreenCI videos from `.screenci.ts` scripts.
This file defines the record command as capturing ScreenCI videos, and nearby runtime behavior states successful recordings upload. The finding reflects a real screen-capture workflow with external upload risk.
The workflow instructs running npx screenci record to capture the final recording. The same reference states record uploads successful recordings, so this is a real privacy and data exposure risk.
To upload straight to an existing organization, get `SCREENCI_SECRET` into `screenci/.env` before th
The referenced text handles SCREENCI_SECRET and stores or copies it into screenci/.env. Account organization secrets are sensitive credentials, so this is a real security concern even when user-authorized.
1. **Pass it to init:** `npm init screenci@latest <SCREENCI_SECRET> -- --yes` writes it into `screen
The referenced text handles SCREENCI_SECRET and stores or copies it into screenci/.env. Account organization secrets are sensitive credentials, so this is a real security concern even when user-authorized.
2. **Secrets page:** ask the user to copy `SCREENCI_SECRET` from their secrets page into `screenci/.
The referenced text handles SCREENCI_SECRET and stores or copies it into screenci/.env. Account organization secrets are sensitive credentials, so this is a real security concern even when user-authorized.
Autonomous Screen Recording Upload Without Confirmation
The skill tells the agent to run npx screenci record itself and says the command uploads immediately with or without SCREENCI_SECRET. This can send captured browser content to ScreenCI before a user reviews the final recording.
The reviewed files explicitly say record uploads every successful recording and instruct the agent not to ask the user to run it. That makes the privacy risk clear and intentional, not a scanner artifact.
Capability review items (10)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
The fenced command block instructs running npx screenci test and npx screenci record. These are real external CLI executions, and record can upload captured browser content.
1. **Pass it to init:** `npm init screenci@latest <SCREENCI_SECRET> -- --yes` writes it into `screen
The cited command runs npm init screenci with SCREENCI_SECRET as an argument and writes it into screenci/.env. This is real package command execution and can expose the secret through command history or process arguments.
3. Run `npx screenci record` yourself once tests pass. Do not stop and ask the user to record. It up
The workflow instructs the agent to run npx screenci record itself and states it uploads immediately. This combines external command execution with cloud upload of captured screen content.
- If the user already has a `SCREENCI_SECRET` from an existing account, pass it as init's first posi
The skill directs use of screenci/.env for SCREENCI_SECRET, which is a hidden environment file containing an organization secret. This is legitimate setup guidance but still creates a real local secret exposure risk.
To upload straight to an existing organization instead, get `SCREENCI_SECRET` into `screenci/.env` b
The skill directs use of screenci/.env for SCREENCI_SECRET, which is a hidden environment file containing an organization secret. This is legitimate setup guidance but still creates a real local secret exposure risk.
- Or ask the user to copy `SCREENCI_SECRET` from their secrets page into `screenci/.env`. The org se
The skill directs use of screenci/.env for SCREENCI_SECRET, which is a hidden environment file containing an organization secret. This is legitimate setup guidance but still creates a real local secret exposure risk.
2. Run `npx screenci test` until it passes. Fix selectors/flow/narration and rerun until green.
The workflow explicitly instructs running npx screenci test until it passes. This is expected for the skill, but it is still real external command execution.
To upload straight to an existing organization, get `SCREENCI_SECRET` into `screenci/.env` before th
The skill directs use of screenci/.env for SCREENCI_SECRET, which is a hidden environment file containing an organization secret. This is legitimate setup guidance but still creates a real local secret exposure risk.
1. **Pass it to init:** `npm init screenci@latest <SCREENCI_SECRET> -- --yes` writes it into `screen
The skill directs use of screenci/.env for SCREENCI_SECRET, which is a hidden environment file containing an organization secret. This is legitimate setup guidance but still creates a real local secret exposure risk.
2. **Secrets page:** ask the user to copy `SCREENCI_SECRET` from their secrets page into `screenci/.
The skill directs use of screenci/.env for SCREENCI_SECRET, which is a hidden environment file containing an organization secret. This is legitimate setup guidance but still creates a real local secret exposure risk.