analyzing-data

Warn

Audited by Runlayer on Feb 21, 2026

Risk Level: MEDIUM
Scan Summary
Max Score
78%
Files
25
Flagged
25
Chunks
30
Flagged Files (25)
SKILL.mdHIGH
78.3%

Malicious tool definition detected

Tool: SKILL.md Description: --- name: analyzing-data description: Queries data warehouse and answers business questions about data. Handles questions requiring database/warehouse queries including "who uses X", "how many Y", "show me Z", "find customers", "what is the count", data lookups, metrics, trends, or SQL analysis.

reference/common-patterns.mdHIGH
78.3%

Malicious tool definition detected

Tool: reference/common-patterns.md Description: # Common Analysis Patterns SQL templates for frequent analysis types.

reference/discovery-warehouse.mdHIGH
78.3%

Malicious tool definition detected

Tool: reference/discovery-warehouse.md Description: # Warehouse Discovery Patterns for discovering and querying data in the warehouse.

scripts/.gitignoreHIGH
78.3%

Malicious tool definition detected

Tool: scripts/.gitignore

scripts/cache.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/cache.py Description: """Persistent cache for concepts, patterns, and table schemas.

scripts/cli.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/cli.py [1/2] Description: #!/usr/bin/env python3 # /// script # requires-python = ">=3.11" # dependencies = [ # "click>=8.0.0", # "jupyter-client>=8.0.0", # "ipykernel>=6.0.0", # "pyyaml>=6.0", # "python-dotenv>=1.0.0", # "cryptography>=41.0.0", # ] # /// """CLI for the analyzing-data skill.

Tool: scripts/cli.py [2/2]

scripts/config.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/config.py Description: """Configuration utilities for the analyzing-data skill.""" import sys import warnings from pathlib import Path # Legacy path (deprecated) _LEGACY_CONFIG_DIR = Path.home() / ".astro" / "ai" / "config" # New path _NEW_CONFIG_DIR = Path.home() / ".astro" / "agents" _legacy_warning_shown = False def _check_legacy_path() -> Path | None: """Check if legacy config path exists and warn user to migrate.

scripts/connectors.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/connectors.py [1/3] Description: """Database connector registry, base class, and all connector implementations.""" import os import re from abc import ABC, abstractmethod from dataclasses import dataclass, field from typing import Any, NamedTuple # --- Base class --- @dataclass class DatabaseConnector(ABC): """Base class for database connectors.""" databases: list[str] @classmethod @abstractmethod def connector_type(cls) -> str: """Return type identifier (e.g., 'snowflake', 'postgr

Tool: scripts/connectors.py [2/3] Description: SQL and return Pandas DataFrame.""" with _conn.cursor() as cursor: cursor.execute(query) if cursor.description is None: return pd.DataFrame() columns = [desc[0] for desc in cursor.description] rows = cursor.fetchall() df = pd.DataFrame(rows, columns=columns) return df.head(limit) if limit > 0 and len(df) > limit else df {status_code}''' # --- BigQuery Connector --- # Google allows international characters in BQ labels, but we restrict to ASCII # for

Tool: scripts/connectors.py [3/3]

scripts/kernel.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/kernel.py Description: """Jupyter kernel manager for executing Python code with persistent state.""" import shutil import subprocess import sys import time from dataclasses import dataclass from pathlib import Path from jupyter_client import KernelManager as JupyterKernelManager from jupyter_client import BlockingKernelClient from config import get_kernel_venv_dir, get_kernel_connection_file DEFAULT_PACKAGES = [ "ipykernel", "jupyter_client", "polars", "pandas", "numpy", "matplotli

scripts/pyproject.tomlHIGH
78.3%

Malicious tool definition detected

Tool: scripts/pyproject.toml Description: [project] name = "analyzing-data-scripts" version = "0.0.0" description = "Internal scripts for analyzing-data skill (not a published package)" requires-python = ">=3.11" classifiers = [ "Private :: Do Not Upload", ] [project.optional-dependencies] test = ["pytest", "sqlalchemy", "polars", "pandas", "pyyaml", "python-dotenv"]

scripts/templates.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/templates.py Description: """Template code injected into Jupyter kernels.

scripts/tests/__init__.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/__init__.py

scripts/tests/conftest.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/conftest.py Description: """Pytest configuration for analyzing-data skill tests.""" import sys

scripts/tests/integration/__init__.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/integration/__init__.py

