How to use Claude to audit backend security
Thomas Hansen used Claude to review Magic Cloud source, fixed request limits and path handling, and documented a remaining timeout issue in privileged code.
Suggested prompt
Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.
Audit this Magic Cloud backend’s Kestrel limits, host timeouts, system endpoints, and authentication/file/SQL/diagnostic/execution plugins. Trace absolute-path containment and debug leakage with concrete evidence. Separate root-only execution risks from public request paths. Present fixes for my review and keep unresolved process timeouts visible.
Reach people exploring AI agents
See placements →What happened
Hansen reports correcting request limits, host timeouts, path traversal handling and debug leakage, while an execution-timeout item remained open.
Reported by Thomas Hansen on BlogHow the agent did it
- Hansen scoped the review to host configuration, system endpoints and plugins.
- Claude identified request limits, timeout settings, path handling and debug leakage issues.
- Hansen applied fixes and documented a remaining root-only execution timeout.
Where a person stepped in
Hansen reviewed reported findings, fixed the identified request limits, path handling and debug output, and documented unresolved privileged timeouts.
Thomas Hansen asked Claude Code to review Magic Cloud's actual backend source for security weaknesses. The scope included Kestrel host settings, system endpoints and plugin projects covering authentication, file operations, SQL evaluation, diagnostics, cryptography and execution.
The agent surfaced contradictory or excessive request-body limits and long keep-alive and request-header timeouts. Hansen also reports a path-traversal weakness in RootResolver's AbsolutePath handling and debug output in PythonExecute that exposed internal paths. He says he corrected these findings after reviewing them.
The account includes an unresolved issue instead of presenting a clean bill of health. TerminalExecute lacked a timeout, so a runaway process could block until someone intervened. Similar concerns applied to some Git operations. Hansen explained that these paths were restricted to root users, which affected how he assessed their severity without removing the need for a fix.
The useful result is a set of source-specific hardening changes and a documented remaining item. Hansen also reports favorable agent conclusions about other subsystems, but those do not establish that vulnerabilities were absent. This is a maintainer's account of an AI-assisted review of his own product, with its conclusions requiring that attribution.
Prompt
Suggested prompt (written by Agents In Use, not the author's)
Source: Blog · Thomas Hansen
Frequently asked questions
Which findings were fixed?
Request limits, host timeouts, path traversal handling and internal-path debug output.
What remained unresolved?
Terminal execution lacked a timeout, with similar concerns for some Git operations.
Does the account prove the platform secure?
No. It records a maintainer's reported findings and fixes, not an independent exhaustive audit.
More details
About this account
The agent surfaced contradictory or excessive request-body limits and long keep-alive and request-header timeouts. Hansen also reports a path-traversal weakness in RootResolver's AbsolutePath handling and debug output in PythonExecute that exposed internal paths. He says he corrected these findings after reviewing them.
Primary maintainer account opened. Publisher markets its own product; findings and fixes are attributed to Hansen. Absence of other findings is not proof of security or an independent audit. Prompt is suggested by Agents In Use, not a quoted original.
Credit: Thomas Hansen on Blog
Source published 20 Apr 2026
Source checked 14 Oct 2026
Tools and topics
Claude Code · Magic Cloud · C# · Kestrel
Source review · Backend hardening
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.