Automated package-squatting & slopsquatting detection signals across PyPI and npm — these are automated, unconfirmed signals. Use them to find candidates to investigate, but don't automatically assume they're malicious.

Sorted by risk score. Cleared packages hidden by default — add verdict:benign_community to include. Packages the registry has since removed are hidden too — see them on the Taken Down tab or add state:taken_down. Very risky packages require manual human audit. • Tag & Signal Legend →

Search & filter syntax reference
Filter with verdict: (malicious, suspicious, unverified_high_signal, squatted_stub…), ecosystem: (pypi/npm), hook: (install, network, pth, gyp, worm, c2, creds, binary, env, stealer, any — malicious hooks & behaviors), email:, domain:, keyword:, version: (comma = OR within a field, space = AND across fields), age:<6h / age:>90d (combine both for a range), state:live / state:taken_down (registry liveness — the feed defaults to state:live), lead:>7d (days we had a since-removed package flagged while it was still up), or a bare word for a package-name search.
Package Score ▲ Age Users Lines Growth Verdict Targeted Ecosystem Version Author Email domain Signals
0 33d — — —
Very Risky
— pypi 2.8.0 Michael Fowler — 🪝
Package purpose: Cost risk, EVM forecasts, DCMA schedule checks, JCL, AoA and portfolio choice for defense and space programs, in one Python package: Excel in, report and briefing out.
Static code signals:
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in cost_core-2.8.0/cost_core/gui.py:361
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in cost_core-2.8.0/cost_core/gui.py:274
  • SYSTEM_PERSISTENCE_TAMPERING: 'Shortcut Hijacking (.lnk Rewrite / Browser Extension Sideload)' found in cost_core-2.8.0/cost_core/gui.py:852
  • SOURCE_CODE_PERSISTENT_BACKDOOR: persistence mechanism combined with execution/network in cost_core-2.8.0/cost_core/gui.py
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in cost_core-2.8.0/cost_core/lotmodel/provenance.py:34
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in cost_core-2.8.0/cost_core/opener.py:200
  • SOURCE_CODE_NETWORK_CALL: 'fetch/axios/XMLHttpRequest' found in cost_core-2.8.0/cost_core/public/fetch.py:163
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in cost_core-2.8.0/cost_core/public/fetch.py:102

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 33d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 33d — — —
🐛 Potential Cross-Ecosystem Worm Very Risky
— pypi added — — 🪝 🐛
Package purpose: Holds the OpenBao AppRole so NetBox never possesses credentials able to read production secrets
Static code signals:
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in netbox_openbao_broker-0.1.0/broker/__main__.py:23
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in netbox_openbao_broker-0.1.0/broker/config.py:150
  • CROSS_ECOSYSTEM_WORM_PROPAGATION: 'PyPI Registry Upload Endpoint (Worm Replication)' found in netbox_openbao_broker-0.1.0/scripts/select_public_release_target.py:18
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in netbox_openbao_broker-0.1.0/scripts/validate_release_ref.py:23

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 34d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 35d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 35d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 35d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 35d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 36d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 37d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 37d — — —
Possible Squatted Stub
— pypi added Ratio Innovations B.V. —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 37d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 37d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 37d — — —
Possible Squatted Stub
— pypi 0.2.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added Rawson Consulting B.V. —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added Rawson Consulting B.V. —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added Rawson Consulting B.V. —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added Rawson Consulting B.V. —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Possible Squatted Stub
— pypi added — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 38d — — —
Very Risky
— pypi 2.2.1 SwirEngine contributors — 🪝
Package purpose: Modern Python-first 2D/3D game engine with a unified API.
Static code signals:
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/neon_cube_hunt_3d/run_game.py:49
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/neon_cube_hunt_3d/neon_cube_hunt/game.py:347
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/neon_frontier_1_3/run_game.py:30
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/neon_frontier_1_4/run_game.py:32
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/neon_snake_3d/run_game.py:44
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/neon_snake_3d/neon_snake/game.py:392
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in swirengine-2.2.1/demo_projects/terrain_world_lod_1_4/run_game.py:10
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in swirengine-2.2.1/src/swirengine/editor_console_navigation21.py:112

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 39d — — —
Possible Squatted Stub
— npm latest — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on npm →
0 42d — — —
🐛 Potential Cross-Ecosystem Worm Very Risky
— pypi 1.0.3 Aegis Team — 🪝 🐛
Package purpose: Real-time AI threat monitoring. Protect your apps from prompt injection, leaks, and attacks in just a few lines of code.
Static code signals:
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ai_aegis-1.0.3/src/aegis/app/database/repositories/settings.py:32
  • CREDENTIAL_PATH_HARVESTING: 'IDE / AI Agent Configuration Hijacking' found in ai_aegis-1.0.3/src/aegis/app/main.py:1449
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in ai_aegis-1.0.3/src/aegis/app/main.py:529
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ai_aegis-1.0.3/src/aegis/app/main.py:573
  • CREDENTIAL_PATH_HARVESTING: 'SSH Private Keys (~/.ssh)' found in ai_aegis-1.0.3/src/aegis/app/rules/last_resort.py:51
  • CREDENTIAL_PATH_HARVESTING: 'SSH Directory / Private Keys (~/.ssh)' found in ai_aegis-1.0.3/src/aegis/app/rules/last_resort.py:51
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ai_aegis-1.0.3/src/aegis/app/server/app.py:227
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ai_aegis-1.0.3/src/aegis/app/server/routes/_hooks_common.py:46

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 43d — — —
Very Risky
— pypi 3.4.1 Amit Singh — 🪝
Package purpose: Privacy-first static code health analysis for Python packages
Static code signals:
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in cqa_analyzer-3.4.1/cqa_analyzer/go_patterns.py:303
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'eval()' found in cqa_analyzer-3.4.1/cqa_analyzer/languages/_security.py:394
  • ANTI_ANALYSIS_EVASION: 'TLS / SSL Verification Bypass (Defense Evasion)' found in cqa_analyzer-3.4.1/cqa_analyzer/languages/typescript.py:839
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'eval()' found in cqa_analyzer-3.4.1/cqa_analyzer/languages/typescript.py:634
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'new Function()' found in cqa_analyzer-3.4.1/cqa_analyzer/languages/typescript.py:694
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in cqa_analyzer-3.4.1/cqa_analyzer/mcp_server.py:335
  • ANTI_ANALYSIS_EVASION: 'TLS / SSL Verification Bypass (Defense Evasion)' found in cqa_analyzer-3.4.1/cqa_analyzer/python_security.py:347
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'eval()' found in cqa_analyzer-3.4.1/cqa_analyzer/python_security.py:299

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 43d — — —
🚨 Possible Stealer Very Risky
— pypi 0.4.0b2 Ghost Chimera Contributors — 🪝
Package purpose: Local-first agent orchestration prototype with Chimera Pilot scheduling and runtime control.
Static code signals:
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/agent_core/skill_manager.py:60
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/always_on/daemon.py:155
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/autonomy.py:142
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/autonomy_jobs.py:207
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/autonomy_jobs.py:138
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/backends/desktop_runtime.py:497
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/backends/gemini.py:61
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in ghostchimera-0.4.0b2/ghostchimera/chimera_pilot/backends/model_provider.py:61

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 43d — — —
🐛 Potential Cross-Ecosystem Worm Very Risky
— pypi 0.2.0 — — 🪝 🐛
Package purpose: A command-line tool for preparing and publishing Python package releases.
Static code signals:
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in simple_releaser-0.2.0/src/simple_releaser/config.py:104
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in simple_releaser-0.2.0/src/simple_releaser/releaser.py:102
  • SOURCE_CODE_ENV_VARS_ACCESS: 'Environment Variable Access (process.env / os.environ)' found in simple_releaser-0.2.0/src/simple_releaser/releaser.py:667
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in simple_releaser-0.2.0/src/simple_releaser/auth/credentials.py:90
  • CROSS_ECOSYSTEM_WORM_PROPAGATION: 'PyPI Registry Upload Endpoint (Worm Replication)' found in simple_releaser-0.2.0/src/simple_releaser/auth/credentials.py:26
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in simple_releaser-0.2.0/src/simple_releaser/repos/discovery.py:180

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 46d — — —
Possible Squatted Stub
— pypi 0.5.0 Richard West —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 46d — — —
Possible Squatted Stub
— pypi 0.5.0 Richard West —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 49d — — —
Possible Squatted Stub
— pypi 0.0.94 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 49d — — —
Possible Squatted Stub
— pypi 0.0.94 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 49d — — —
Possible Squatted Stub
— pypi 0.0.94 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 53d — — —
Possible Squatted Stub
— npm latest — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on npm →
0 73d — — —
Possible Squatted Stub
— pypi 0.1.3 SAIHM —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 74d — — —
Possible Squatted Stub
— pypi 0.1.4 SAIHM —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 81d — — —
Possible Squatted Stub
— npm latest — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on npm →
0 118d — — —
Very Risky
— pypi 0.4.1 paris-paraskevas — 🪝
Package purpose: Windows tray widget + dashboard for Claude plan usage (5-hour & weekly limits)
Static code signals:
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in claude_usage_tracker-0.4.1/ctu/claude_cli.py:43
  • CREDENTIAL_PATH_HARVESTING: 'IDE / AI Agent Configuration Hijacking' found in claude_usage_tracker-0.4.1/ctu/cli.py:43
  • CREDENTIAL_PATH_HARVESTING: 'IDE / AI Agent Configuration Hijacking' found in claude_usage_tracker-0.4.1/ctu/config.py:202
  • CREDENTIAL_PATH_HARVESTING: 'IDE / AI Agent Configuration Hijacking' found in claude_usage_tracker-0.4.1/ctu/engine.py:313
  • CREDENTIAL_PATH_HARVESTING: 'IDE / AI Agent Configuration Hijacking' found in claude_usage_tracker-0.4.1/ctu/hooks.py:1
  • CREDENTIAL_PATH_HARVESTING: 'IDE / AI Agent Configuration Hijacking' found in claude_usage_tracker-0.4.1/ctu/install.py:83
  • SOURCE_CODE_DYNAMIC_EXECUTION: 'Python Subprocess / OS Execution' found in claude_usage_tracker-0.4.1/ctu/install.py:42
  • SYSTEM_PERSISTENCE_TAMPERING: 'Shortcut Hijacking (.lnk Rewrite / Browser Extension Sideload)' found in claude_usage_tracker-0.4.1/ctu/install.py:1

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 162d — — —
Possible Squatted Stub
— pypi 1.0.40 Cursor —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 175d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 175d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 175d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 176d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 176d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 176d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 176d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 176d — — —
Possible Squatted Stub
— pypi 2.6.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 180d — — —
Possible Squatted Stub
— pypi 0.11.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 185d — — —
Possible Squatted Stub
— pypi 1.7.0b4 ethereum —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →
0 197d — — —
Possible Squatted Stub
— pypi 1.1.0 — —

No additional detail available for this finding.

Signals reflect what our detector observed, not a confirmed determination of wrongdoing.

View package on PyPI →

LINK COPIED TO CLIPBOARD