GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix(provenance): stop short secret values from rewriting unrelated long text by icecrasher321 · Pull Request #6416 · simstudioai/sim

Conversation

@icecrasher321

@icecrasher321 icecrasher321 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Split out detection vs render for projection to not over project.

Type of Change

  • Other: UI Improvement

Testing

Tested manually

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot] reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Vikhyath Mondreti added 2 commits August 8, 2026 10:36
Vikhyath Mondreti
fix(provenance): stop short secret values from rewriting unrelated lo…
7792c9d
…g text
Vikhyath Mondreti
Merge commit '3b0651ed9c' into staging-v30
d5cc241
@gitguardian

gitguardian Bot commented Aug 8, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
35897102 Triggered Generic High Entropy Secret 7792c9d apps/sim/executor/utils/resolved-secret-matcher.test.ts View secret
35897103 Triggered Generic Password 7792c9d apps/sim/executor/utils/resolved-secret-match-policy.test.ts View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider

  • following these best practices for managing and storing secrets including API keys and other credentials
  • install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.

🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vercel

vercel Bot commented Aug 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Aug 8, 2026 6:07pm

Request Review

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@cursor

cursor Bot commented Aug 8, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes secret redaction and provenance projection behavior for short literals across logs and Copilot; detection stays conservative while render is intentionally narrower, with broad test coverage.

Overview
Short resolved-secret literals (under 8 characters) no longer get substituted when they appear inside another token (e.g. test inside latest). Detection still treats those hits as matches everywhere; render (logs, Copilot, trace projection) only replaces them on word boundaries (standalone, delimited, or underscore-joined identifiers).

This adds a length-based match policy module and a detect / render mode on createResolvedSecretMatcher. Model egress, trace secret projection, and invariant checks build matchers with mode: 'render' so post-checks align with what was actually rewritten. sanitizeResolvedSecretString can run a few settle passes when a substitution exposes a boundary that was previously suppressed.

Reviewed by Cursor Bugbot for commit d5cc241. Configure here.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@greptile-apps

greptile-apps Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR separates detection from rendering and applies boundary-only projection to resolved secret values shorter than eight characters, preventing coincidental substitutions inside ordinary text.

  • Adds a shared short-secret matching policy with Unicode-aware boundary handling.
  • Adds render-mode matching and bounded multi-pass substitution to the resolved-secret matcher.
  • Applies render mode to model-content, Copilot-result, and trace projection paths.
  • Expands tests for boundary matching, replacement settling, provenance labels, and trace behavior.

Confidence Score: 3/5

This PR is not safe to merge until embedded short active secrets are prevented from reaching Copilot and persisted trace outputs.

The new render policy deliberately retains sub-eight-character secrets inside alphanumeric tokens, while model and trace projection paths—including trace invariant enforcement—use that same restricted policy.

Files Needing Attention: apps/sim/lib/logs/execution/trace-secret-projection.ts, apps/sim/executor/utils/resolved-secret-content-projection.ts, apps/sim/executor/utils/resolved-secret-matcher.ts

Security Review

A real short active secret embedded in an alphanumeric token can now pass unchanged into Copilot-visible content or persisted traces because projection and invariant enforcement both use the same boundary-restricted matcher. How this was verified: the changed PIN test preserves 483920 in ref483920x, and the trace post-check applies the identical render policy.

Important Files Changed

Filename Overview
apps/sim/executor/utils/resolved-secret-match-policy.ts Introduces the eight-character threshold and Unicode-aware boundary policy that intentionally suppresses embedded short matches.
apps/sim/executor/utils/resolved-secret-matcher.ts Adds render policies and bounded repeated substitution; behavior is well tested, with a minor import-order violation.
apps/sim/executor/utils/resolved-secret-content-projection.ts Applies render-mode matching to model and diagnostic projections, exposing the short-secret false-negative path.
apps/sim/lib/logs/execution/trace-secret-projection.ts Uses the restricted matcher for both trace projection and invariant enforcement, allowing embedded short plaintext to survive into log sinks.
apps/sim/lib/copilot/request/tools/resolved-secret-result.test.ts Explicitly demonstrates that a registered six-digit PIN remains visible when embedded in an alphanumeric token.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Active resolved-secret matches] --> B{Matcher mode}
  B -->|detect| C[Match at any offset]
  B -->|render| D{Secret length at least 8?}
  D -->|yes| C
  D -->|no| E{Word-boundary match?}
  E -->|yes| F[Replace with provenance label]
  E -->|no| G[Leave plaintext unchanged]
  F --> H[Copilot or trace output]
  G --> H
  H --> I[Render-mode invariant check]
  I -->|Same embedded match suppressed| H
Loading

Reviews (1): Last reviewed commit: "Merge commit '3b0651ed9c' into staging-v..." | Re-trigger Greptile

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot]
greptile-apps Bot reviewed Aug 8, 2026
View reviewed changes
Comment thread apps/sim/lib/logs/execution/trace-secret-projection.ts Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread apps/sim/executor/utils/resolved-secret-matcher.ts Resolved

Uh oh!

There was an error while loading. Please reload this page.

@icecrasher321
icecrasher321 merged commit 0aae736 into staging Aug 8, 2026
29 of 30 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@icecrasher321
icecrasher321 deleted the staging-v30 branch August 8, 2026 19:09
This was referenced Aug 8, 2026
v0.7.64: snowflake, dynatrace, mintlify, files and security hardening, perf improvements #6460
Merged
fix(provenance): record why a resolved-secret registry became incomplete #6478
Merged

This branch was previously deployed

1 inactive deployment
Preview — d5cc241a Deployed Aug 8, 2026 by vercel[bot]
View deployment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@greptile-apps greptile-apps[bot] greptile-apps[bot] left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@icecrasher321
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.