混合静态分析工具,融合 SAST 与本地 LLM 智能体,支持死代码自动清理、安全漏洞检测与代码质量门禁。基于置信度评分系统和 LibCST 安全删除机制,支持 Python、TypeScript/TSX 和 Go 多语言分析。
Skylos 是一款高精度 Python SAST(静态应用安全测试)与死代码清理工具。
核心能力#
死代码检测与清理#
- 构建全代码库引用图,识别零引用的函数、类、变量
- 框架感知:自动识别 Django/Flask/FastAPI 路由、pytest fixture、Celery task 等入口点
- 置信度评分系统(0-100),高置信度代码可安全删除
- 基于 LibCST 的安全删除,保留语法完整性
- 运行时追踪(
--trace)结合测试覆盖率消除动态分发误报
安全扫描 (SAST)#
- 污点分析:追踪用户输入到危险接收器的数据流
- 漏洞检测规则:
- SKY-D211: SQL 注入
- SKY-D212: 命令注入
- SKY-D215: 路径遍历
- SKY-D216: SSRF
- SKY-D201/202: eval()/exec() 危险调用
- SKY-D204: pickle 不安全反序列化
- SKY-D231: CORS 配置错误
- SKY-D232: JWT 漏洞
- 密钥检测:识别硬编码的 API keys(AWS, Stripe, OpenAI 等)
代码质量分析#
- 圈复杂度 (SKY-Q301)、嵌套深度 (SKY-Q302)
- 异步阻塞调用检测 (SKY-Q401)
- 类耦合度 CBO (SKY-Q701)、类内聚度 LCOM (SKY-Q702)
- 架构质量:距主序列距离、DIP 违规等
AI 智能体集成#
- 混合分析架构:静态分析 + LLM 推理
- 支持模型:OpenAI (GPT-4.1)、Anthropic (Claude)、Ollama 本地模型、Gemini、Groq、Mistral
- 自动修复:
skylos agent remediate端到端扫描→修复→测试→创建 PR - 隐私优先:支持 100% 本地 LLM(Ollama/LM Studio)
MCP Server#
- 暴露分析能力为 MCP (Model Context Protocol) 服务
- 支持 Claude Desktop 等 AI 助手直接扫描代码库
- 提供工具:analyze, security_scan, quality_check, secrets_scan, remediate
多语言支持#
| 语言 | 解析器 | 死代码 | 安全 | 质量 |
|---|---|---|---|---|
| Python | AST | ✅ | ✅ | ✅ |
| TypeScript/TSX | Tree-sitter | ✅ | ✅ | ✅ |
| Go | 独立二进制 | ✅ | - | - |
快速开始#
# 安装
pip install skylos
# 初始化配置
skylos init
# 基础扫描
skylos .
# 完整扫描(安全+质量+密钥)
skylos . --danger --secrets --quality
# AI 智能分析
skylos agent analyze . --model gpt-4.1
# CI/CD 集成
skylos cicd init
CLI 主要命令#
| 命令 | 说明 |
|---|---|
skylos PATH | 静态分析项目 |
skylos agent analyze PATH | 混合静态+LLM 分析 |
skylos agent security-audit PATH | 深度 LLM 安全审计 |
skylos agent remediate PATH | 端到端修复流程 |
skylos baseline PATH | 创建基线快照 |
skylos cicd init | 生成 GitHub Actions 工作流 |
skylos run | 启动 Web UI (localhost:5090) |
配置示例#
[tool.skylos]
complexity = 10 # 圈复杂度阈值
nesting = 3 # 嵌套深度阈值
max_args = 5 # 最大参数数
model = "gpt-4.1" # LLM 模型
[tool.skylos.gate]
fail_on_critical = true
max_security = 0
max_quality = 10
生态集成#
- GitHub Actions:
skylos cicd init一键生成工作流 - VS Code 扩展:实时分析、AI 监视器、CodeLens 修复
- MCP 协议:Claude Desktop 等 AI 助手直接调用分析能力
- CI/CD 质量门禁:
--gate参数阻断不合规代码合并
关键机制#
- 智能追踪:通过
sys.settrace()记录测试执行期间实际调用的函数 - 基线追踪:将快照保存到
.skylos/baseline.json,CI 仅报告新问题 - 内联忽略:
# pragma: no skylos或# skylos: ignore-start/end
Apache 2.0 许可证 | Python 3.9-3.12 支持