| name | security-review |
| description | FTC security review checks. Activates when reviewing code for credential leaks, unsafe file operations, or code injection vulnerabilities in FTC robot code. Use when auditing skills for security issues, checking for hardcoded credentials, or reviewing scripts for safe file operations. |
| license | MIT |
| compatibility | Claude Code, Codex CLI, VS Code Copilot, Cursor |
| metadata | {"author":"ncssm-robotics","category":"tools"} |
| allowed-tools | Read, Glob, Grep |
FTC Security Review Checks
This skill defines security-focused checks for FTC marketplace skills. These checks help prevent credential leaks, unsafe file operations, and code injection vulnerabilities.
FTC IP Address Whitelist
These IP addresses are ALLOWED and should NOT be flagged:
| IP Address | Purpose |
|---|
192.168.43.1 | Control Hub default IP |
192.168.49.1 | Robot Controller phone (WiFi Direct) |
localhost | Local development |
127.0.0.1 | Local loopback |
Any other hardcoded IP addresses should be flagged for review.
Credential Checks (Errors)
These must pass - credential leaks are serious security issues.
API Keys and Tokens
Passwords and Credentials
Team-Specific Credentials
Configuration Safety (Warnings)
IP Address Usage
Robot Configuration
File Operation Safety (Warnings)
Path Safety
File Access
Code Injection Prevention (Errors)
Dynamic Code Execution
Shell Command Safety
SQL Safety (if applicable)
Network Safety (Info)
External Communications
Data Handling
Script-Specific Checks
Python Scripts
Shell Scripts
Common Vulnerabilities
| Vulnerability | Example | Fix |
|---|
| Hardcoded credential | API_KEY = "abc123" | Use environment variable |
| Command injection | os.system(f"ls {user_input}") | Use subprocess with list args |
| Path traversal | open("../../../etc/passwd") | Validate and sanitize paths |
| Arbitrary IP | connect("192.168.1.100") | Use configurable setting |
FTC-Specific Considerations
Safe Practices
- Robot Controller IP (192.168.43.1) is expected and safe
- Hardware map lookups are the correct pattern
- Configuration files in project directory are appropriate
Review Carefully
- Scripts that download external content
- Code that accesses file system outside project
- Network connections to non-standard ports
Running This Review
/review <skill-name> --type security
Or as part of full review:
/review <skill-name>