-
Notifications
You must be signed in to change notification settings - Fork 0
Security Score Summary
licco edited this page Aug 2, 2026
·
2 revisions
你的 MCP Marketplace 安全评分为 0.5/1.0(严重风险)
根据安全报告,主要问题:
- ❌ 硬编码密码(已确认不存在✅)
⚠️ 不安全的命令执行(需要添加验证)⚠️ 过宽的文件系统访问(需要添加限制)⚠️ 依赖项漏洞(需要更新)
文件: ssh_mcp/security.py
功能:
-
✅ CommandValidator - 命令白名单验证
- 防止命令注入攻击
- 限制可执行的命令
- 检测危险字符
-
✅ PathValidator - 路径安全验证
- 防止路径遍历攻击
- 限制访问敏感目录
- 确保路径在安全范围内
文件:
-
SECURITY_IMPROVEMENT_PLAN.md- 完整改进计划 -
SECURITY_FIXES.md- 具体修复方案
修改 ssh_mcp/clients/additional_clients.py:
from .security import SecurityError, command_validator
def execute_command(self, command: str, timeout: int = 30) -> CommandResult:
"""执行命令(带安全验证)"""
import subprocess
# 🔒 添加安全验证
try:
command_validator.validate_command(command)
except SecurityError as e:
return CommandResult(
stdout="",
stderr=f"安全错误:{str(e)}",
return_code=1
)
# ... 原有代码 ...修改 ssh_mcp/server.py:
from .security import SecurityError, command_validator
async def _handle_execute(self, args: dict) -> list[TextContent]:
"""处理命令执行(带安全验证)"""
command = args.get("command")
# 🔒 添加安全验证
try:
command_validator.validate_command(command)
except SecurityError as e:
return [TextContent(
type="text",
text=f"❌ 安全错误:{str(e)}"
)]
# ... 原有代码 ...# 更新到最新版本
pip install --upgrade asyncssh cryptography
# 检查漏洞
pip install pip-audit
pip-audit
# 安装安全工具
pip install bandit safety# 测试基本功能
python -m ssh_mcp.server
# 测试安全验证
python -c "from ssh_mcp.security import command_validator; print(command_validator.validate_command('ls -la'))"# 创建扫描脚本
cat > scripts/security_scan.sh << 'EOF'
#!/bin/bash
echo "🔍 运行安全扫描..."
# 依赖检查
pip install pip-audit safety bandit
pip-audit
safety check
# 代码扫描
bandit -r ssh_mcp/ -ll
echo "✅ 安全扫描完成"
EOF
chmod +x scripts/security_scan.sh
./scripts/security_scan.sh根据扫描结果修复:
- 更新有漏洞的依赖
- 修复代码安全问题
- 添加更多验证
- 更新 README 添加安全说明
- 添加 SECURITY.md 安全政策
- 说明权限需求
- 安全评分: 0.5/1.0
- 风险等级: Critical Risk 🔴
- 问题数: 11 个
- 用户信任: 低
- 安全评分: 0.8-0.9/1.0 ⭐
- 风险等级: Low Risk 🟢
- 问题数: 2-3 个
- 用户信任: 高
ls, dir, cd, pwd, cat, head, tail, grep, find
uname, hostname, whoami, uptime, date, top, ps, free, df, du
ping, netstat, ss, curl, wget
cp, mv, rm, mkdir, touch, chmod, tar, gzip
echo, printf, sed, awk, cut, sort, uniq, wc
docker, docker-compose
systemctl, journalctl, service
# 系统关键命令
sudo, su, passwd, shutdown, reboot
# 可能危险的命令
dd, mkfs, fdisk, wget (带参数限制)
# 通过正则检测
包含 | & ; $ ` > < \n \r 的命令
- 创建安全验证模块 ✅
- 在 additional_clients.py 中添加验证
- 在 server.py 中添加验证
- 移除所有硬编码密码(已确认没有)
- 使用环境变量管理配置
- 更新 asyncssh 到最新版本
- 更新 cryptography 到最新版本
- 运行 pip-audit 扫描
- 运行 safety 检查
- 运行 bandit 代码扫描
- 添加 SECURITY.md 文件
- 更新 README 安全说明
- 说明权限需求
- 提供配置示例
- 测试命令注入防护
- 测试路径遍历防护
- 测试白名单功能
- 运行单元测试
- pip-audit: Python 依赖漏洞扫描
- safety: Python 包安全检查
- bandit: Python 代码安全扫描
- semgrep: 静态代码分析
- ✅ 创建安全验证模块
- ✅ 实现命令白名单
- ✅ 实现路径验证
- ✅ 编写完整文档
- ✅ 推送到 GitHub
- 🔄 在代码中集成验证
- 🔄 更新依赖
- 🔄 运行安全扫描
- 🔄 重新提交到 Marketplace
- ⭐ 安全评分提升到 0.8+
- 🟢 风险等级降低到 Low
- 👥 用户信任度提升
- 📈 更好的市场接受度
立即开始实施剩余改进,提升安全评分! 🚀
Generated: 2026-03-12
Current Score: 0.5
Target Score: 0.8+
Status: Security Module Created, Integration In Progress