<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Formal-Verification on 万屋猫Labs</title><link>https://yn-labs.com/en/tags/formal-verification/</link><description>Recent content in Formal-Verification on 万屋猫Labs</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 15 Jun 2026 12:00:00 +0900</lastBuildDate><atom:link href="https://yn-labs.com/en/tags/formal-verification/index.xml" rel="self" type="application/rss+xml"/><item><title>A Rust CLI Release Pipeline That Proves "Secrets Don't Leak" in Lean and Turns It Into a CI Gate</title><link>https://yn-labs.com/en/posts/secure-rust-cicd-release/</link><pubDate>Mon, 15 Jun 2026 12:00:00 +0900</pubDate><guid>https://yn-labs.com/en/posts/secure-rust-cicd-release/</guid><description>&lt;h2 id="why-tests-are-green-wasnt-enough"&gt;Why &amp;ldquo;Tests Are Green&amp;rdquo; Wasn&amp;rsquo;t Enough&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m building a CLI tool that runs agents without ever handing them a real API key. The property I want to protect is simple: the child process must never receive the real key. If that breaks, there&amp;rsquo;s no point in using the tool at all.&lt;/p&gt;
&lt;p&gt;But passing tests alone didn&amp;rsquo;t feel like enough assurance. All a test can say is &amp;ldquo;this input is fine,&amp;rdquo; not &amp;ldquo;any input is fine.&amp;rdquo; When you&amp;rsquo;re handling keys, that gap isn&amp;rsquo;t something you can ignore.&lt;/p&gt;</description></item></channel></rss>