npm skillshelf @0.4.0
score
0.6435
med
flagged
2026-06-16 01:13
amplifiers
co-occurring signal pairs that lift the final score
- typosquat + install_script_payload: typosquat shape with active payload or stub-rush surface (+0.15)
Signals fired
| signal | weight | rationale |
|---|---|---|
| content | ||
| install_script_payload | 1.0 | install/lifecycle script matches payload regex |
| topology | ||
| typosquat | 1.0 | combosquat of 'skill' |
Prior profile (what it deviated from)
{
"had_install_script": true,
"maintainers": [
"flykun0620"
],
"versions": 3
}
Evidence (package doc at flag time)
{
"dependencies_count": 0,
"dist": {
"integrity": "sha512-sM1udWclwzX9r1Mrekg5XADPpnULwl8T1xf+1sscVlRHrRWcB1OjsOvpRA/kqk7KSI3mqOcCBzvB1pS+LFOtQw==",
"tarball": "https://registry.npmjs.org/skillshelf/-/skillshelf-0.4.0.tgz",
"unpackedSize": 511478
},
"dist-tags": {
"latest": "0.4.0"
},
"latest_version": "0.4.0",
"maintainers": [
{
"email": "flykun0620@gmail.com",
"name": "flykun0620"
}
],
"num_versions": 4,
"repository": {
"type": "git",
"url": "git+https://github.com/Wang-Cankun/skillshelf.git"
},
"scripts": {
"preinstall": "bun --version >/dev/null 2>&1 || { echo '\\nskillshelf requires the Bun runtime (https://bun.sh) \u2014 its bin is a TypeScript entrypoint, not a compiled Node script.\\nInstall Bun, then: bun add -g skillshelf (or run without installing: bunx skillshelf <command>)\\n' >&2; exit 1; }",
"skl": "bun run src/cli.ts",
"test": "bun test"
},
"signal_details": {
"_amplifiers": [
"typosquat + install_script_payload: typosquat shape with active payload or stub-rush surface (+0.15)"
],
"install_script_payload": "install/lifecycle script matches payload regex",
"typosquat": "combosquat of 'skill'"
},
"time": {
"created": "2026-06-12T17:43:53.912Z",
"modified": "2026-06-16T02:36:01.015Z"
}
}