Vyne's tech stack is designed to be concise and efficient:
Parsing Layer: Uses Tree-sitter to parse Python source code into AST. Tree-sitter is an incremental parser generator known for its speed and robustness, capable of handling syntax-incomplete code snippets.
Scanning Layer: Runs multiple specialized scanners on the AST and original source code. Each scanner is responsible for specific types of detection tasks, such as dependency analysis, dangerous function call identification, key pattern matching, etc.
Output Layer: Returns detection results in a structured format to the CLI, API, or web dashboard. This design allows Vyne to be easily integrated into CI/CD pipelines.
The workflow is as follows:
- Read the target Python file
- Parse into AST using Tree-sitter
- Run multiple scanners in parallel for analysis
- Aggregate results and generate a structured report
- Display findings via CLI, API, or dashboard