[20260312_DOCS] Limited the tutorial index to intermediate pages that currently exist.
Intermediate Tutorials¶
Ready for more? These tutorials cover multi-file analysis, graph exploration, and cross-file security scanning.
What You'll Learn¶
By completing intermediate tutorials, you'll be able to:
- ✅ Analyze entire codebases
- ✅ Understand call-graph and dependency workflows from project-level analysis
- ✅ Detect vulnerabilities across file boundaries
- ✅ Build stronger multi-file investigation habits
Prerequisites¶
- Completed Beginner Tutorials
- Familiarity with Python projects
- For some tutorials: Pro tier license
Tutorial Series¶
1. Understand a Codebase¶
Time: 15 minutes | Tools: get_project_map, crawl_project | Tier: Community/Pro
Learn how to quickly understand unfamiliar codebases with project mapping.
2. Cross-File Security Scanning¶
Time: 15 minutes | Tools: cross_file_security_scan | Tier: Pro
Detect vulnerabilities that span multiple files.
Sample Project¶
Intermediate tutorials use a more complex project:
flask_app/
├── app.py # Flask application
├── routes/
│ ├── __init__.py
│ ├── auth.py # Authentication routes
│ └── users.py # User management
├── services/
│ ├── __init__.py
│ ├── user_service.py # User business logic
│ └── db_service.py # Database operations
├── models/
│ ├── __init__.py
│ └── user.py # User model
└── utils/
├── __init__.py
└── validators.py # Input validation
Download from sample projects.
Tier Requirements¶
| Tutorial | Community | Pro |
|---|---|---|
| Understand a Codebase | Partial | Full |
| Cross-File Security | — | ✅ |
Key Concepts¶
Multi-File Analysis¶
Going beyond single files to understand project architecture:
Single File → analyze_code
Multiple Files → crawl_project
Relationships → get_call_graph
Dependencies → get_cross_file_dependencies
Graph Analysis¶
Understanding code as a graph:
- Nodes: Functions, classes, modules
- Edges: Calls, imports, inheritance
- Traversal: Follow paths through the graph
Cross-File Taint¶
Tracking dangerous data across file boundaries:
routes/auth.py: username = request.form['username']
↓
services/user_service.py: get_user(username)
↓
services/db_service.py: cursor.execute(f"...{username}...") # VULNERABILITY!
Next Steps¶
Start with Understand a Codebase, then move to Cross-File Security Scanning for a multi-file workflow.
After completing intermediate tutorials, continue to Advanced Tutorials.