The Red Team's 85 Critical Bugs: What the Bitcoin Ecosystem's First AI Audit Really Reveals
CryptoAlpha
On a Tuesday morning in August, a few hundred volunteers reported for duty. Their mission was simple and terrifying: find vulnerabilities in the Bitcoin ecosystem. By the end of the week, they had logged 4,962 findings and claimed 85 critical bugs across 390 projects. The numbers are stark. The emotional shorthand from the coordinator, Calle, was even starker: "Situation is extremely bad."
I have spent the better part of a decade inside this industry, auditing early token standards, designing governance models, and sitting with community members when the market turns cold. I know the difference between a raw scanner alert and a confirmed exploit. I know the difference between a headline that grabs attention and a report that creates real, lasting change. And I know that the gap between those two things is where trust is either built or broken.
The announcement of 85 critical vulnerabilities lands in a particular context. Days before, attacks drained more than one hundred million dollars from Coldcard users' wallets, with funds swept from many addresses starting July 30. The temptation is to connect these dots and declare that the AI audit has uncovered the smoking gun behind the thefts. But that would be a mistake. The audit and the Coldcard sweeps are separate stories, entangled only by timing and the collective anxiety of a community trying to make sense of uncertainty.
This is not an attack on the red team. I want to be clear about that. Volunteer security researchers are heroes of the open source world. They give their time, their expertise, and their mental energy to protect projects that often cannot afford professional audits. The recent effort, coordinated by Calle, is a remarkable example of what decentralized communities can do when they organize around a shared purpose. But it is also an example of why raw data, without context and interpretation, can become its own kind of noise.
Let us start with the numbers, because numbers deserve respect. Four thousand nine hundred and sixty-two findings. Eighty-five critical severity findings. Six hundred and thirty-five high severity findings. Three hundred and ninety Bitcoin-related projects examined. These are the kind of figures that generate headlines, but they are not yet the kind of figures that generate confidence. A finding is not a vulnerability. A vulnerability is not an exploit. An exploit is not a lost coin. Each step along that chain requires human judgment, verification, and often, a significant dose of humility.
The first issue is definitional. What do we mean when we say critical? In many static analysis tools, critical means the code path contains something that could theoretically be exploited under specific conditions. It does not mean someone has demonstrated a working attack. It does not mean the project is currently being attacked. It does not even mean the developer agrees that the issue exists. Automated scanners are notorious for producing false positives. In my own audits, I have seen tools flag standard practices as critical vulnerabilities because they did not understand the broader business logic of the protocol. The red team has acknowledged this, noting that the group is still learning how to separate genuine findings from noise. That honesty is admirable. But it also means the 85 number is premature.
The second issue is statistical coherence. The team reported that at around the twenty-seventh hour of the audit, each auditor was finding an average of 2.31 high or critical severity issues per hour. Let me try to make that concrete. If you imagine a team of thirty active auditors, that would produce roughly 1,870 findings in twenty-seven hours. If you imagine a team of fifty, you get more than 3,100 findings. The full total of all submissions was 4,962 findings, which suggests a team somewhere in that range, with significant deduplication happening across participants. But the report does not explain the methodology clearly. Are these counts per auditor per project? Per hour across all projects? Are they raw AI outputs or manually confirmed findings? The ambiguity makes the statistic almost useless for anyone trying to understand the real security posture of the ecosystem.
I have seen this pattern before. Almost exactly seven years ago, during the ICO boom, I was asked to audit a community-governed wallet project called Ethos. The founders were well-intentioned, the community was enthusiastic, and the codebase was a mess of rushed features and under documented dependencies. We ran every static analysis tool we could find. The output was a waterfall of warnings. Over eight hundred issues were flagged as high severity. The CEO panicked. The community panicked. Some people sold their tokens. But when a small group of senior engineers sat down and manually reviewed each warning, we found that fewer than forty were actionable, and only a handful were truly critical. The rest were false positives, duplicate reports, or edge cases that could never occur in practice. The tool had been right about the syntax but wrong about the world.
That experience taught me to ask a different question when a security report lands: who did the triage? A good auditor spends most of their time not finding bugs, but deciding which bugs matter. This is why I do not put much trust in AI-generated vulnerability counts by themselves. AI can find patterns, but it cannot understand intent. It can see that a function does not validate input, but it cannot see that the function is never called with untrusted input. It can identify a weak randomness call, but it cannot know whether the protocol is using that call for a non-security-critical feature. The human mind is the missing layer.
This is not an argument against the red team's approach. In fact, I think the opposite is true. The red team's AI-assisted audit is an important experiment in what happens when you scale human oversight with machine pattern matching. Three hundred and ninety projects is an enormous amount of code to examine. A traditional audit of that scale would take months or years and cost millions of dollars. A volunteer team with AI tools can cover more ground in days. That speed has real value, especially in an ecosystem where small projects often go years without any security review. The problem is not the speed. The problem is the way we communicate the results. A number like 85 critical bugs does not convey nuance. It conveys horror. It invites panic, and panic is the enemy of resilience.
Let me give credit where credit is due. The volunteer red team has highlighted an uncomfortable truth about the Bitcoin ecosystem: many projects are running on hope. Open source developers frequently build in public without sustainable funding. They ship features because users demand them. They maintain libraries because they feel a sense of responsibility. Security review is often an afterthought, not because developers are careless, but because they are exhausted. The audit reflects that reality. A large number of Bitcoin-adjacent projects rely on a tiny group of maintainers who have day jobs, families, and limited time. When a volunteer red team scans all of that code, it is no surprise that it finds potential issues.
The surprising part is not the existence of bugs. Every nontrivial codebase has bugs. The surprising part is the assumption that an automated tool can reliably distinguish the truly dangerous ones from the harmless ones. In my experience, the true distribution of vulnerabilities in any ecosystem is shaped like a pyramid. There is a broad base of low-risk issues: style problems, missing bounds checks in irrelevant paths, and configuration best practices. There is a narrower band of medium-risk issues that require specific conditions and are unlikely to be exploited in the real world. And at the top, there are a few genuinely critical issues that could allow an attacker to drain funds, steal keys, or take over a protocol. The pyramid for Bitcoin projects might be taller than we would like, but it is still a pyramid. Reporting only the top of the pyramid without explaining the base distorts public understanding.
The Coldcard connection deserves particular attention. The fact that the audit took place in the wake of the Coldcard wallet sweeps is a coincidence, not a causation. The audits covered a broad set of Bitcoin projects, but the report does not clearly state whether Coldcard's specific code was part of the 390. Even if it was, the connection between a static analysis finding and the theft of more than one hundred million dollars is not automatic. The thefts could have been caused by many things: a compromised software supply chain, malware on user devices, or the exposure of seed phrases through a phishing operation. News coverage that implies the red team's AI audit found the reason for those thefts is not just misleading. It is dangerous, because it fuels a narrative that a simple code patch can solve a problem that might fundamentally be about user behavior and identity security.
I remember the 2020 DeFi Summer clearly. I was working with Aave and watching the community struggle with impermanent loss. New liquidity providers were pouring in, attracted by high yields, and they were scared. I organized a weekly education series called the DeFi Literacy Circle. We broke down yield farming strategies into accessible, value-driven narratives. We taught people that risk has a shape and that panic is a choice. We onboarded two thousand users through mentorship programs, prioritizing long-term retention over short-term TVL spikes. The technical details mattered, but the emotional resilience mattered more. I think this moment calls for the same approach. We need to build a community that can process security findings without collapsing into despair or denial.
This is where the phrase "don't trust, verify" becomes incomplete. Yes, we should verify every claim. We should ask for proof-of-concept code. We should demand that the 85 critical issues be confirmed by independent reviewers. Verification is the foundation of cryptographic culture. But after verification, we also need connection. We need to connect the people who found the bugs with the people who can fix them. We need to connect project maintainers with security researchers who can work alongside them, not just point fingers from afar. We need to connect the broader community with a clear explanation of what is real and what is not. Without that connection, verification becomes a weapon. It becomes a way to tear down projects rather than to strengthen them.
The red team's slogan might be "audit everything," but my version is "steward everything." A security report is not a verdict. It is the start of a conversation. The projects identified as having critical issues deserve a chance to respond. They deserve a clear timeline for triage and remediation. They deserve support from the community, not vigilante judgment. I have seen this play out in governance crises. In 2022, during the industry crash, I helped Compound navigate a period of intense internal conflict. The community was fractured. Trust was low. We created what we called Sanity Check forums, spaces where developers and users could vent anxieties and rebuild trust. The format was simple. We listened for two hours before anyone gave advice. The result was a forty percent reduction in churn. The numbers were not the product of new code, but of human connection. The same principle applies to security. We must create spaces where the people who find vulnerabilities and the people who live with those vulnerabilities can sit at the same table.
There is also a deeper question about the role of volunteers in ecosystem security. The red team's work is impressive, but it is not a substitute for the kind of continuous security engineering that well-funded projects need. A one-week audit is a snapshot. It cannot predict what a lone developer will add to a codebase next month. It cannot prevent a dependency from being compromised after the audit ends. It cannot guarantee that a critical patch does not introduce a new vulnerability. Security is not a checkbox. It is a habit. The Bitcoin ecosystem needs to move from episodic audits to a culture of continuous verification, with automated fuzzing, reproducible builds, and bug bounties integrated into the development lifecycle. That is a lot to ask of unpaid volunteers, which is why the community needs to find ways to fund this work.
The phrase "community is the new central bank" is often used in a financial sense. We mean that decentralized protocols can issue credit, manage risk, and build the infrastructure that central banks once controlled. But I think the phrase has a deeper meaning. A community is the guardian of confidence. When the market drops, the community is what keeps people from selling in fear. When a security audit finds 85 potential critical bugs, the community is what keeps people from losing faith in the entire ecosystem. This is the role I have been preparing for my entire career. In 2026, I led the Open Mind initiative in Geneva, a cross-sector collaboration between AI developers and blockchain ethicists. We organized twelve summits to draft a Human-Centric AI Protocol. We argued about whether decentralized identity frameworks could protect user privacy against algorithmic bias. We eventually produced a widely cited white paper that redefined the intersection of intelligence and decentralization. The technical debates were intense, but the real breakthroughs happened when we stopped trying to convince each other and started trying to understand each other. The same is true now.
Let me return to the numbers one more time, because I want to be specific about what we do and do not know. We know that 4,962 submissions were made. We know that some of them were labeled critical. We know that the audit covered 390 projects. We do not know how many unique vulnerabilities survive manual review. We do not know how many are exploitable. We do not know how many have been fixed. The red team itself has said it is still learning to distinguish real findings from noise. That process is not a failure. It is the natural evolution of a young tool. But until that process is complete, every article that repeats the 85 critical number as if it were an established fact is doing a disservice to the truth.
I have also seen a version of this story where the opposite problem occurs. A security firm releases a report with alarming numbers. The community reacts with skepticism. They point out that the report is full of false positives. They dismiss the red team as a group of amateurs using AI to generate noise. This skepticism is also dangerous, because it can lead maintainers to ignore real issues buried in the noise. The challenge is to hold two thoughts at once. One: the numbers are probably overstated. Two: there is likely enough smoke to justify a serious search for fire. The best response to a security audit is neither panic nor dismissal. It is a rigorous and calm triage process. It is asking the red team for the full data set, including the specific files and code snippets behind each critical finding. It is inviting independent researchers to reproduce the results. It is treating the report as a reason to investigate, not as a reason to draw conclusions.
In a healthy ecosystem, security research is a form of cooperation. The researcher wants to find a bug before a criminal does. The maintainer wants to know about the bug before it becomes an incident. The community wants to feel safe. These three desires are aligned. But when the research is published in a way that is incomplete, the alignment breaks down. The maintainer feels attacked. The community feels afraid. The researcher feels unappreciated. I have watched this cycle repeat many times, and I believe we can interrupt it.
One way to interrupt it is to change the language we use. Instead of saying "the audit found 85 critical bugs," we should say "the audit generated 85 reports that require further investigation." Instead of saying "situation is extremely bad," we should say "there are many areas that need attention, and the community must respond with care." This is not about softening the truth. It is about being precise. Precision is what security research is supposed to provide. If we allow our language to be more precise than the underlying data, we will make better decisions.
Another way to interrupt the cycle is to fund sustainable security. The volunteer red team proved that decentralized coordination can move fast. But to maintain that effort, we need to support the people doing the work. This could mean creating a security DAO that sponsors continuous audits. It could mean redirecting a small percentage of protocol fees to security researchers. It could mean sponsoring bug bounties for every project in the ecosystem. The cost would be trivial compared to the cost of one large exploit. The Coldcard sweeps cost more than one hundred million dollars. Imagine what the ecosystem could have done with even five percent of that amount in proactive security funding. The math is not complicated. Resilience is an investment, not an expense.
I want to add a personal note about mental health. Security researchers are often the first people to see the worst parts of the codebase. They see the bugs that could destroy a project. They carry the weight of knowing how fragile the ecosystem is. When they write messages like "situation is extremely bad," it is not just an assessment of the code. It is also a reflection of their own exhaustion and fear. We should respond to that with empathy, not with further alarm. The community needs to support the people who protect it. This is not a luxury. It is a necessity. I have moderated enough forums during bear markets to know that resilience is built on human connection, not just on code. The same is true for security research.
There is a principle I keep coming back to, a principle I learned from watching too many protocols fail: Code is law, but people are purpose. The code defines the rules of the system. It creates boundaries and possibilities. But the code does not decide why the system exists. That purpose comes from the people who build it and the people who use it. When a security audit reveals that the code has flaws, we should fix the code. But we should not forget the purpose. The purpose of Bitcoin is to give people sovereignty over their money. The purpose of open source is to let anyone inspect and improve the technology. The purpose of a community is to hold each other up when the code is not enough.
This audit also raises larger questions about the relationship between AI and security. We are entering an era where AI tools will be used by both attackers and defenders. The red team is using AI to find bugs. Criminals are using AI to find exploits, to write phishing messages, and to discover exposed keys. The arms race is going to accelerate. In this context, the most valuable asset we have is not a better language model. It is a better culture. A culture that values transparency, careful triage, and continuous improvement. A culture that can absorb bad news without losing its marbles. A culture that understands that security is not a destination but a practice.
I have a specific memory from that 2022 crisis that shapes how I see this moment. Compound was going through a governance crisis. The community was split. Some people wanted to hard fork. Others wanted to do nothing. Still others wanted to call in outside arbitrators. We created the Sanity Check forums and asked people to say how they were feeling before they said what they were thinking. A developer stood up and said he was terrified that he was going to be blamed for a decision he had not even made. A user said she was afraid she would lose her life savings. A researcher said he was frustrated that no one was listening to the data. After two hours of listening, someone suggested we form a rotating committee of community members to review every governance proposal with a security lens. That suggestion became the foundation of a new process. It did not solve every problem, but it gave the community a path forward. The lesson I carry with me is that when people feel heard, they are more willing to do the hard work of verifying and fixing.
So what should we do with the 85 critical bugs? First, we should stop repeating the number as if it were a final verdict. Second, we should ask the red team to publish the full methodology and the raw outputs, including false positives. Third, we should encourage every project that was flagged to open a public tracking issue and invite researchers to help triage. Fourth, we should establish a one-month review period during which security researchers and maintainers work side by side to separate signal from noise. Fifth, we should celebrate the volunteers for doing something difficult, while also holding them accountable for the responsibility that comes with public statements. This is not a contradiction. It is what mature communities do.
I am not saying that the 85 number is meaningless. I am saying it is incomplete. It is the beginning of a conversation, not the end of one. In fact, I would argue that the most useful information from the audit is not the critical count at all. It is the fact that so many projects are willing to participate in a community-driven security review. That willingness is a sign of health. It means the ecosystem cares about resilience. It means the culture is moving in the right direction. Let us build on that.
The contrarian angle here is uncomfortable for both sides. For the people who want to believe Bitcoin is invulnerable, the audit is a painful reality check. For the people who want to believe the ecosystem is a house of cards, the audit is not enough because it does not prove exploitability. The truth is somewhere in between. The Bitcoin ecosystem is neither perfect nor doomed. It is a living, breathing network of projects with real strengths and real weaknesses. The only way to make it better is to face those weaknesses with honesty and to fix them with commitment. That is a long road. I have walked it before. I will walk it again.
I also want to encourage the volunteer red team to continue its work. The world needs more people who are willing to look at code and ask hard questions. But I would offer one piece of advice from my years as a protocol manager: think about how your findings will be received by the people who are trying to fix them. A security report is a gift, but it is only a gift if it can be opened without injury. Make sure your findings are reproducible. Make sure they are specific. Make sure you are available to answer questions. The person who wrote the vulnerable code is often the only person who can fix it quickly. If your message makes them defensive, the bug lives another day. If your message makes them curious, the bug is already half-dead.
Let me return to the Coldcard sweeps one final time, because I do not want to minimize the human cost of this moment. More than one hundred million dollars stolen is not a statistic. It is someone's retirement fund. It is someone's ability to pay for medical care. It is someone's trust in a technology that promised to be different. The people affected by those sweeps deserve compassion. They also deserve accurate information. If the root cause is a compromised device, an audit of open source code may not protect them. If the root cause is a social engineering campaign, only education and user controls can help. We cannot let the excitement of a dramatic security report distract us from the slower, less glamorous work of protecting real people.
My hope is that the Bitcoin community will see this moment not as a threat, but as a turning point. We have a chance to build a security culture that is proactive, inclusive, and emotionally intelligent. We have a chance to prove that decentralization is not just about consensus algorithms and liquidity pools. It is about a group of people looking out for each other. The red team has given us a map. It is full of warnings, but it is still a map. Let us use it to find the places that need repair, and let us repair them together.
In the end, this is what I believe: Resilience beats hype every time. The hype of an 85-critical-bug headline will fade in a week. The resilience of a community that responds calmly and methodically will last for years. That is the path I have chosen. I have built my career on the idea that decentralized systems can be both secure and humane. I have seen the worst of the bear market and the best of the human spirit. I am not naive about the risks. I am simply unwilling to let fear dictate the narrative.
So here is my call to everyone who reads this. If you are a developer, ask for the data. If you are a researcher, publish your methodology. If you are a project maintainer, open your issue tracker and ask for help. If you are a community member, donate to security funds, support bug bounties, and speak gently to those who are afraid. We are all stewards of this experiment. The code has bugs. The people deserve better. Let us fix the code, and let us also fix the way we talk about it.
The red team found 85 critical bugs. Or perhaps they found 85 reports that need investigation. Either way, they found something more important: a moment where a community can prove what it is made of. We are made of code, but we are also made of purpose. Let that purpose guide the next move. Do not trust the number. Verify it. But do not forget to connect with the people behind it. That is the only way we survive, and it is the only way we thrive.
Code is law, but people are purpose. Community is the new central bank. And in this uncertain, sideways market, the best thing we can do is keep building, keep verifying, and keep caring for each other. The audit is not the end of the story. It is the beginning of a smarter, safer chapter. Let us write that chapter together.