joern-query

Execute custom Joern queries against a code property graph for static analysis.

113|23|Updated Mar 23, 2026
One-click install
npx skills add https://github.com/opensage-agent/opensage-adk --skill joern-query
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: joern-query
Source: https://github.com/opensage-agent/opensage-adk/tree/main/src/opensage/bash_tools/static_analysis
Command: npx skills add https://github.com/opensage-agent/opensage-adk --skill joern-query

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires httpx, websockets, and includes scripts (resource) components.

What problem does it solve?

This skill solves the difficulty of performing complex, graph-based security and structural analysis on source code by providing a direct interface to the Joern query engine.

Core Features & Use Cases

  • Custom CPG Queries: Execute arbitrary Joern queries against the code property graph to identify patterns, vulnerabilities, or structural anomalies.
  • Advanced Analysis: Leverage the power of graph databases to traverse complex code relationships that are difficult to find with standard grep or regex tools.
  • Use Case: Use this tool to query the call graph for all instances where a specific sensitive function is called without proper input sanitization.

Quick Start

Run the joern-query skill with your specific query string to analyze the code property graph.

Frequently Asked Questions about joern-query

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

FAQPage Schema
How do I run custom static analysis queries to find vulnerabilities in a large codebase?

To perform static analysis for vulnerability detection, you execute custom queries against a code property graph. This allows you to traverse complex code relationships and identify patterns like unsanitized function calls across large codebases.

What is a code property graph and when do I need it for security auditing?

A code property graph (CPG) combines abstract syntax trees, control flow, and program dependencies into a unified graph database. You need a CPG for security auditing when searching for complex structural anomalies that standard grep or regex tools cannot find.

Do I need a running Joern server to query a pre-initialized CPG binary?

Yes, you need a running Joern server and a pre-initialized CPG binary to function correctly. The skill provides a direct interface to the Joern query engine, sending your custom graph queries to the server for execution.

What's the best way to analyze call graphs for sensitive functions without proper input sanitization?

The best way to analyze call graphs for sensitive functions is leveraging a graph database to traverse code relationships. By querying the code property graph, you can pinpoint exact instances where specific functions receive un sanitized inputs.

Can I use regex or grep for code analysis instead of a code property graph?

You can use regex or grep for simple pattern matching, but they cannot traverse complex code relationships. A code property graph is required to understand structural anomalies and data flow across large codebases during security auditing.