cpg-analysis

Analyze control flow, data flow, and security vulnerabilities using Joern or CodeQL.

Updated Jun 19, 2026
One-click install
npx skills add https://github.com/lciacci/tessera --skill cpg-analysis-lciacci
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cpg-analysis
Source: https://github.com/lciacci/tessera/tree/main/skills/cpg-analysis
Command: npx skills add https://github.com/lciacci/tessera --skill cpg-analysis-lciacci

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enables deep code analysis when ordinary code navigation cannot reveal complex control flow, data dependencies, taint paths, dead code, or security vulnerabilities.

Core Features & Use Cases

  • Joern CPG Analysis: Explore AST, CFG, CDG, DDG, and PDG relationships for structural and behavioral analysis.
  • CodeQL Security Auditing: Perform interprocedural taint analysis and detect vulnerability patterns across supported languages.
  • Tiered Investigation: Combine codebase navigation, Joern, and CodeQL to scope changes, trace dependencies, analyze flows, and prioritize security findings.
  • Use Case: Investigate whether untrusted request data can reach a payment or database operation, then report the complete flow and severity.

Quick Start

Use the cpg-analysis skill to investigate control flow and trace untrusted input to security-sensitive operations in the selected codebase.

Frequently Asked Questions about cpg-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trace untrusted input to security-sensitive operations in a codebase?

You can trace untrusted input to sensitive operations by performing interprocedural taint analysis. This Skill uses CodeQL or Joern to map complete data flow paths, identifying if untrusted request data reaches payment or database operations, and reports the severity.

When do I need code property graph analysis for security auditing?

Code property graph analysis is needed when ordinary code navigation cannot reveal complex control flow, data dependencies, or dead code. It combines AST, CFG, and DDG relationships to uncover structural vulnerabilities and taint paths during security audits.

Do I need Joern or CodeQL to analyze control flow and data dependencies?

Yes, this Skill requires either Joern with Docker and JVM support or the CodeQL CLI. These tools provide the deep graph queries and interprocedural security analysis necessary to investigate complex code relationships.

Can I investigate dead code and exception flow using CodeQL?

Yes, you can investigate dead code and exception flow alongside taint tracking. The Skill applies tiered investigation combining codebase navigation, Joern, and CodeQL to scope changes, trace dependencies, and analyze complete flows.

What is the best way to find vulnerability patterns across supported programming languages?

The best way to find vulnerability patterns is using CodeQL security auditing for interprocedural analysis. It detects vulnerability patterns across supported languages by querying complex code graphs beyond standard source navigation capabilities.