codeql

Scan codebases for security vulnerabilities using CodeQL data flow and taint tracking.

Updated Oct 27, 2024
One-click install
npx skills add https://github.com/TimMoyence/Innov-mind-museum --skill codeql-timmoyence
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: codeql
Source: https://github.com/TimMoyence/Innov-mind-museum/tree/main/.claude/skills/codeql
Command: npx skills add https://github.com/TimMoyence/Innov-mind-museum --skill codeql-timmoyence

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

CodeQL Analysis identifies security vulnerabilities across codebases by leveraging interprocedural data flow and taint tracking to surface risky patterns.

Core Features & Use Cases

  • Multi-language support: Python, JavaScript/TypeScript, Go, Java/Kotlin, C/C++, C#, Ruby, Swift.
  • Extensible data models: Create and consume data extension models for project APIs to catch domain-specific risks.
  • SARIF and rich outputs: Produce machine-readable results and apply filters with explicit suites to ensure targeted findings.
  • Workflow- and pipeline-ready: Integrates with build pipelines, supports run-all and important-only modes, and logs artifacts to a defined OUTPUT_DIR. For a use-case example, imagine scanning a polyglot repository to identify interprocedural vulnerabilities across services.

Quick Start

Run the full CodeQL analysis pipeline to build a database, create data extensions, and execute queries against your codebase.

Frequently Asked Questions about codeql

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

FAQPage Schema
How do I scan my codebase for security vulnerabilities using static analysis?

Static analysis scans your codebase for security vulnerabilities by building a CodeQL database, applying data extensions, and executing queries to surface risky patterns. It produces machine-readable SARIF outputs and logs artifacts to a defined directory.

Does CodeQL taint tracking support polyglot repositories with Python, Go, and TypeScript?

Yes, CodeQL taint tracking supports polyglot repositories across Python, JavaScript/TypeScript, Go, Java/Kotlin, C/C++, C#, Ruby, and Swift, enabling interprocedural vulnerability detection across multiple language services.

What is the best way to integrate CodeQL analysis into a build pipeline?

Integrating CodeQL analysis into a build pipeline involves running the full analysis workflow, which supports run-all and important-only scan modes, processes SARIF output, and stores structured diagnostics and results in a defined output directory.

Can I use custom data extension models for domain-specific security analysis?

Yes, you can create and consume custom data extension models for project APIs to catch domain-specific risks during security analysis. The workflow creates these extensions and applies them alongside explicit query suites for targeted findings.

How does interprocedural data flow analysis identify risky code patterns?

Interprocedural data flow analysis identifies risky code patterns by tracking how untrusted data moves across function boundaries and procedures. This taint tracking mechanism surfaces vulnerabilities that span multiple files and services within the codebase.

What are the limitations of using important-only scan modes for vulnerability detection?

Important-only scan modes limit vulnerability detection to a targeted subset of findings using explicit suite references, whereas run-all modes execute the complete query suite. Both modes process SARIF outputs and log diagnostics to a structured workflow directory.