T03 · Remote Payload Retrieval and Execution
- Location
scripts/bun-workflow.md:9- Finding
Unpinned Bun installer is downloaded and executed directly by a shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly coherent package-manager guidance, but it includes copy-paste workflows that can run unverified remote installers or unpinned downloaded tools.
Install only if you are comfortable treating it as advisory package-manager documentation. Before running any helper or copied command, inspect the exact script, avoid pipe-to-shell installers, prefer pinned OS/package-manager installation methods, and do not use --fix or global install commands until you have reviewed the expected project and lockfile changes.
scripts/bun-workflow.md:9Unpinned Bun installer is downloaded and executed directly by a shell
scripts/bun-workflow.js.txt:191Bun helper prints mutable remote-installer commands for users to execute
scripts/pnpm-workflow.md:39pnpm installation guide executes unpinned remote scripts directly
scripts/health-check.md:614Health-check workflow can automatically download and execute undeclared packages through npx
Referenced artifact was not completely inspected
- **Inspect before executing.** The bundled helpers under `scripts/` (notably `bun-workflow.js.txt` and `health-check.js.txt`) shell out to local tools via `chi
Referenced artifact was not completely inspected
- **Inspect before executing.** The bundled helpers under `scripts/` (notably `bun-workflow.js.txt` and `health-check.js.txt`) shell out to local tools via `chi
Referenced artifact was not completely inspected
ing.** The bundled helpers under `scripts/` (notably `bun-workflow.js.txt` and `health-check.js.txt`) shell out to local tools via `child_process.execSync`. The
Referenced artifact was not completely inspected
ing.** The bundled helpers under `scripts/` (notably `bun-workflow.js.txt` and `health-check.js.txt`) shell out to local tools via `child_process.execSync`. The
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
## Safety and Trust Model
- **Inspect before executing.** The bundled helpers under `scripts/` (notably `bun-workflow.js.txt` and `health-check.js.txt`) shell out to local tools via `child_process.execSync`. They ship with a `.js.txt` extension so they are not directly executable; open and read each one, rename it back to `.js` only inside a trusted project working directory you control, and run it only after confirming the exact command.
- **Verify remote installers.** Any documented one-liner that fetches code from the network (for example `curl -fsSL https://bun.sh/install | bash` or `powershell -c "irm bun.sh/install.ps1 | iex"`) executes whatever the upstream serves at that moment. Confirm the URL, prefer the official downloaded installer or your OS package manager, and pin to a known version when stricter review is required.
- **Approve dependency changes explicitly.** Treat installs, updates, removals, audits with `--fix`, and lockfile regenerations as mutating actions. Surface the exact command and the expected `package.json` / lockfile diff first, then proceed only after the user confirms.
- **Provenance disclosure.** The helper scripts in this skill are local to this repository and are not currently published with an upstream source or homepage in the registry metadata. Treat them as untrusted code until you have read them, and prefer skills with clear provenance when execution is involved.
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
- **npm-workflow.md** / **npm-workflow.js.txt** - Complete npm workflow from initialization to publishing (rename to `.js` before running with Node)
- **yarn-workflow.md** - Complete yarn workflow covering Classic (1.x) and Berry (3.x+) versions
- **pnpm-workflow.md** - Complete pnpm workflow with monorepo and workspace features
- **bun-workflow.md** / **bun-workflow.js.txt** - Complete bun workflow for ultra-fast package management (rename to `.js` before running). The documented Bun installer one-liners (`curl … | bash`, `irm … | iex`) fetch and execute remote code; verify the source URL and prefer a pinned, downloaded installer when stricter review is required.
- **health-check.md** / **health-check.js.txt** - Package manager health check and diagnostics scripts (rename to `.js` before running)
## Assets
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
- **npm-workflow.md** / **npm-workflow.js.txt** - Complete npm workflow from initialization to publishing (rename to `.js` before running with Node)
- **yarn-workflow.md** - Complete yarn workflow covering Classic (1.x) and Berry (3.x+) versions
- **pnpm-workflow.md** - Complete pnpm workflow with monorepo and workspace features
- **bun-workflow.md** / **bun-workflow.js.txt** - Complete bun workflow for ultra-fast package management (rename to `.js` before running). The documented Bun installer one-liners (`curl ... | bash`, `irm ... | iex`) fetch and execute remote code; verify the source URL and prefer a pinned, downloaded installer when stricter review is required.
- **health-check.md** / **health-check.js.txt** - Package manager health check and diagnostics scripts (rename to `.js` before running)
## Assets
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
1. **Regular Audits**: Run security checks regularly
2. **Update Dependencies**: Keep packages up-to-date
3. **Review Lock Files**: Check for unexpected changes
4. **Use .npmrc**: Configure secure defaults
5. **Enable 2FA**: Protect publishing accounts
6. **Verify Packages**: Check package integrity
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
[run]
# Default shell for bun run scripts
# shell = "system"
# Automatically load .env file
# bun automatically loads .env, .env.local, .env.development, .env.production
[test]
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Default shell for bun run scripts
# shell = "system"
# Automatically load .env file
# bun automatically loads .env, .env.local, .env.development, .env.production
[test]
# Root directory for test files
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Default shell for bun run scripts
# shell = "system"
# Automatically load .env file
# bun automatically loads .env, .env.local, .env.development, .env.production
[test]
# Root directory for test files
The migration helper recommends installing Bun via a piped remote script (curl ... | bash) and PowerShell iex, both of which execute network-fetched code without prior verification. In an agent skill context, surfacing copy-pasteable one-liners that bypass review materially increases supply-chain and remote-code-execution risk if the source, transport, or endpoint is compromised.
{
step: 1,
title: 'Install Bun',
cmd: 'curl -fsSL https://bun.sh/install | bash # macOS/Linux\n powershell -c "irm bun.sh/install.ps1 | iex" # Windows',
},
{
step: 2,
When Bun is not installed, the script prints a ready-to-run curl ... | bash and PowerShell iex command, encouraging immediate execution of externally fetched code. Even though the script itself does not execute the command, this is dangerous in a helper skill because it normalizes insecure installation practice and can lead to remote code execution if the fetched installer is malicious or tampered with.
} else {
console.log(`\n ${c.yellow('⚠️')} Bun is not installed or not on PATH.`);
console.log(`\n Install with:`);
console.log(` ${c.cyan('curl -fsSL https://bun.sh/install | bash')} # macOS/Linux`);
console.log(` ${c.cyan('powershell -c "irm bun.sh/install.ps1 | iex"')} # Windows`);
}
console.log();
curl -fsSL https://bun.sh/install | bash fetches a remote script and immediately executes it in the shell. This creates a direct arbitrary code execution path if the remote content is malicious or tampered with, and the skill context makes it more dangerous because it is framed as standard setup guidance users are likely to copy-paste blindly.
curl -fsSL https://bun.sh/install | bash
The | bash chaining is the critical mechanism that converts a remote fetch into immediate code execution without review. This eliminates the user's opportunity to inspect the script and magnifies the impact of any upstream compromise or man-in-the-middle style content tampering.
curl -fsSL https://bun.sh/install | bash
This repeats the same unsafe remote-script execution pattern in the migration section, reinforcing risky behavior during a common workflow. Because migration instructions are often followed verbatim, the chance of unsafe copy-paste execution is elevated.
# Install Bun
curl -fsSL https://bun.sh/install | bash
# Remove node_modules and reinstall with Bun
rm -rf node_modules
This is the same dangerous chaining pattern repeated later in the file. Repetition in setup and migration sections normalizes a risky practice and increases the likelihood of users executing unreviewed remote code.
# Install Bun
curl -fsSL https://bun.sh/install | bash
# Remove node_modules and reinstall with Bun
rm -rf node_modules
No suspicious patterns detected.