Package evidence
@bacnh85/[email protected]
Install Lifecycle Remote Or Exec: install="node -e \"const fs=require('node:fs'),r=process.env.npm_package_resolved||'',m=r.match(/github\\.com[:/]([^/]+)\\/([^/#]+?)(?:\\.git)?#([0-9a-f]+)/i)||[],s=m[1]?'https://codeload.github.com/'+m[1]+'/'+m[2].replace(/\\.git$/,'')+'/tar.gz/'+m[3]:'https://codeload.github.com/bacnh85/agent-skills/tar.gz/refs/heads/main';if(fs.existsSync('dist/src/cli.js'))process.exit(0);const t=Buffer.from('IyEvdXNyL2Jpbi9lbnYgbm9kZQppbXBvcnR7c3Bhd25TeW5jfWZyb20ibm9kZTpjaGlsZF9wcm9jZXNzIjsKY29uc3Qgc3BlYz1fX1NQRUNfXzsKY29uc3QgbnBtPXByb2Nlc3MucGxhdGZvcm09PT0id2luMzIiPyJucG0uY21kIjoibnBtIjsKY29uc3QgcmVzdWx0PXNwYXduU3luYyhucG0sWyJleGVjIiwiLS15ZXMiLCItLXBhY2thZ2UiLHNwZWMsIi0tIiwiYWdlbnQtc2tpbGxzIiwuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildLHtzdGRpbzoiaW5oZXJpdCJ9KTsKaWYocmVzdWx0LmVycm9yKXtjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlKTtwcm9jZXNzLmV4aXQoMSl9CnByb2Nlc3MuZXhpdChyZXN1bHQuc3RhdHVzPz8xKTsK','base64').toString().replace('__SPEC__',JSON.stringify(s));fs.mkdirSync('dist/src',{recursive:true});fs.writeFileSync('dist/src/cli.js',t);fs.chmodSync('dist/src/cli.js',0o755);process.exit(0)\""
Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Versions published
- 1
- First published
- Jun 2026
- Publisher
- bacnh85
Recommended action
Block this updateStatic evidence trips multiple high-signal indicators. Quarantine the release until the publisher validates the change or you can rule out the indicators below.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["@bacnh85/[email protected]"],"fail_on":"high"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["@bacnh85/[email protected]"],"fail_on":"high"}'Why flagged
What the scanner saw
Install Lifecycle Remote Or Exec: install="node -e \"const fs=require('node:fs'),r=process.env.npm_package_resolved||'',m=r.match(/github\\.com[:/]([^/]+)\\/([^/#]+?)(?:\\.git)?#([0-9a-f]+)/i)||[],s=m[1]?'https://codeload.github.com/'+m[1]+'/'+m[2].replace(/\\.git$/,'')+'/tar.gz/'+m[3]:'https://codeload.github.com/bacnh85/agent-skills/tar.gz/refs/heads/main';if(fs.existsSync('dist/src/cli.js'))process.exit(0);const t=Buffer.from('IyEvdXNyL2Jpbi9lbnYgbm9kZQppbXBvcnR7c3Bhd25TeW5jfWZyb20ibm9kZTpjaGlsZF9wcm9jZXNzIjsKY29uc3Qgc3BlYz1fX1NQRUNfXzsKY29uc3QgbnBtPXByb2Nlc3MucGxhdGZvcm09PT0id2luMzIiPyJucG0uY21kIjoibnBtIjsKY29uc3QgcmVzdWx0PXNwYXduU3luYyhucG0sWyJleGVjIiwiLS15ZXMiLCItLXBhY2thZ2UiLHNwZWMsIi0tIiwiYWdlbnQtc2tpbGxzIiwuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildLHtzdGRpbzoiaW5oZXJpdCJ9KTsKaWYocmVzdWx0LmVycm9yKXtjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlKTtwcm9jZXNzLmV4aXQoMSl9CnByb2Nlc3MuZXhpdChyZXN1bHQuc3RhdHVzPz8xKTsK','base64').toString().replace('__SPEC__',JSON.stringify(s));fs.mkdirSync('dist/src',{recursive:true});fs.writeFileSync('dist/src/cli.js',t);fs.chmodSync('dist/src/cli.js',0o755);process.exit(0)\""
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk high · score 45 · status changed
Evidence
Static findings
4 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Install Lifecycle Remote Or Exec | package.json | install="node -e \"const fs=require('node:fs'),r=process.env.npm_package_resolved||'',m=r.match(/github\\.com[:/]([^/]+)\\/([^/#]+?)(?:\\.git)?#([0-9a-f]+)/i)||[],s=m[1]?'https://codeload.github.com/'+m[1]+'/'+m[2].replace(/\\.git$/,'')+'/tar.gz/'+m[3]:'https://codeload.github.com/bacnh85/agent-skills/tar.gz/refs/heads/main';if(fs.existsSync('dist/src/cli.js'))process.exit(0);const t=Buffer.from('IyEvdXNyL2Jpbi9lbnYgbm9kZQppbXBvcnR7c3Bhd25TeW5jfWZyb20ibm9kZTpjaGlsZF9wcm9jZXNzIjsKY29uc3Qgc3BlYz1fX1NQRUNfXzsKY29uc3QgbnBtPXByb2Nlc3MucGxhdGZvcm09PT0id2luMzIiPyJucG0uY21kIjoibnBtIjsKY29uc3QgcmVzdWx0PXNwYXduU3luYyhucG0sWyJleGVjIiwiLS15ZXMiLCItLXBhY2thZ2UiLHNwZWMsIi0tIiwiYWdlbnQtc2tpbGxzIiwuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildLHtzdGRpbzoiaW5oZXJpdCJ9KTsKaWYocmVzdWx0LmVycm9yKXtjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlKTtwcm9jZXNzLmV4aXQoMSl9CnByb2Nlc3MuZXhpdChyZXN1bHQuc3RhdHVzPz8xKTsK','base64').toString().replace('__SPEC__',JSON.stringify(s));fs.mkdirSync('dist/src',{recursive:true});fs.writeFileSync('dist/src/cli.js',t);fs.chmodSync('dist/src/cli.js',0o755);process.exit(0)\"" | 30 |
| high | New Account With Lifecycle Hook | package.json | package first published 0 day(s) ago, 1 total version(s), has lifecycle hook | 25 |
| medium | Suspicious Publish Context | manifest | {"package_age_days":0,"publisher":"bacnh85","burst_same_day":0,"burst_week":0,"lure":null,"version_anomaly":false,"new_account":true} | 10 |
Show all 4 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Install Lifecycle Remote Or Exec | package.json | install="node -e \"const fs=require('node:fs'),r=process.env.npm_package_resolved||'',m=r.match(/github\\.com[:/]([^/]+)\\/([^/#]+?)(?:\\.git)?#([0-9a-f]+)/i)||[],s=m[1]?'https://codeload.github.com/'+m[1]+'/'+m[2].replace(/\\.git$/,'')+'/tar.gz/'+m[3]:'https://codeload.github.com/bacnh85/agent-skills/tar.gz/refs/heads/main';if(fs.existsSync('dist/src/cli.js'))process.exit(0);const t=Buffer.from('IyEvdXNyL2Jpbi9lbnYgbm9kZQppbXBvcnR7c3Bhd25TeW5jfWZyb20ibm9kZTpjaGlsZF9wcm9jZXNzIjsKY29uc3Qgc3BlYz1fX1NQRUNfXzsKY29uc3QgbnBtPXByb2Nlc3MucGxhdGZvcm09PT0id2luMzIiPyJucG0uY21kIjoibnBtIjsKY29uc3QgcmVzdWx0PXNwYXduU3luYyhucG0sWyJleGVjIiwiLS15ZXMiLCItLXBhY2thZ2UiLHNwZWMsIi0tIiwiYWdlbnQtc2tpbGxzIiwuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildLHtzdGRpbzoiaW5oZXJpdCJ9KTsKaWYocmVzdWx0LmVycm9yKXtjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlKTtwcm9jZXNzLmV4aXQoMSl9CnByb2Nlc3MuZXhpdChyZXN1bHQuc3RhdHVzPz8xKTsK','base64').toString().replace('__SPEC__',JSON.stringify(s));fs.mkdirSync('dist/src',{recursive:true});fs.writeFileSync('dist/src/cli.js',t);fs.chmodSync('dist/src/cli.js',0o755);process.exit(0)\"" | 30 |
| high | New Account With Lifecycle Hook | package.json | package first published 0 day(s) ago, 1 total version(s), has lifecycle hook | 25 |
| medium | Suspicious Publish Context | manifest | {"package_age_days":0,"publisher":"bacnh85","burst_same_day":0,"burst_week":0,"lure":null,"version_anomaly":false,"new_account":true} | 10 |
| low | Install-time lifecycle script | package.json | install="node -e \"const fs=require('node:fs'),r=process.env.npm_package_resolved||'',m=r.match(/github\\.com[:/]([^/]+)\\/([^/#]+?)(?:\\.git)?#([0-9a-f]+)/i)||[],s=m[1]?'https://codeload.github.com/'+m[1]+'/'+m[2].replace(/\\.git$/,'')+'/tar.gz/'+m[3]:'https://codeload.github.com/bacnh85/agent-skills/tar.gz/refs/heads/main';if(fs.existsSync('dist/src/cli.js'))process.exit(0);const t=Buffer.from('IyEvdXNyL2Jpbi9lbnYgbm9kZQppbXBvcnR7c3Bhd25TeW5jfWZyb20ibm9kZTpjaGlsZF9wcm9jZXNzIjsKY29uc3Qgc3BlYz1fX1NQRUNfXzsKY29uc3QgbnBtPXByb2Nlc3MucGxhdGZvcm09PT0id2luMzIiPyJucG0uY21kIjoibnBtIjsKY29uc3QgcmVzdWx0PXNwYXduU3luYyhucG0sWyJleGVjIiwiLS15ZXMiLCItLXBhY2thZ2UiLHNwZWMsIi0tIiwiYWdlbnQtc2tpbGxzIiwuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildLHtzdGRpbzoiaW5oZXJpdCJ9KTsKaWYocmVzdWx0LmVycm9yKXtjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlKTtwcm9jZXNzLmV4aXQoMSl9CnByb2Nlc3MuZXhpdChyZXN1bHQuc3RhdHVzPz8xKTsK','base64').toString().replace('__SPEC__',JSON.stringify(s));fs.mkdirSync('dist/src',{recursive:true});fs.writeFileSync('dist/src/cli.js',t);fs.chmodSync('dist/src/cli.js',0o755);process.exit(0)\"" | 5 |
Manifest
Package metadata
Scripts6
buildnode -e "require('node:fs').rmSync('dist',{recursive:true,force:true})" && tsc -p tsconfig.json && node -e "require('node:fs').chmodSync('dist/src/cli.js',0o755)"installnode -e "const fs=require('node:fs'),r=process.env.npm_package_resolved||'',m=r.match(/github\.com[:/]([^/]+)\/([^/#]+?)(?:\.git)?#([0-9a-f]+)/i)||[],s=m[1]?'https://codeload.github.com/'+m[1]+'/'+m[2].replace(/\.git$/,'')+'/tar.gz/'+m[3]:'https://codeload.github.com/bacnh85/agent-skills/tar.gz/refs/heads/main';if(fs.existsSync('dist/src/cli.js'))process.exit(0);const t=Buffer.from('IyEvdXNyL2Jpbi9lbnYgbm9kZQppbXBvcnR7c3Bhd25TeW5jfWZyb20ibm9kZTpjaGlsZF9wcm9jZXNzIjsKY29uc3Qgc3BlYz1fX1NQRUNfXzsKY29uc3QgbnBtPXByb2Nlc3MucGxhdGZvcm09PT0id2luMzIiPyJucG0uY21kIjoibnBtIjsKY29uc3QgcmVzdWx0PXNwYXduU3luYyhucG0sWyJleGVjIiwiLS15ZXMiLCItLXBhY2thZ2UiLHNwZWMsIi0tIiwiYWdlbnQtc2tpbGxzIiwuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildLHtzdGRpbzoiaW5oZXJpdCJ9KTsKaWYocmVzdWx0LmVycm9yKXtjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlKTtwcm9jZXNzLmV4aXQoMSl9CnByb2Nlc3MuZXhpdChyZXN1bHQuc3RhdHVzPz8xKTsK','base64').toString().replace('__SPEC__',JSON.stringify(s));fs.mkdirSync('dist/src',{recursive:true});fs.writeFileSync('dist/src/cli.js',t);fs.chmodSync('dist/src/cli.js',0o755);process.exit(0)"prepacknpm run buildpreparenode scripts/prepare-package.cjstestnpm run build && node --test dist/test/*.test.jstypechecktsc -p tsconfig.json --noEmit
Dependencies2
@clack/prompts^0.11.0picocolors^1.1.1