Skip to content

livly-tech/Livly.SecurityScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Livly.SecurityScanner

Employee workstation security scanner for Livly Technologies. Detects and helps remove vulnerable packages across developer workstations.

Active Scanners:

  • TeamPCP / GitHub Breach (May 2026) — Detects compromised VS Code extensions, C2 domain references, exposed credentials, compromised packages, and FIRESCALE backdoor signatures from the TeamPCP hacking group breach of GitHub
  • Axios Supply Chain Attack (March 2026) — Detects compromised npm axios versions, malicious transitive dependencies, RAT artifacts, and C2 indicators
  • LiteLLM Vulnerability — Detects vulnerable litellm installations across all Python environments, AI coding tools, package managers, Docker, and more

Quick Start

TeamPCP / GitHub Breach Scanner (NEW — May 2026)

On May 20, 2026, the TeamPCP hacking group breached GitHub's internal infrastructure using a poisoned VS Code extension installed on a GitHub employee's device. They exfiltrated ~3,800 internal repositories. This scanner checks developer workstations for indicators of compromise (IoCs) related to this breach.

References: BleepingComputer · The Hacker News

macOS (Apple Silicon or Intel)

chmod +x executables/TeamPCP-Scan-Mac.command
bash executables/TeamPCP-Scan-Mac.command

Or double-click the .command file in Finder after running the chmod step once.

Windows

Double-click executables\TeamPCP-Scan-Windows.bat

What Gets Scanned (10 checks)

# Check Details
1 VS Code extensions audit Detects Nx Console v18.95.0 (compromised version used in attack)
2 Extension modification timestamps Flags extensions with code modified in the last 7 days (supply chain tampering)
3 C2 domain search Searches extensions + source for git-service.com, m-kosche.com (TeamPCP C2 infrastructure)
4 Credential file access Checks permissions and access times on .npmrc, .pypirc, .docker/config.json, etc.
5 npm/PyPI token exposure Finds tokens committed to git repos (should be gitignored)
6 Shell history secrets Scans bash/zsh history for leaked PATs, API keys, bearer tokens
7 Compromised packages Checks for durabletask (PyPI 1.4.1-1.4.3), plain-crypto-js, FIRESCALE git signatures
8 DNS / network indicators Checks DNS cache and active connections for C2 communication
9 GitHub PAT / SSH key age Flags old SSH keys (>1 year) and environment variable tokens
10 MCP config secrets Finds plaintext secrets in .vscode/mcp.json / .cursor/mcp.json files

Results are saved to ~/teampcp-scan-results.txt and posted to the team Slack channel.

Custom Scan Directories

By default, the scanner checks ~/Documents, ~/Projects, ~/Developer, ~/repos, ~/dev, ~/code, ~/workspace, ~/Desktop. Override with:

TEAMPCP_SCAN_DIRS="/path/to/projects:/another/path" bash executables/TeamPCP-Scan-Mac.command

If Compromised

If the scan detects findings, take these actions based on severity:

Critical (C2 domains / active connections / compromised extensions):

  1. Disconnect from network IMMEDIATELY
  2. Notify your security team — do NOT continue working on the machine
  3. Uninstall compromised extensions and clear VS Code extension cache
  4. Review git commits for unauthorized changes

High (Exposed secrets / tokens):

  1. Rotate ALL exposed credentials immediately
  2. Add credential files to .gitignore and purge from git history (git filter-branch or BFG)
  3. Use environment variables instead of hardcoded secrets
  4. Review GitHub audit log for unauthorized access

Medium (Old SSH keys / history secrets):

  1. Rotate SSH keys older than 1 year
  2. Clear secrets from shell history (history -c or edit ~/.zsh_history)
  3. Audit PAT scopes at github.com/settings/tokens
  4. Enable GitHub push protection to prevent future secret commits

Axios Supply Chain Attack Scanner (March 2026)

