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.
- Weekly downloads
- 2,615Niche · −30% score
- Versions published
- 38
- First published
- May 2026
- Publisher
- anhtu1706
Effective trust discount applied: −30% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Review before promotingMixed signals: the package has indicators worth reading before allowing the update in automated dependency flows.
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":["[email protected]"],"fail_on":"review"}'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":["[email protected]"],"fail_on":"review"}'Why flagged
What the scanner saw
Remote Payload: matched "invoke-webrequest"
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 review · score 127 · status changed
Evidence
Static findings
64 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/src/tools/executor.js | matched "invoke-webrequest" | 12 |
| medium | Obfuscation Density | package/resources/local/page-agent/package-lock.json | high encoded/escaped-token density | 12 |
| medium | Obfuscation Density | package/resources/local/agents.md/pnpm-lock.yaml | high encoded/escaped-token density | 12 |
| medium | Credential file access | package/resources/local/codex/skills/.system/skill-installer/scripts/github_utils.py | matched "GITHUB_TOKEN" | 10 |
Show all 64 findings (low-signal and informational)
Showing 60 of 64 findings.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/src/tools/executor.js | matched "invoke-webrequest" | 12 |
| medium | Obfuscation Density | package/resources/local/page-agent/package-lock.json | high encoded/escaped-token density | 12 |
| medium | Obfuscation Density | package/resources/local/agents.md/pnpm-lock.yaml | high encoded/escaped-token density | 12 |
| medium | Credential file access | package/resources/local/codex/skills/.system/skill-installer/scripts/github_utils.py | matched "GITHUB_TOKEN" | 10 |
| low | Credential file access | package/resources/local/ecc/scripts/discussion-audit.js | matched "GITHUB_TOKEN" | 5 |
| low | Credential file access | package/resources/local/ecc/scripts/lib/github-discussions.js | matched "GITHUB_TOKEN" | 5 |
| low | Credential file access | package/resources/local/ecc/scripts/hooks/governance-capture.js | matched "github_token" | 5 |
| low | Credential file access | package/resources/local/ecc/scripts/operator-readiness-dashboard.js | matched "GITHUB_TOKEN" | 5 |
| low | Credential file access | package/resources/local/ecc/scripts/platform-audit.js | matched "GITHUB_TOKEN" | 5 |
| low | Credential file access | package/resources/local/ecc/scripts/ci/scan-supply-chain-iocs.js | matched ".azure" | 5 |
| low | Obfuscation | package/resources/local/ecc/scripts/ci/catalog.js | matched "\\u2705" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/ci/check-unicode-safety.js | matched "\\uFE0F" | 3 |
| low | Obfuscation | package/src/cli/commands.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/src/cli/config.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/src/cli/context-loader.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/lib/skill-evolution/dashboard.js | matched "\\u2581" | 3 |
| low | Obfuscation | package/resources/local/awesome-design-md/design-md-cli.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/hooks/desktop-notify.js | matched "\\x00" | 3 |
| low | Obfuscation | package/src/cli/diff-view.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/hooks/ecc-statusline.js | matched "\\u2588" | 3 |
| low | Obfuscation | package/src/tools/executor.js | matched "\\u2010" | 3 |
| low | Obfuscation | package/resources/local/karpathy-tools/karpathy-md.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/src/session/manager.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/page-agent/scripts/parallel-task.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/src/cli/project-docs.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/src/cli/repl.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/resources/local/ecc/.opencode/dist/tools/security-audit.js | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/skill-create-output.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/src/cli/snowflake-logo.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/src/cli/spinner.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/src/cli/terminal-ui.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/src/cli/tui.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/lib/utils.js | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/ci/validate-agents.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/ci/validate-skills.js | matched "\\uFEFF" | 3 |
| low | Obfuscation | package/resources/local/ecc/hooks/hooks.json | matched "fromCharCode" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/.claude-plugin/plugin.json | matched "\\u2014" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/.claude-plugin/plugin.json | matched "\\u2014" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/.claude-plugin/plugin.json | matched "\\u2014" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/.claude-plugin/plugin.json | matched "\\u2014" | 3 |
| low | Obfuscation | package/resources/local/codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/scripts/browser-client.mjs | matched "fromCharCode" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/comment.py | matched "\\u201c" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/generate_report.py | matched "\\u2014" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/generate_report.py | matched "\\u2014" | 3 |
| low | Obfuscation | package/resources/local/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py | matched "\\u2588" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/run_eval.py | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/run_eval.py | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/run_loop.py | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/run_loop.py | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/security_reminder_hook.py | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py | matched "\\u2588" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/unpack.py | matched "\\u201c" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/unpack.py | matched "\\u201c" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/unpack.py | matched "\\u201c" | 3 |
| low | Obfuscation | package/resources/local/ecc/scripts/sync-ecc-to-codex.sh | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/page-agent/packages/page-controller/src/PageController.ts | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/page-agent/packages/extension/src/agent/RemotePageController.background.ts | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/page-agent/packages/extension/src/agent/RemotePageController.ts | matched "\\x1b" | 3 |
| low | Obfuscation | package/resources/local/ecc/.opencode/tools/security-audit.ts | matched "eval(" | 3 |
| low | Obfuscation | package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/server.ts | matched "\\x00" | 3 |
Manifest
Package metadata
Scripts3
build:websitevite builddevvite --host 0.0.0.0previewvite preview