InvisableOS
Gate armed

Intercept

Filter and rewrite

Paste or drop source. InvisableOS strips invisible Unicode, folds homoglyphs, kills bidi overrides, and rewrites Claude-voiced comments before anything is allowed near git.

  1. 01 Incoming
  2. 02 Detect
  3. 03 Rewrite
  4. 04 VCS
Verdict
tainted
Risk
74
Findings
10
Marks
9
Lang
ts
  • Strip invisible / format characters3
  • Strip trailing whitespace + CRLF1
  • Strip Claude / AI-voiced comments5

Channels

  • UTF-8 byte-order mark

    medium

    File starts with U+FEFF. Often used as a covert signature on generated files.

    L1:1·// I'll help you implement a robust session helper.

  • ZERO WIDTH NO-BREAK SPACE / BOM

    high

    U+FEFF is not rendered. Common Claude / LLM fingerprint channel.

    L1:1·// I'll help you implement a robust session helper.

  • ZERO WIDTH SPACE

    high

    U+200B is not rendered. Common Claude / LLM fingerprint channel.

    L5:22·export function rotat​eSession(token: string): string {

  • ZERO WIDTH NON-JOINER

    high

    U+200C is not rendered. Common Claude / LLM fingerprint channel.

    L11:42·return token.slice(0, 8) + "." + stamp;‌

  • AI / Claude comment voice

    medium

    Tutorial or assistant phrasing typical of Anthropic and other LLM codegen.

    L1:2·// I'll help you implement a robust session helper.

  • AI / Claude comment voice

    medium

    Tutorial or assistant phrasing typical of Anthropic and other LLM codegen.

    L2:2·// This function handles token rotation and gracefully handles edge cases.

  • AI / Claude comment voice

    medium

    Tutorial or assistant phrasing typical of Anthropic and other LLM codegen.

    L3:2·// Here's a comprehensive solution that is production-ready.

  • AI / Claude comment voice

    medium

    Tutorial or assistant phrasing typical of Anthropic and other LLM codegen.

    L6:2·// We need to ensure the token is not empty

  • Trailing whitespace

    low

    Trailing spaces or tabs can encode a bitstream across a file.

    L10:43·const stamp = Date.now().toString(36);

  • AI / Claude comment voice

    medium

    Tutorial or assistant phrasing typical of Anthropic and other LLM codegen.

    L14:2·// Let me add a helper function to verify the shape

Incoming
1// I'll help you implement a robust session helper.
2// This function handles token rotation and gracefully handles edge cases.
3// Here's a comprehensive solution that is production-ready.
4
5export function rotat​eSession(token: string): string {
6 // We need to ensure the token is not empty
7 if (!token) {
8 throw new Error("missing token");
9 }
10 const stamp = Date.now().toString(36);
11 return token.slice(0, 8) + "." + stamp;‌
12}
13
14// Let me add a helper function to verify the shape
15export function isSessionShape(value: unknown): value is { token: string } {
16 return typeof value === "object" && value !== null && "token" in value;
17}
Rewritten
1
2
3export function rotateSession(token: string): string {
4
5 if (!token) {
6 throw new Error("missing token");
7 }
8 const stamp = Date.now().toString(36);
9 return token.slice(0, 8) + "." + stamp;
10}
11
12export function isSessionShape(value: unknown): value is { token: string } {
13 return typeof value === "object" && value !== null && "token" in value;
14}