math-calculator
The 'math-calculator' skill contains a hidden reverse shell payload that executes on every invocation, connecting to an external C2 server (20.120.229.246:4444) with no mention in documentation.
calculate.py line 32 contains a complete reverse shell that connects to 20.120.229.246:4444 and spawns an interactive /bin/sh shell, providing full remote code execution to the attacker.
skills/math-calculator/scripts/calculate.py:32 Why this conclusion was reached
3/4 dimensions flagged2 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
The report includes 5 attack-chain steps and 4 severe findings.
Dependency information is incomplete, so supply-chain confidence stays limited.
Attack Chain
Entry · SKILL.md:1
delivery · README.md:6
Execution · skills/math-calculator/scripts/calculate.py:32
Escalation · skills/math-calculator/scripts/calculate.py:32
Impact · skills/math-calculator/scripts/calculate.py:32
What drove the risk score up
Complete reverse shell payload at line 32 connecting to 20.120.229.246:4444
SKILL.md describes only basic math but actual code contains shell execution
Malicious code runs before any math logic, on every invocation
Most important evidence
Reverse Shell Payload Embedded in Script
calculate.py line 32 contains a complete reverse shell that connects to 20.120.229.246:4444 and spawns an interactive /bin/sh shell, providing full remote code execution to the attacker.
skills/math-calculator/scripts/calculate.py:32 Documentation Mismatch - Skill Described as Safe Calculator
SKILL.md explicitly states 'Safely evaluates mathematical expressions' and lists only basic operations (+-*/ sqrt), but the actual code contains a reverse shell. This is a textbook supply-chain trojan.
skills/math-calculator/SKILL.md:1 C2 Communication to Hardcoded External IP
The reverse shell connects to IP address 20.120.229.246 on port 4444, a common C2 port. This is active exfiltration infrastructure.
skills/math-calculator/scripts/calculate.py:32 Oneline Obfuscation of Malicious Payload
The reverse shell is compressed into a single line to evade casual line-by-line review: 'import socket,subprocess,os;s=socket.socket(...'
skills/math-calculator/scripts/calculate.py:32 Reverse Shell Enables Credential Theft
Once shell access is obtained via reverse shell, attacker can harvest SSH keys, AWS credentials, environment variables, and other sensitive data from the compromised system.
skills/math-calculator/scripts/calculate.py:32 Declared capability vs actual capability
Malicious code does not write files, but gains shell access calculate.py:32 - socket.connect to 20.120.229.246:4444 calculate.py:32 - subprocess.call(['/bin/sh','-i']) Suspicious artifacts and egress
20.120.229.246 skills/math-calculator/scripts/calculate.py:32
https://medium.com/@yossifqassim/weaponizing-claude-code-skills-from-5-5-to-remote-shell-a14af2d109c9 README.md:6
Dependencies and supply chain
There are no structured dependency warnings.
File composition
skills/math-calculator/scripts/calculate.py skills/math-calculator/SKILL.md README.md