sql-query-tagger

User Guide

  • Installation
    • Requirements
    • From PyPI
    • From source (for contributors)
  • Quickstart
  • Usage
    • Blocking a destructive statement
    • Engine-specific dangerous function
    • Classifying query type only
    • Handling invalid input and unknown engines
    • Performance and caching
    • Limitations
  • Supported Engines
    • Adding a new engine
  • API Reference
    • Classifier
      • SQLClassifier
        • SQLClassifier.clean_sql_string()
        • SQLClassifier.classify_query()
    • Result types
      • ClassificationResult
        • ClassificationResult.query_type
        • ClassificationResult.security_analysis
        • ClassificationResult.cleaned_query
        • ClassificationResult.parsing_success
        • ClassificationResult.processing_time_ms
        • ClassificationResult.engine
        • ClassificationResult.engine_version
        • ClassificationResult.metadata
      • SecurityAnalysis
        • SecurityAnalysis.is_suspicious
        • SecurityAnalysis.risk_level
        • SecurityAnalysis.confidence_score
        • SecurityAnalysis.detected_patterns
        • SecurityAnalysis.anomaly_indicators
        • SecurityAnalysis.engine_specific_risks
        • SecurityAnalysis.recommendation
      • QueryType
        • QueryType.DDL
        • QueryType.DML
        • QueryType.DQL
        • QueryType.DCL
        • QueryType.TCL
        • QueryType.UTILITY
        • QueryType.PROCEDURAL
        • QueryType.ADMIN
        • QueryType.UNKNOWN
      • RiskLevel
        • RiskLevel.LOW
        • RiskLevel.MEDIUM
        • RiskLevel.HIGH
        • RiskLevel.CRITICAL
    • Exceptions
      • UnsupportedEngineError
    • Engine registry
      • get_profile()
      • EngineProfile
        • EngineProfile.name
        • EngineProfile.dialect_name
        • EngineProfile.supported_versions
        • EngineProfile.utility_commands
        • EngineProfile.admin_commands
        • EngineProfile.procedural_commands
        • EngineProfile.tcl_commands
        • EngineProfile.dcl_commands
        • EngineProfile.injection_patterns
        • EngineProfile.risk_weights
        • EngineProfile.dangerous_functions
        • EngineProfile.sensitive_catalogs
        • EngineProfile.version_overrides()
        • EngineProfile.command_tables()

Contributor Guide

  • Contributing
    • Setup
    • Running tests
    • Running the benchmark
    • Building the docs locally
    • Adding a new RDS engine
    • Adding a new detection pattern
    • Style
    • Pull requests
  • Architecture
    • Package layout
    • Classification flow
    • Engine profiles
  • Changelog
    • 0.1.1
sql-query-tagger
  • sql-query-tagger
  • View page source

sql-query-tagger

Static SQL query classifier and injection-risk analyzer for RDS database engines. Parses a SQL query string with sqlglot and tells you its query type (DDL/DML/DQL/…) and its security risk level, with the specific patterns that triggered that risk — no database connection required.

User Guide

  • Installation
    • Requirements
    • From PyPI
    • From source (for contributors)
  • Quickstart
  • Usage
    • Blocking a destructive statement
    • Engine-specific dangerous function
    • Classifying query type only
    • Handling invalid input and unknown engines
    • Performance and caching
    • Limitations
  • Supported Engines
    • Adding a new engine
  • API Reference
    • Classifier
    • Result types
    • Exceptions
    • Engine registry

Contributor Guide

  • Contributing
    • Setup
    • Running tests
    • Running the benchmark
    • Building the docs locally
    • Adding a new RDS engine
    • Adding a new detection pattern
    • Style
    • Pull requests
  • Architecture
    • Package layout
    • Classification flow
    • Engine profiles
  • Changelog
    • 0.1.1

Indices and tables

  • Index

  • Module Index

  • Search Page

Next

© Copyright 2026, Abhishek Chintagunta.

Built with Sphinx using a theme provided by Read the Docs.