by duriantaco
Open-source Python, TypeScript, and Go SAST with dead code detection. Finds secrets, exploitable flows, and AI regressions. VS Code extension, GitHub Action, and MCP server for AI agents.
# Add to your Claude Code skills
git clone https://github.com/duriantaco/skylosLast scanned: 5/21/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-21T07:54:02.278Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
📖 Website · Documentation · Blog · GitHub Action · VS Code Extension · MCP Server
English | 中文
Skylos is an open-source static analysis tool and PR gate for Python, TypeScript, and Go. It helps teams detect dead code, hardcoded secrets, exploitable flows, and AI-generated security regressions before they land in main.
If you use Vulture for dead code, Bandit for security checks, or Semgrep/CodeQL for CI enforcement, Skylos combines those workflows with framework-aware dead code detection and diff-aware regression detection for AI-assisted refactors.
The core use case is straightforward: run it locally, add it to CI, and gate pull requests on real findings with GitHub annotations and review comments. Advanced features like AI defense, remediation agents, VS Code, MCP, and cloud upload are available, but you do not need any of them to get value from Skylos.
| Goal | Command | What you get |
|:---|:---|:---|
| Run everything local | skylos suite . | Static findings, technical debt hotspots, Python AI defense, and provenance summary in one report |
| Scan a repo | skylos . -a | Dead code, risky flows, secrets, and code quality findings |
| Gate pull requests | skylos cicd init | A GitHub Actions workflow with a quality gate and inline annotations |
| Audit an LLM app | skylos defend . | Optional AI defense checks for Python and direct TypeScript LLM integrations |
skylos suite . for the full local overviewskylos . for the focused static scanskylos cicd init for CI setupskylos agent scan . for hybrid static + LLM reviewtsconfig project references during TypeScript package resolution, and it keeps workspace package entrypoints alive during dead-file and unnecessary-export analysis.skylos discover and skylos defend can now pick up direct TypeScript LLM integrations in Node / Next-style codepaths as a beta surface.| | Skylos | Vulture | |:---|:---|:---| | Recall | 98.1% (51/52) | 84.6% (44/52) | | False Positives | 220 | 644 | | Framework-aware (FastAPI, Django, pytest) | Yes | No | | Security scanning (secrets, SQLi, SSRF) | Yes | No | | AI-powered analysis | Yes | No | | CI/CD quality gates | Yes | No | | TypeScript + Go support | Yes | No |
Benchmarked on 9 popular Python repos (350k+ combined stars) + TypeScript (consola). Every finding manually verified. Full case study →
# Generate a GitHub Actions workflow in 30 seconds
skylos cicd init
# Commit and push to activate
git add .github/workflows/skylos.yml && git push
What you get:
No configuration needed - works out of the box with sensible defaults. See CI/CD section for customization.
If you are evaluating Skylos, start with the core workflow below. The LLM and AI defense commands are optional.
| Objective | Command | Outcome |
| :--- | :--- | :--- |
| Everything local | skylos suite . | One report for static findings, technical debt, Python AI defense, and provenance |
| First scan | skylos . | Dead code findings with confidence scoring |
| Audit risk and quality | skylos . -a | Dead code, risky flows, secrets, quality, and SCA findings |
| Higher-confidence dead code | skylos . --trace | Cross-reference static findings with runtime activity |
| Review only changed lines | skylos . --diff origin/main | Focus findings on active work instead of legacy debt |
| Local staged hook | skylos agent pre-commit . | Fast staged check for security, secrets, and high-signal quality regressions |
| Gate locally | skylos --gate | Fail on findings before code leaves your machine |
| Set up CI/CD | skylos cicd init | Generate a GitHub Actions workflow in 30 seconds |
| Gate in CI | skylos cicd gate --input results.json | Fail builds when issues cross your threshold |
| Objective | Command | Outcome |
| :--- | :--- | :--- |
| Detect Unused Pytest Fixtures | skylos . --pytest-fixtures | Find unused @pytest.fixture across tests + conftest |
| AI-Powered Analysis | skylos agent scan . --model gpt-4.1 | Fast static + LLM file review with dead-code verification available on demand |
| Dead Code Verification | skylos agent verify . --model gpt-4.1 | Dead-code-only second pass: static findings reviewed by the LLM |
| Security Audit | skylos agent scan . --security | Staged security audit with repo map, file facts, and verifier-backed evidence |
| Auto-Remediate | skylos agent remediate . --auto-pr | Scan, fix, test, and open a PR — end to end |
| Code Cleanup | skylos agent remediate . --standards | LLM-guided code quality cleanup against coding standards |
| PR Review | skylos agent scan . --changed | Analyze only git-changed files |
| PR Review (JSON) | skylos agent scan . --changed --format json -o results.json | LL