Simbolik Expands into a Full Security Toolkit for Solidity Engineers

Posted on March 16th, 2026 by Raoul Schaffranek
Last updated on March 16th, 2026
Posted in Simbolik, News

simbolik blog.png

Simbolik started as a Solidity debugger. With this release, it grows into something larger: a comprehensive security toolkit for smart contract development.

The new version integrates static analysis, testing, fuzzing, and code coverage directly into the development workflow inside VSCode and Cursor. All of these capabilities are fully open source and built around the tools the Ethereum ecosystem already trusts.

None of these techniques are new—and that’s exactly the point.

Static analysis, testing, fuzzing, and coverage are battle-tested security practices used across critical software systems for decades. They represent the core of defensive engineering: building systems in layers so that issues are detected as early and as often as possible.

In other words, these practices are what differentiate casual coding from disciplined engineering.

Simbolik brings these layers of defense together in a single environment so developers and security researchers can apply them continuously, not just during audits or before deployment.

Static Analysis: The First Line of Defense

Static analysis—often called linting—is the fastest and most immediate security feedback loop available to developers.

Detectors run in milliseconds, continuously scanning the codebase for known vulnerability patterns and risky constructs. Issues such as reentrancy risks, unused imports, shadowed variables, or arithmetic precision loss can be identified almost instantly—often while the code is still being written.

Because static analysis requires no additional setup or test cases, it acts as an always-on safety net. Many issues can be caught before the code even reaches a test suite or pull request.

The Solidity ecosystem already offers outstanding static analysis tools, including Slither from Trail of Bits and Aderyn from Cyfrin. These tools have become foundational in professional audit workflows, and we strongly recommend using them.

Simbolik does not aim to replace them. Instead, it complements the ecosystem by integrating Foundry’s native detectors directly into VSCode, allowing developers to run static analysis as a natural part of everyday development.

For developers, this tight feedback loop means vulnerabilities can often be prevented rather than discovered later. For security researchers, static detectors provide a fast way to scan a codebase and identify areas that deserve deeper manual inspection.

simbolik-static-analysis.mp4

Testing: Engineering Confidence into Smart Contracts

 

If static analysis is the first line of defense, testing is the second.

Many real-world vulnerabilities are not structural mistakes but logic errors—subtle flaws in how a system behaves under certain conditions. These are precisely the kinds of issues that well-designed tests are meant to uncover.

Most Solidity projects today rely on Foundry for testing, thanks to its powerful and flexible framework. Foundry supports features such as cheatcodes, fuzz testing, and detailed execution tracing.

Simbolik integrates Foundry’s testing capabilities directly into VSCode so that running becomes part of the normal development workflow.

This dramatically shortens the feedback loop during development. Instead of switching between the terminal and the editor, developers can iterate on contract logic in a single environment.

For security researchers, test suites often serve as executable documentation—revealing the assumptions, invariants, and intended behaviors of a system. They also provide convenient starting points for exploring edge cases and unexpected state transitions.

simbolik-test-explorer.mp4

Code Coverage: Finding the Blind Spots

Even strong test suites can leave gaps. Code coverage helps identify those blind spots.

Coverage measures how much of a codebase is actually exercised during testing, highlighting parts of the system that have never been executed. These areas represent potential risks: code that has never been validated may still contain unexpected behavior.

Simbolik provides detailed coverage analysis directly inside VSCode across three complementary metrics:

  • Statement coverage – whether individual statements are executed
  • Function coverage – whether every function in the contract is exercised
  • Branch coverage – whether all control flow branches (for example if / else branches) are explored

Each metric reveals different kinds of gaps in a defensive testing strategy. Statement coverage ensures code is reached at all. Function coverage surfaces unused entry points. Branch coverage identifies execution paths that tests never explore, where subtle bugs often hide.

Simbolik also provides file-level coverage summaries, giving a high-level overview of test completeness across a project.

Inside the editor, developers can see line hit counts directly next to the source code, showing how often each line was executed during tests. This makes it easier to reason about the real execution behavior of a contract and quickly identify parts of the code that require stronger validation.

For developers, coverage helps guide where additional tests should be written. For security researchers, it highlights execution paths that no test currently touches—often the most interesting places to investigate during a security review.

simbolik-coverage (1).mp4

Security Is a Practice

Smart contract security cannot rely on a single tool or a single phase of development.

It emerges from layered defensive practices applied continuously: static analysis to catch known pitfalls, tests to validate behavior, fuzzing to explore unexpected inputs, and coverage analysis to reveal blind spots.

These practices have stood the test of time because they work.

Simbolik’s goal is simple: make these proven security techniques frictionless to use by bringing them directly into the development environment.

Because secure systems are not produced by tools alone—they are built through engineering discipline.