Package evidence
keepercommander==18.0.8
Clipboard Crypto Steal: clipboard access library paired with cryptocurrency seed/key patterns
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
- 368Mature · −50% score
- First published
- Nov 2015
- Publisher
- Craig Lurey
Effective trust discount applied: −50% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
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":["keepercommander==18.0.8"],"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":["keepercommander==18.0.8"],"fail_on":"high"}'Why flagged
What the scanner saw
Clipboard Crypto Steal: clipboard access library paired with cryptocurrency seed/key patterns
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 74 · status changed
Evidence
Static findings
35 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Clipboard Crypto Steal | keepercommander-18.0.8/keepercommander/commands/connect.py | clipboard access library paired with cryptocurrency seed/key patterns | 45 |
| high | Clipboard Crypto Steal | keepercommander-18.0.8/keepercommander/commands/pam_launch/launch.py | clipboard access library paired with cryptocurrency seed/key patterns | 45 |
| high | Clipboard Crypto Steal | keepercommander-18.0.8/keepercommander/commands/utils.py | clipboard access library paired with cryptocurrency seed/key patterns | 45 |
| high | Webhook Exfil Endpoint | keepercommander-18.0.8/keepercommander/service/util/tunneling.py | matched "ngrok.app" | 40 |
| high | Py Runtime Base64 Decode | keepercommander-18.0.8/keepercommander/biometric/platforms/macos/keychain.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| high | Py Runtime Base64 Decode | keepercommander-18.0.8/keepercommander/utils.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| medium | Credential file access | keepercommander-18.0.8/keepercommander/plugins/sshkey/sshkey.py | matched ".ssh/" | 10 |
Show all 35 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Clipboard Crypto Steal | keepercommander-18.0.8/keepercommander/commands/connect.py | clipboard access library paired with cryptocurrency seed/key patterns | 45 |
| high | Clipboard Crypto Steal | keepercommander-18.0.8/keepercommander/commands/pam_launch/launch.py | clipboard access library paired with cryptocurrency seed/key patterns | 45 |
| high | Clipboard Crypto Steal | keepercommander-18.0.8/keepercommander/commands/utils.py | clipboard access library paired with cryptocurrency seed/key patterns | 45 |
| high | Webhook Exfil Endpoint | keepercommander-18.0.8/keepercommander/service/util/tunneling.py | matched "ngrok.app" | 40 |
| high | Py Runtime Base64 Decode | keepercommander-18.0.8/keepercommander/biometric/platforms/macos/keychain.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| high | Py Runtime Base64 Decode | keepercommander-18.0.8/keepercommander/utils.py | base64/hex decode combined with exec/subprocess — classic obfuscated payload pattern. | 30 |
| medium | Credential file access | keepercommander-18.0.8/keepercommander/plugins/sshkey/sshkey.py | matched ".ssh/" | 10 |
| low | Py Import Time Base64 Decode | keepercommander-18.0.8/keepercommander/commands/discover/__init__.py | base64/hex decode in Python source. | 8 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/api.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/automator.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/aws_import.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/email_commands.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/enterprise.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/enterprise_common.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/enterprise_create_user.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/enterprise_push.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/pam_import/base.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/pam_import/edit.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/record_edit.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/register.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/commands/transfer_account.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/convert_keys.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/email_service.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/enterprise.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/importer/cyberark/cyberark.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/importer/imp_exp.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/loginv3.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/nested_share_folder/common.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/nested_share_folder/folder_api.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/params.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/plugins/aws_common.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/plugins/awskey/aws_accesskey.py | matched "aws_access_key" | 5 |
| low | Credential file access | keepercommander-18.0.8/keepercommander/security_audit.py | matched "id_rsa" | 5 |
| low | Credential file access | keepercommander-18.0.8/unit-tests/test_email_service.py | matched "aws_access_key" | 5 |
| low | Sdist Has Setup Py | manifest | Source distribution executes setup.py at install time. | 0 |