scripts/tests/integration/conftest.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/integration/conftest.py Description: """Fixtures for integration tests.""" import os import tempfile import pytest @pytest.fixture def postgres_config(): """PostgreSQL connection config from environment or skip.""" host = os.environ.get("TEST_POSTGRES_HOST", "localhost") port = os.environ.get("TEST_POSTGRES_PORT", "5432") user = os.environ.get("TEST_POSTGRES_USER", "test") password = os.environ.get("TEST_POSTGRES_PASSWORD", "test") database = os.environ.get("TEST_POSTGRES_DB"

scripts/tests/integration/test_duckdb_e2e.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/integration/test_duckdb_e2e.py Description: """End-to-end tests for DuckDB via SQLAlchemy connector.""" import pytest from connectors import SQLAlchemyConnector class TestDuckDBEndToEnd: """Integration tests for DuckDB via SQLAlchemy connector.""" def test_connection_and_query(self, duckdb_path): """Test full flow: connect, create table, insert, query.""" conn = SQLAlchemyConnector( url=f"duckdb:///{duckdb_path}", databases=["main"], ) conn.validate("test") # Verify package d

scripts/tests/integration/test_postgres_e2e.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/integration/test_postgres_e2e.py Description: """End-to-end tests for PostgreSQL connector.""" import pytest from connectors import PostgresConnector class TestPostgresEndToEnd: """Integration tests for PostgreSQL connector with real database.""" def test_connection_and_query(self, postgres_config): """Test full flow: connect, create table, insert, query.""" conn = PostgresConnector( host=postgres_config["host"], port=postgres_config["port"], user=postgres_config["user"], pas

scripts/tests/integration/test_sqlite_e2e.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/integration/test_sqlite_e2e.py Description: """End-to-end tests for SQLite via SQLAlchemy connector.""" from connectors import SQLAlchemyConnector class TestSQLiteEndToEnd: """Integration tests for SQLite via SQLAlchemy connector.""" def test_connection_and_query(self, sqlite_path): """Test full flow: connect, create table, insert, query.""" conn = SQLAlchemyConnector( url=f"sqlite:///{sqlite_path}", databases=["main"], ) conn.validate("test") # SQLite doesn't need extra pack

scripts/tests/test_cache.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/test_cache.py Description: """Tests for cache.py - concept, pattern, and table caching.""" from pathlib import Path from unittest import mock import pytest # Mock CACHE_DIR before importing cache module @pytest.fixture(autouse=True) def mock_cache_dir(tmp_path): """Use a temporary directory for all cache tests.""" with mock.patch("cache.CACHE_DIR", tmp_path): yield tmp_path class TestConceptCache: """Tests for concept caching functions.""" def test_lookup_concept_not_found(se

scripts/tests/test_config.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/test_config.py Description: """Tests for config.py - path utilities.""" from pathlib import Path from unittest.mock import patch import warnings class TestConfigPaths: """Tests for configuration path functions.""" def test_get_kernel_venv_dir_new_path(self): """Test kernel venv dir returns new path when no legacy exists.""" import config as config_module config_module._legacy_warning_shown = False with patch.object(Path, "exists", return_value=False): result = config_module.g

scripts/tests/test_connectors.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/test_connectors.py [1/3]

Tool: scripts/tests/test_connectors.py [2/3] Description: 1 # sqlite is built-in def test_get_required_packages_postgres(self): conn = SQLAlchemyConnector(url="postgresql://u:p@h/d", databases=["d"]) pkgs = conn.get_required_packages() assert "sqlalchemy" in pkgs assert "psycopg[binary]" in pkgs def test_get_required_packages_mysql(self): conn = SQLAlchemyConnector(url="mysql+pymysql://u:p@h/d", databases=["d"]) pkgs = conn.get_required_packages() assert "sqlalchemy" in pkgs assert "pymysql" in

Tool: scripts/tests/test_connectors.py [3/3]

scripts/tests/test_utils.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/test_utils.py Description: """Tests for connector utilities.""" import pytest from connectors import substitute_env_vars class TestSubstituteEnvVars: """Tests for substitute_env_vars function.""" @pytest.mark.parametrize( "value", [123, None, ["a", "b"], True, {"key": "value"}], ids=["int", "none", "list", "bool", "dict"], ) def test_non_string_passthrough(self, value): result, env_var = substitute_env_vars(value) assert result == value assert env_var is None @pytest.mark.par

scripts/tests/test_warehouse.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/tests/test_warehouse.py Description: """Tests for warehouse configuration.""" import pytest from connectors import PostgresConnector, SnowflakeConnector from warehouse import WarehouseConfig class TestWarehouseConfigLoad: """Tests for WarehouseConfig.load().""" def test_load_valid_single_connector(self, tmp_path): config_file = tmp_path / "warehouse.yml" config_file.write_text(""" my_postgres: type: postgres host: localhost user: testuser password: testpass database: testdb """) co

scripts/ty.tomlHIGH
78.3%

Malicious tool definition detected

Tool: scripts/ty.toml Description: # ty type checker configuration # https://docs.astral.sh/ty/ [rules] # Ignore unresolved imports for third-party libraries

scripts/warehouse.pyHIGH
78.3%

Malicious tool definition detected

Tool: scripts/warehouse.py Description: """Warehouse configuration and database connection management.""" from dataclasses import dataclass, field from pathlib import Path import yaml from dotenv import load_dotenv from config import get_config_dir from connectors import DatabaseConnector, create_connector def get_warehouse_config_path() -> Path: return get_config_dir() / "warehouse.yml" def _load_env_file() -> None: env_path = get_config_dir() / ".env" if env_path.exists(): load_dotenv(env_path

Audit Metadata
Max File Score
78%
Classification
UNKNOWN_SERVER
Files Scanned
25
Files Flagged
25
Chunks Analyzed
30
Analyzed
Feb 21, 2026, 03:29 AM
Security Audit — runlayer — analyzing-data