A supply chain attack was published against the axios npm package (axios@1.14.1, axios@0.30.4) on March 31, 2026. The compromised versions inject plain-crypto-js@4.2.1, which deploys a cross-platform RAT (Remote Access Trojan) targeting macOS, Windows, and Linux via a postinstall script.

References: StepSecurity Blog · The Hacker News · Socket Analysis

macOS (Apple Silicon or Intel)

chmod +x executables/Axios-Scan-Mac.command
bash executables/Axios-Scan-Mac.command

Or double-click the .command file in Finder after running the chmod step once.

Windows

Double-click executables\Axios-Scan-Windows.bat

What Gets Scanned (7 checks)

# Check Details
1 RAT artifacts /Library/Caches/com.apple.act.mond (macOS), %PROGRAMDATA%\wt.exe (Windows), /tmp/ld.py (Linux)
2 node_modules axios versions Recursive scan of all node_modules/axios/package.json for versions 1.14.1 or 0.30.4
3 Lock files Scans package-lock.json, yarn.lock, pnpm-lock.yaml for compromised version references
4 Malicious packages Searches for plain-crypto-js, @shadanai/openclaw, @qqbrowser/openclaw-qbot in node_modules
5 C2 indicators Searches for C2 domain sfrclak.com and beacon URL packages.npm.org/product in JS/JSON files
6 npm global packages Checks globally installed packages for compromised versions and malicious packages
7 npm cache Checks for cached compromised tarballs and malicious package artifacts

Results are saved to ~/axios-scan-results.txt and posted to the team Slack channel.

Custom Scan Directories

By default, the scanner checks ~/Documents, ~/Projects, ~/Developer, ~/repos, ~/dev, ~/code, ~/workspace, ~/Desktop. Override with:

AXIOS_SCAN_DIRS="/path/to/projects:/another/path" bash executables/Axios-Scan-Mac.command

If Compromised

If the scan detects findings, take these actions immediately:

  1. Disconnect from network if RAT artifacts were found
  2. Downgrade axios to 1.14.0 or 0.30.3
  3. Remove plain-crypto-js from node_modules
  4. Delete RAT artifacts:
    • macOS: rm -f /Library/Caches/com.apple.act.mond
    • Windows: Delete %PROGRAMDATA%\wt.exe
    • Linux: rm -f /tmp/ld.py
  5. Rotate ALL credentials and secrets on the machine
  6. Block egress traffic to sfrclak[.]com
  7. Audit CI/CD pipelines for runs that installed affected versions
  8. Notify your security team

LiteLLM Vulnerability Scanner

Option A: Use the Copilot Agent (recommended)

  1. Clone this repo and open it in VS Code
  2. Open Copilot Chat
  3. Type @LiteLLMScanAgent and press Enter
  4. The agent auto-detects your OS, runs the scan, reports findings, and walks you through removal if needed

Option B: Run the scanner

Scans your machine for litellm and automatically posts results. No setup required.

macOS (Apple Silicon or Intel)

chmod +x executables/LiteLLM-Scan-Mac.command
bash executables/LiteLLM-Scan-Mac.command

Or double-click the .command file in Finder after running the chmod step once.

Windows

Double-click executables\LiteLLM-Scan-Windows.bat

Results are printed to the terminal and saved to ~/litellm-scan-results.txt.


What Gets Scanned

The scripts perform 13 checks on your machine:

# Check Details
1 PATH Is litellm binary accessible from your terminal?
2 All pip installations System pip, Homebrew pip, Xcode CLT pip, etc.
3 pyenv environments Every Python version managed by pyenv
4 conda / mamba / miniforge Every conda environment
5 pipx Globally installed Python CLI tools
6 Package managers Homebrew (Mac) / winget, Chocolatey, Scoop (Windows)
7 Virtual environments .venv, venv, env dirs in ~/Documents, ~/Projects, ~/dev, etc.
8 pip cache Downloaded but potentially uninstalled artifacts
9 AI agent tools Cursor, Continue, Cline, Aider, Cody, Tabby, Ollama, LM Studio
10 VS Code extensions Both stable and Insiders editions
11 Docker Images and running containers
12 Filesystem litellm config files, directories, and general file search
13 MCP servers Parses MCP configs (VS Code, Cursor, Claude Desktop, Cline), checks Python-based server dependencies via uv/uvx tool environments, and scans npm global packages

