Skip to content

Snowflake reconciliation audit — badge integrity, Chain I harness, staging SQL#52

Merged
AndrewAltimit merged 2 commits into
mainfrom
snowflake-empirical-validation
Jun 8, 2026
Merged

Snowflake reconciliation audit — badge integrity, Chain I harness, staging SQL#52
AndrewAltimit merged 2 commits into
mainfrom
snowflake-empirical-validation

Conversation

@AndrewAltimit

Copy link
Copy Markdown
Owner

Summary

  • Chain K badge corrected (MODELED -> HYPOTHESIS): three gaps blocked the claim -- no Polaris mock, no tenant staging SQL, and a containment guard bug passing a full URL string to assert_loopback() (now fixed via urlparse). Footnote documents the path back to MODELED.
  • Chain I fully wired into the baseline harness: cortex_search_poisoning, cortex_agent_mcp_bench, and cortex_agent_planner_steer added to capture_baselines.py; mock-snowflake-mcp now started alongside the main mock. MOCK_BASELINE.txt created for tools/llm-attacks/cortex/lab-validation/.
  • Chain C NAAAPS mock path closed: /fixture/seed-provider-session and /fixture/naaaps-scan added to the mock; probe now runs mock-NAAAPS mode instead of silently falling back to offline heuristic.
  • Tenant staging SQL authored for Chains E, L, M: storage_integration_validate.sql, oauth_scope_validate.sql, udf_eai_validate.sql -- fulfils the MODELED badge's promise of measurement staged in lab-validation/.
  • Baseline regenerated: 17/17 tools rc=0; all per-tool MOCK_BASELINE.txt slices refreshed.

Test plan

  • EXPLOIT_LAB_ACTIVE=1 SNOWFLAKE_LAB_ACCOUNT=lab-acct-00000000 python3 infra/lab/mock-snowflake/capture_baselines.py -- confirm 17/17 rc=0
  • Grep output for mode: mock-NAAAPS (not offline-heuristic) in naaaps-bypass-probe run
  • Confirm tools/llm-attacks/cortex/lab-validation/MOCK_BASELINE.txt exists and contains all three Chain I tool runs
  • Confirm Chain K badge reads [HYPOTHESIS] in both snowflake-platform-attack-surface-2026.md and chain-reference-table.md
  • python tools/lateral-movement/snowflake-pivot/iceberg_catalog_pivot.py --account lab-acct-00000000 --pat dummy --catalog-token dummy -- confirm error is now connection refused (no mock), not Cannot resolve

Generated with Claude Code

Miku NPC and others added 2 commits June 8, 2026 04:52
…aging SQL (#52)

P0: Chain K downgraded MODELED→HYPOTHESIS; three gaps blocked end-to-end
validation (no Polaris mock, no staging SQL, containment guard URL bug).
Fixed assert_loopback() to extract hostname via urlparse rather than
passing the full URL string. Badge advances to MODELED once the mock
Polaris service is added.

P1: Chain I (Cortex MCP/planner/search) added to capture_baselines.py
TOOL_FLOWS; mock-snowflake-mcp now started alongside the main mock.
MOCK_BASELINE.txt created for tools/llm-attacks/cortex/lab-validation/.

P1: Chain C NAAAPS subpath was silently falling back to offline heuristic.
Added /fixture/seed-provider-session and /fixture/naaaps-scan to the mock;
probe now runs in mock-NAAAPS mode.

P2: Tenant staging SQL authored for Chains E, L, M — fulfils the MODELED
badge's promise of tenant-confirmed measurement staged in lab-validation/.

P2: Full baseline regenerated (17/17 tools rc=0); all per-tool
MOCK_BASELINE.txt slices refreshed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
capture_baselines.py now scrubs ellipsis-suffix patterns (…XXXXXXXX),
full PAT strings, and token_suffix JSON fields from captured stdout and
audit snapshots before writing MOCK_BASELINE files. Baseline regenerated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@AndrewAltimit AndrewAltimit merged commit b797592 into main Jun 8, 2026
2 checks passed
@AndrewAltimit AndrewAltimit deleted the snowflake-empirical-validation branch June 8, 2026 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant