<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Token False Alarms on Bitsy Wiki</title>
    <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/</link>
    <description>Recent content in Token False Alarms on Bitsy Wiki</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Capability Flags</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/capability-flags/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/capability-flags/</guid>
      <description>&lt;p&gt;A capability flag is a boolean asserting that a token contract &lt;em&gt;can&lt;/em&gt; do something. GoPlus returns about forty-five of them, TokenSniffer runs twenty-six named tests, Quick Intel publishes twenty-two numbered checks, and MetaMask ships fifty-one token-risk labels; the four are different vocabularies over one operation, which is reading the bytecode for a function selector or a storage pattern. None of them has a field that can hold a bound, a delay, or the kind of account holding the key. Searching GoPlus&amp;rsquo;s response documentation for &amp;ldquo;timelock&amp;rdquo;, &amp;ldquo;immutable&amp;rdquo; and &amp;ldquo;audit&amp;rdquo; returns nothing under any of the three.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Blank Field</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/the-blank-field/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/the-blank-field/</guid>
      <description>&lt;p&gt;The loudest false alarm is a red banner. The most common one is an empty response. GoPlus&amp;rsquo;s booleans are tri-state — &lt;code&gt;&amp;quot;1&amp;quot;&lt;/code&gt; true, &lt;code&gt;&amp;quot;0&amp;quot;&lt;/code&gt; false, absent means the question was not answered — and the vendor says so in three separate places, including &amp;ldquo;No return doesn&amp;rsquo;t mean it is risky&amp;rdquo; on &lt;code&gt;trust_list&lt;/code&gt;. Downstream, absence gets rendered as a grey shield, a &amp;ldquo;no data&amp;rdquo; badge, or a zero, and the party that turned the blank into a verdict is the integrator rather than the API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Liquidity and Holders</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/liquidity-and-holders/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/liquidity-and-holders/</guid>
      <description>&lt;p&gt;The heuristics that do not read code read four things: whether liquidity is locked, how concentrated the supply is, what else the deployer has deployed, and what the token&amp;rsquo;s counterparties have touched. All four are presented as analysis of on-chain state. Three of them are lookups against a curated list, and the fourth is a threshold somebody picked. Nothing written in the token contract changes any of the answers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-lock-is-a-name-on-a-list&#34;&gt;A lock is a name on a list&lt;a class=&#34;anchor&#34; href=&#34;#a-lock-is-a-name-on-a-list&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;GoPlus states the rule without hedging: &amp;ldquo;About &amp;rsquo;locked&amp;rsquo;: We only support the token lock addresses or black hole addresses that we have included.&amp;rdquo; A custom timelock, a Safe with a delay module, or a locker the vendor has not integrated reads as unlocked — not as unknown.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Allowlists</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/allowlists/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/allowlists/</guid>
      <description>&lt;p&gt;Every heuristic in this section has exactly one reliable off-switch, and it is not a property of the contract. GoPlus&amp;rsquo;s &lt;code&gt;trust_list&lt;/code&gt;, honeypot.is&amp;rsquo;s &lt;code&gt;very_low&lt;/code&gt; band, RugCheck&amp;rsquo;s silent exemption for USDC, MetaMask&amp;rsquo;s &lt;code&gt;VERIFIED&lt;/code&gt;, Uniswap&amp;rsquo;s &lt;code&gt;SafetyLevel.Verified&lt;/code&gt;, Jupiter&amp;rsquo;s strict list — clean is membership. A token that satisfies every published criterion and is on no list stays flagged, and a token on the list stays clean whatever its bytecode says.&lt;/p&gt;&#xA;&lt;h2 id=&#34;membership-does-not-suppress-the-findings&#34;&gt;Membership does not suppress the findings&lt;a class=&#34;anchor&#34; href=&#34;#membership-does-not-suppress-the-findings&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The most common misreading is that an allowlist entry cancels the flags. It does not; it sits beside them, and the decision to suppress belongs to whoever renders the response.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Often This Is Wrong</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/how-often-this-is-wrong/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/how-often-this-is-wrong/</guid>
      <description>&lt;p&gt;A detector vendor reports precision: of the alarms it raised, what share were correct. A deployer experiences the complementary quantity: given that my token is honest, what is the chance I get flagged. That is &lt;code&gt;1 − specificity&lt;/code&gt;, and the two numbers are not the same. Precision is inflated by the base rate of scams in the population sampled; &lt;code&gt;1 − specificity&lt;/code&gt; is untouched by it. Every published figure in this field is the first quantity, and nobody publishes the second.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clearing a Flag</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/clearing-a-flag/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/clearing-a-flag/</guid>
      <description>&lt;p&gt;Remediation is not one process. It is a dozen vendor queues, each keyed to a different machine, most of which will not tell you they exist. Changing the contract does not help: the &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/capability-flags#what-actually-moves-the-flag&#34;&gt;ENS token&lt;/a&gt; is behind a 48-hour timelock with a hard-capped mint and still reports &lt;code&gt;is_mintable&lt;/code&gt;, and both PEPE and 1INCH have renounced ownership and still report the flags their unreachable setters produce. Once a flag exists, it is a queue problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Designing and Self-Checking</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/designing-and-self-checking/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-false-alarms/designing-and-self-checking/</guid>
      <description>&lt;p&gt;Only two kinds of design decision change what a scanner reports. One is removing a function from the deployed bytecode, so there is nothing to detect. The other is moving the token inside a list somebody else maintains — a recognised locker, an indexed trading pair, a verified source. Everything in between — capping a setter, adding a timelock, publishing an audit, renouncing ownership — is invisible to the schema. That is not an argument against doing those things, which protect real users against real risks. It is an argument against expecting them to change a boolean.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