Why This Exists

A critical vulnerability was disclosed in LiteLLM — a Python-based LLM proxy/gateway by BerriAI. While all Livly repositories have been audited and confirmed clean (zero exposure), AI coding agents like Cursor, Continue, Aider, and Cline may install Python tooling — including litellm — as transitive dependencies on developer machines.

This scanner ensures no employee workstation is running the vulnerable package.

Livly Repository Audit Results

  • 88 non-archived repositories scanned across the entire livly-tech GitHub organization
  • Zero direct or transitive dependencies on litellm
  • Livly's stack (.NET/NuGet, TypeScript/npm, Swift/CocoaPods, Kotlin/Gradle) cannot depend on PyPI packages
  • Zero Python projects exist anywhere in the organization

If LiteLLM Is Found

If the scan detects litellm on your machine, use the @LiteLLMScanAgent Copilot agent for guided removal, or follow these manual steps:

pip

pip3 uninstall litellm -y
pip3 list | grep -i litellm   # verify

pyenv

~/.pyenv/versions/<VERSION>/bin/pip uninstall litellm -y

conda

conda activate <ENV_NAME>
pip uninstall litellm -y
conda deactivate

pipx

pipx uninstall litellm

Virtual environment

source /path/to/.venv/bin/activate
pip uninstall litellm -y
deactivate

Docker

docker stop <CONTAINER>
docker rm <CONTAINER>
docker rmi <IMAGE>

pip cache

pip3 cache remove litellm

Config files

rm -rf ~/.litellm ~/.litellm.env ~/.config/litellm
rm -f ~/litellm_config.yaml ~/litellm-config.yaml

MCP server (uv/uvx tool environment)

# Remove the uv tool that pulled in litellm
uv tool uninstall <TOOL_NAME>
# Or just remove litellm from the tool's isolated environment
~/.local/share/uv/tools/<TOOL_NAME>/bin/pip uninstall litellm -y

After removal, re-run the scan to verify your machine is clean.


Repository Structure

Livly.SecurityScanner/
├── README.md                                  # This file
├── scripts/
│   ├── scan-axios-supply-chain-mac.sh        # Axios scanner — macOS (universal)
│   ├── scan-axios-supply-chain-windows.ps1   # Axios scanner — Windows PowerShell
│   ├── scan-litellm-mac-arm.sh               # LiteLLM scanner — Apple Silicon Mac
│   ├── scan-litellm-mac-intel.sh             # LiteLLM scanner — Intel Mac
│   └── scan-litellm-windows.ps1              # LiteLLM scanner — Windows PowerShell
├── executables/
│   ├── Axios-Scan-Mac.command                # Axios Mac launcher (posts to Slack)
│   ├── Axios-Scan-Windows.bat                # Axios Windows launcher
│   ├── LiteLLM-Scan-Mac.command              # LiteLLM Mac launcher (posts to Slack)
│   ├── LiteLLM-Scan-Windows.bat              # LiteLLM Windows launcher
│   └── LiteLLM-Scan-Windows-Reporter.ps1     # LiteLLM Windows results reporter
└── .github/
    └── agents/
        └── LiteLLMScanAgent.agent.md         # VS Code Copilot agent (LiteLLM)

Requirements

  • macOS: Bash (pre-installed)
  • Windows: PowerShell 3.0+ (pre-installed on Server 2012+)
  • Copilot Agent: VS Code with GitHub Copilot extension

No additional dependencies required. The scripts use only built-in OS tools.

About

Employee workstation security scanner — detects and removes vulnerable packages (LiteLLM, etc.) across all Python environments, AI tools, and package managers. Includes Copilot agent for guided remediation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors