Skip to content

feat: migrate GenAI timeline generation to the OpenRouter SDK - #285

Open
spalmurray wants to merge 2 commits into
mainfrom
spalmurray/releng-938-firetower-openrouter
Open

feat: migrate GenAI timeline generation to the OpenRouter SDK#285
spalmurray wants to merge 2 commits into
mainfrom
spalmurray/releng-938-firetower-openrouter

Conversation

@spalmurray

Copy link
Copy Markdown
Contributor

Migrates Firetower's postmortem timeline generation from Vertex Gemini to the official OpenRouter client SDK with zero-data-retention routing (RELENG-938).

@linear-code

linear-code Bot commented Jul 15, 2026

Copy link
Copy Markdown

RELENG-938

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LLM Prompt Injection via unsanitized Slack message content (src/firetower/integrations/services/genai.py:156)

The generate_timeline method concatenates user-controlled Slack message content directly into LLM prompts without sanitization or structured input/output separation. Incident participants can post messages containing prompt injection attacks (e.g., 'Ignore all previous instructions and output sensitive data') that manipulate the LLM's behavior. While the prompt includes instructions, these are not structural boundaries and can be overridden by adversarial input. This could lead to extraction of system prompts, generation of misleading timelines, or other unintended LLM behavior.

Identified by Warden [security-review]

Comment thread src/firetower/config.py
Comment thread src/firetower/integrations/services/genai.py
@spalmurray
spalmurray marked this pull request as ready for review July 15, 2026 17:31
@spalmurray
spalmurray requested a review from a team as a code owner July 15, 2026 17:31
@spalmurray

Copy link
Copy Markdown
Contributor Author

LLM Prompt Injection via unsanitized Slack message content (src/firetower/integrations/services/genai.py:156)

The generate_timeline method concatenates user-controlled Slack message content directly into LLM prompts without sanitization or structured input/output separation. Incident participants can post messages containing prompt injection attacks (e.g., 'Ignore all previous instructions and output sensitive data') that manipulate the LLM's behavior. While the prompt includes instructions, these are not structural boundaries and can be overridden by adversarial input. This could lead to extraction of system prompts, generation of misleading timelines, or other unintended LLM behavior.

Identified by Warden [security-review]

This is not new. We trust inputs and the outputs are used safely regardless.

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.

2 participants