llm-keys-ui closes paste leak, datasette-explain hits SQLite ceiling
Every URL the pipeline pulled into ranking for this issue — primary sources plus the supporting and contradicting findings each Researcher returned. Inline citations in the issue point back here.
Sources
llm-keys-ui 0.1 simonwillison.net
Release: llm-keys-ui 0.1 This plugin solves a very specific problem. I’ve started using Codex Remote to run coding agents on various machines while controlling them from my phone. Sometimes I use those machines to hack on LLM projects, and occasionally that means I need to configure an API key. I don’t like pasting API keys into agent sessions, so I wanted a way to get those keys onto a machine without pasting them into the ChatGPT app directly. With this plugin, I can tell Codex to run: uvx —…
datasette-explain 0.2.2 simonwillison.net
Release: datasette-explain 0.2.2 Explain plans now work on read-only stored-query pages. I upgraded datasette.simonwillison.net to Datasette 1.0a40, which inspired me to ship a new version of this explain plugin. Tags: sqlite , datasette
References
zenn.dev — yottayoshida on llm-key-ring (lkr) zenn.dev
If an AI agent attempts to exfiltrate a key through a non-interactive command (e.g., echo | lkr get), the guard blocks access with a specific exit code… the TTY guard can be bypassed if the agent operates via a pseudo-terminal (PTY), which is standard in many IDE-integrated environments like Cursor or Claude Code.
OpenAI — Mastering Codex Remote for Engineering developers.openai.com
Users can choose between two execution modes: Codex Cloud, which uses an isolated sandbox for disposable tasks, and Codex Remote, which connects directly to the user’s local environment… providing ‘environment truth,’ allowing the agent to interact with local databases, VPNs, and specific toolchains that a cloud sandbox might lack.
Medium — Securing Agentic AI in Production medium.com
A specialized attack vector known as ‘prompt injection for credential extraction’ allows adversaries to coerce an agent into revealing its own secrets through natural language commands… developers should never rely on system prompts to protect secrets; authorization logic must reside in deterministic external systems rather than the LLM itself.
aaronwiseai.com — Tailscale Serve vs Funnel aaronwiseai.com
Funnel should be used with caution for sensitive services like AI agents or home automation, as it lacks Tailscale’s built-in authentication for public visitors.
StackHawk — Codex Security review stackhawk.com
The Codex Security layer… reports a 50% reduction in false positives compared to traditional static analysis tools… [but] repository-centric scanning cannot catch all runtime vulnerabilities, necessitating continued manual validation.
Datasette changelog (1.0a40 release notes) docs.datasette.io
Queries defined in datasette.yaml are trusted by default and executable by any user with view-query; user-created stored queries are untrusted and run under the actor’s execute-sql / execute-write-sql permissions.
r/sqlite — ‘Building visual EXPLAIN QUERY PLAN’ reddit.com
SQLite outputs a flat list of parent-child rows that users must mentally reassemble into a hierarchy, and it lacks an EXPLAIN ANALYZE equivalent — so visualizers are limited to estimated plan structures rather than real runtime metrics.
Datasette performance docs docs.datasette.io
Use
?_trace=1(with trace_debug enabled) to see every SQL query and its duration; the datasette-pretty-traces plugin renders these visually and highlights queries exceeding sql_time_limit_ms in pink.
Datasette config docs (sql_time_limit_ms / max_returned_rows) docs.datasette.io
sql_time_limit_ms terminates queries beyond the threshold (default 1s) and max_returned_rows caps result sets (default 1,000) — guardrails that make EXPLAIN-driven optimization operationally necessary, not cosmetic.