Episode 21 of The Security Podcast of Silicon Valley came out on September 9, 2022, with Jon McLachlan hosting. The guest was Sergej Dechand, co-founder and CEO of Code Intelligence, which builds fuzz testing tools for developers (Podbean, Apple Podcasts, Spotify, LinkedIn, GitHub). The episode is called “Sergej Dechand, Co-Founder and CEO of Code Intelligence, on Fuzzing the Future.”
Most of the talk is about testing. Why certified software can still be insecure, what a pen test misses, and how coverage-guided fuzzing reaches the code a pen test never runs. The rest is about the company: a best day, a worst day, open source, money and hiring.
This page follows the conversation in order: a section for each part of it, fifteen figures, nineteen clips from the tape, the full transcript, and five tools: a quiz, a scorecard for how much of your code your security tests reach, a calculator for releases between pen tests, a timeline, and a to-do list. The decodes of this tape disagree more often than most. Where they disagree on a word, the transcript puts its best guess in brackets, and the page doesn’t quote or retell those words.
Out of a PhD program
Jon opened with the background. Vulnerability scanning, security consulting and usable security research. Freelance application security consulting for enterprises. Research at Fraunhofer, the University of Bonn and the National Institute of Informatics. Then Code Intelligence, co-founded with research partner Khaled Yakdan and their professor, Matthew Smith.
LinkedIn adds the dates. A research assistant at the National Institute of Informatics from June to September 2012. A researcher at the University of Bonn from December 2013 to January 2019, with a PhD there in information technology. A project manager at Fraunhofer FKIE from January 2016 to August 2017. Then Code Intelligence from November 2017, as CEO and co-founder (LinkedIn, LinkedIn education). The Fraunhofer Society is a German organization for applied research with 74 institutes and research units (Wikipedia).
Usable security brings human factors into security. In this research group, the humans weren’t typical end users. They were IT administrators and developers. Matthew Smith supervised the group, and the two future co-founders were PhD students. Near the end of their studies, they were working with industry partners.
“we kind of accidentally founded a company.”
Sergej Dechand, at 2:26
The plan had been a product. The three of them ended up with a company to build it.
The same research group comes up on episode 30, in July 2023. Dominik Schürmann of heylogin co-wrote a USENIX Security study of key fingerprints, with Sergej as first author.
Certified, and still not secure
Jon asked for a truth most people miss. The inspiration came later, Sergej said, from consulting projects during the university years.
Sergej described the industry with some admitted exaggeration. As more of life moved online, IT security and AppSec grew, and so did crime. The business drifted toward selling certifications, certified policies, audits, assessments and compliance automation. It served managers who need check marks, which is also the right thing to do for legal reasons.
From the engineer’s seat, it created friction. Managers chased check marks. Security people hunted for more issues and told developers how to improve the software. Developers, criticized on all sides and pushed to release faster, got defensive. In the end, the software and the networks stayed insecure, because audits look from high up and don’t dig into the technical details.
“and we blame the end users.”
Sergej Dechand, at 8:58
Sergej’s example is the ransomware headline that ends with a reason: someone opened a PDF, and everything was infected. In Sergej’s view, the cause is a security issue or a misconfiguration, and the person who clicked takes the blame.
The way out is to start with the engineers:
“the people who know best what the software does because they are engineering it.”
Sergej Dechand, at 9:33
The certification results stay about the same, and the products end up secure. Sergej wants that as a user too.
“I want my phone to be secure.”
Sergej Dechand, at 9:59
That insight became Code Intelligence, built for developers and engineers, the people who can fix the software.
Checkbox security
Jon had seen the same tendency in Silicon Valley: blame the user. Jon has yet to meet a user who didn’t care about security and did something unreasonable.
“part of our job as security professionals is to make this stuff usable”
Jon McLachlan, at 10:50
That means a real solution that adds no friction and is easy to understand. Too often the focus stays on the technical grit, and the human experience becomes something to deal with.
“I call that checkbox security.”
Jon McLachlan, at 11:26
Jon separates checkbox security, done for legal and compliance reasons, from actual security, the kind that keeps a company out of the news. The two overlap, and companies tend to think in one way or the other.
Dynamic analysis for developers
Jon asked why nobody else had solved it.
“I wouldn’t say no one else solved it yet.”
Sergej Dechand, at 12:04
A movement had already started, Sergej said. Sergej compared three kinds of tools: static analysis, dynamic analysis and software component analysis. Companies built for developers mostly come from static analysis and software component analysis. Dynamic analysis executes the software, and developers don’t use it yet. That’s the gap Code Intelligence set out to close, by bringing dynamic analysis to the developer.
Wikipedia draws the same line. Static analysis looks at a program without running it, and dynamic analysis runs it (Wikipedia). Static application security testing reads source code during development. Dynamic application security testing crawls and analyzes running websites. Interactive application security testing works from inside the application with instrumentation (Wikipedia).
Eighteen of twenty findings were noise
Jon asked what experience showed Sergej the gap. Sergej had an answer from business and one from research.
The business one came from consulting. Sergej was the engineer on a product going through a certification. Sergej filled out a lot of check boxes and talked with the security people throughout. The enterprise pen test firm delivered a report, and the manager got the check box for ISO and other certifications.
Static analysis came first. It produced a lot of false positives, and the team ruled them out. It was annoying, but not too much.
Then came the pen test. The report had 20 findings.
“only two issues were actual issues”
Sergej Dechand, at 15:05
As Sergej remembered it, the other 18 were the same thing. A query to the REST API returned an error 500, because the username held special characters like a question mark. Some other exception was thrown inside, and there was no SQL injection.
On episode 67, in April 2025, Gadi Bashvitz of Bright Security described the same sorting problem: 120 static findings narrowed to the 11 a developer should fix right now.
Two bugs the pen test never reached
While the pen test ran, Sergej was reviewing the code and found two serious bugs.
The first was an SSL certificate issue. With a username and password, only the server authenticated to the client. With a smart card, the client software didn’t check everything.
“So you could issue any valid certificate”
Sergej Dechand, at 16:07
The domain name went unchecked, so any valid certificate got you in. The pen test didn’t cover smart card logins.
The second was a command injection. A request for too many results triggered a background job, and the exec in that job got input the attacker controlled. You could run anything you wanted. It only happened when a request asked for thousands of files.
The pen testers had a week, and worked from all directions. Nobody measured code coverage.
“So basically, you didn’t know what was going on.”
Sergej Dechand, at 17:24
Coverage would have shown both paths: the job that runs past thousands of files, and the login that only happens with a smart card. That’s where Sergej started building white box tests, which measure what a test didn’t reach. Without that, Sergej said, a pen test is worthless.
“Because if the attacker does just one little thing better than the other one, the attacker wins.”
Sergej Dechand, at 17:58
Companies hold an advantage over attackers.
“They know what’s going on, they have the source code.”
Sergej Dechand, at 18:08
Jon summed up two gaps. The first is false positives, in static analysis and in dynamic analysis. The second is graver. Pen test contractors get a time box, and they use intuition and creativity to break in.
“who knows what sort of coverage you’re getting?”
Jon McLachlan, at 19:09
Code coverage is the share of a program’s source code that runs when a test suite runs (Wikipedia).
Coverage-guided fuzzing
Jon asked about the philosophy behind Code Intelligence. It started in research at the University of Bonn, working with German enterprises on more effective and more efficient software testing. Static analysis was already in use and wasn’t bad. It gives feedback in the IDE as you type. Something was still missing, and Sergej started to look there.
Around 2016 and 2017, gray box and coverage-guided fuzzing were a big thing in research, and Google led the work in open source. The idea was to instrument the source code. The instrumentation reports which paths an input took and what got compared, and feeds that back to the engine. Fuzzing began as random input. With feedback, genetic algorithms and similar methods predict what might happen, and the coverage measurement leads to more and more discoveries.
Wikipedia tells the longer story. The term “fuzz” comes from a 1988 class project taught by Barton Miller at the University of Wisconsin, published in 1990. Fuzzing feeds a program invalid, unexpected or random data and watches for crashes, failing assertions and memory leaks. AFL and libFuzzer use lightweight instrumentation to trace what an input does. In coverage-guided fuzzing, inputs that reach new behavior stay in the corpus and get mutated further. In December 2016, Google announced OSS-Fuzz for continuous fuzzing of security-critical open source projects (Wikipedia).
The researchers started with open source before company code. Parsers were the first targets.
“And it always took two hours to set up everything”
Sergej Dechand, at 21:44
Then it took ten minutes to pick the JSON parse method as the target. The first findings followed, and the researchers celebrated, as researchers do.
Defensive developers
When the researchers took their findings to development teams, the teams got defensive.
“They didn’t want to use the tools. They found excuses not to use it.”
Sergej Dechand, at 22:16
The cause was cultural. The researchers were in a mood of celebrating that developers make mistakes.
Fit the tools, fix it in a pull request
So the group did what usable security does: interviews and studies. Why don’t you use it? What is important to you?
Developers wanted tools that fit what they already use. Specific IDEs, GitHub, and pipelines like Jenkins. A tool has to be compatible with the whole development process and the development stack.
The second change was in how findings arrived. When the researchers found issues, they took the time to fix them on their side. They made pull requests that fixed the issues silently, and the pull requests got accepted. Friction with the developers dropped. Later they presented the issues, with a way to find more on their own.
Jon summed it up: now they were heroes, making the developers’ baby even more beautiful.
Two types of developers remained. Some said a new tool was a distraction from their own problem. The others got curious.
On episode 91, in March 2026, Neatsun Ziv of OX Security argued for the same move: bring developers the details they need with the finding.
Every six months, twenty times a day
Things got more interesting when the researchers talked to the managers of those developers.
“we pen test every six months”
Sergej Dechand, at 24:28
The same product was moving to releases up to 20 times a day, and nobody can run 20 pen tests a day. A lot can happen in six months. Compliance already covered the legal obligations. Many of the managers were former techies, and they felt it.
“had a bad conscience there.”
Sergej Dechand, at 24:58
“We need to involve the developers.”
Sergej Dechand, at 25:04
Put together, the two sets of interviews pointed one way. The technique matters less than the people.
“but it’s much more about how to get the people involved.”
Sergej Dechand, at 25:31
Jon called it a cultural problem more than a technical one. Sergej added the product side. That problem was the reason to found Code Intelligence.
Jon walked through the feedback loop. A pen test is great feedback, but you can’t run one 20 times a day. A shorter loop cuts costs: an engineer’s time, the impact on customers, and the risk while a bug is out. The longer a bug lives, the more places the software ends up.
“It’s much easier to fix something in a pull request that’s sitting on a separate branch.”
Jon McLachlan, at 27:07
That beats fixing it after a release to 100,000 users. And to change a piece of software, Jon said,
“you need an engineer’s help.”
Jon McLachlan, at 27:33
At 20 releases a day and one pen test every six months, about 3,650 releases ship between two tests, at 365 days a year. The calculator runs your own numbers. On episode 82, in November 2025, Rejah Rehim of Beagle Security described the same gap, with weekly releases and quarterly tests.
Developers know their own interfaces
Code Intelligence kept working with the University of Bonn. Research there suggests that developers know best what interfaces they produced and whether an issue is real.
“they know best what kind of interfaces they have produced”
Sergej Dechand, at 27:55
Jon asked if they know instantly. Not always, Sergej said, and they still get defensive.
“So obviously, every developer admits if it’s a clear hack.”
Sergej Dechand, at 28:14
A buffer overflow or a command line injection you can exploit right away gets admitted. The friction is in between. Is a denial of service important enough or not?
Those calls belong to the developer. If a developer doesn’t want to see a finding again, it shows up on a dashboard for managers, who will talk to the team. The tool doesn’t demand a fix.
One case is different. Some denials of service crash the software under test.
“because the fuzzer is always crashing the entire software”
Sergej Dechand, at 29:14
Then testing can’t continue, and that bug has to be fixed first.
“we haven’t found a good way around that yet”
Sergej Dechand, at 29:24
Jon liked the approach. Teams decide what to fix first and what can wait, and tie it back to the business.
A hackathon for an automotive RFP
Jon asked for a best day.
“and this is the engineer inside of me being very proud.”
Sergej Dechand, at 30:36
In the early days, an automotive enterprise ran an RFP for security testing tools, and Code Intelligence applied.
“they invited tool vendors for a hackathon.”
Sergej Dechand, at 30:58
One day on site, with their computers and their software, attacking the automotive controller. By the time Code Intelligence started, the other tools hadn’t found anything yet.
It started at eight in the morning. The product was early stage and had no air gap installer. Its Docker dependencies had to come through the corporate proxy. Jon knew those proxies, which stop inbound traffic hard and fast.
Getting around the corporate proxy took four hours, and testing still hadn’t started.
“But we got everything running.”
Sergej Dechand, at 32:30
Then the findings came one after another. The client had planted some issues on purpose, and others were there by accident. For a young company with no idea how to do the business, the deal came from producing good results. Jon put it as the merit of the results, and of the product that produced them.
“Maybe we were cheaper than the others, but it doesn’t matter.”
Sergej Dechand, at 33:34
When COVID hit
Then the flip side.
“So there was one point at Code Intelligence when we really got scared.”
Sergej Dechand, at 33:49
Code Intelligence was helping enterprises with software testing, on-premise only, and still validating the product. Then COVID hit, and two or three weeks after the lockdown:
“all our purchasing processes delayed.”
Sergej Dechand, at 34:23
No cash flow came in, and the company was in the middle of a financing. There was a lot of uncertainty, and they sat together to work out how to adjust.
A few weeks later, things were better than expected. Companies switched to remote work and brought in more cloud services, which opened the door to SaaS. SaaS had been a deal breaker before. Now customers could work with a deployment in their own AWS.
“This is where things started flowing again.”
Sergej Dechand, at 35:27
For listeners without the video, Jon described a poster behind Sergej. Its message: if things aren’t failing, you aren’t innovating enough. Leading is easy when everyone is happy and the money is flowing. The hard part is digging deep when things get tough. That’s where, Jon said,
“leadership sort of shines.”
Jon McLachlan, at 36:03
Looking back, Sergej said, you wonder why you worried so much. In the moment, with a team you’re responsible for, the question is what to do next. It was Sergej’s first company, so everything was a first, and super exciting. Jon would worry if it weren’t a roller coaster. The team was 12 people when COVID hit.
Coverage-guided testing as the standard
Jon asked what success would look like for Code Intelligence. Sergej’s answer was a standard security testing platform, built on coverage-guided testing. At runtime, it combines information from the source code and from instrumentation. Sergej added that
“this is not implemented in most of the cases.”
Sergej Dechand, at 37:36
Open source projects, many written in C, already use it.
“But if you look at the business, it’s still missing.”
Sergej Dechand, at 37:48
Sergej compared it to static analysis about 20 years earlier, a new technology for white box testing, and pointed to Gartner and interactive application security testing. Wikipedia describes that as testing from within the application with instrumentation, combining the strengths of static and dynamic testing (Wikipedia).
Fuzzers for memory-safe languages
Jon asked why Code Intelligence open sources so much, including its fuzzer for the Java virtual machine. It gives easier access to new testing tools. Most of the academic world focused on C and on binaries, testing without the source.
“no one actually focused on Java or the, let’s say, memory-safe languages.”
Sergej Dechand, at 39:06
“So they were neglected.”
Sergej Dechand, at 39:12
Sergej pointed to how much software is written in JavaScript today. Most Java and JavaScript services are something like REST APIs or gRPC. So the team took techniques that worked in C and applied them to what the business needs. Even a memory-safe language had remote code execution, like Log4j, and XML attacks. Code Intelligence onboarded Log4j.
Wikipedia dates the Log4j bug. Log4Shell, CVE-2021-44228, was reported in November 2021 in Log4j, a popular Java logging framework. It allowed arbitrary code execution, had gone unnoticed since 2013, and got a CVSS score of 10, the highest (Wikipedia).
“And now we are collaborating with Google to onboard more and more open source projects”
Sergej Dechand, at 40:18
“So we found a lot of security issues already.”
Sergej Dechand, at 40:38
The newest project was a JavaScript fuzzer, for the back end more than the front end, and mainly for Node.js. Sergej sees JavaScript with Node.js as one of the fastest growing languages. The fuzzer looks for remote code execution, XML external entities and the kind of command line injection from the consulting story.
On episode 67, Gadi Bashvitz described the AI-driven fuzzer NeuraLegion built in 2018, for a market that wasn’t ready yet.
What enterprises pay for
Jon asked how Code Intelligence earns money with so much in open source.
“We are basically focusing on enterprise features.”
Sergej Dechand, at 42:37
An open source project has Jenkins or a GitHub pipeline and knows how to build. An enterprise has large teams collaborating, and it wants specific reports.
“No open source project will ask you for compliance reports or something like that.”
Sergej Dechand, at 43:09
Enterprises ask about their Azure cloud, a customized Jenkins, and exporting findings to Jira.
The second difference is the code itself.
“in open source, you usually provide libraries.”
Sergej Dechand, at 43:41
A library parses JSON, for example. Enterprise apps run whole web applications with web APIs based on REST. The closed source product covers those use cases, with the same white box approach. Open source projects use everything for free.
Jon asked about deployment, for a company that’s security conscious without being paranoid. SaaS is the focus. The ideal customer is on GitHub, with a CI/CD pipeline that tests before production. Code Intelligence is one more step there. Large enterprises get on-premise, which doesn’t mean old hardware.
“what we call on-premise is we are deploying it inside the companies’ Azure or AWS or Google.”
Sergej Dechand, at 46:05
So there’s no list of operating systems to support. Jon noted that running on-prem is itself a security question, with operational overhead on both sides.
Ask about the future, hear the past
Jon asked about interviews. Sergej doesn’t use an interview question as such. Sergej describes a scenario set in the future and asks the candidate about it.
“what are you afraid of? Or what would you do?”
Sergej Dechand, at 47:55
Or what could go wrong. Candidates answer from their past. They open up more than they would if asked directly, and they’re more detached from the situation. Some describe a mistake, analyze it, and know exactly what they’d do now.
Jon asked about risk takers. It depends on the role, Sergej said. For the legal team, probably not the most risk-taking person. In other areas, it’s a good trait.
“But what I’m looking for is the analytical process.”
Sergej Dechand, at 49:31
“Hey, I made a mistake.”
Sergej Dechand, at 49:35
“Did I adjust my processes?”
Sergej Dechand, at 49:39
Do I blame others, or myself? Jon added the third option, taking ownership of the problem. Sergej said it’s hard beyond startups, and Jon added that it holds at any size.
“it’s a human problem.”
Jon McLachlan, at 50:09
Jon had never heard of the trick. Candidates bring up their past on their own, Sergej said. Jon added that most people want that: a door open to be themselves, and a fit where their experiences count.
One search for every channel
Jon asked for a tool that someone else should build.
“I haven’t found a good tool, basically streamlining a lot of different channels.”
Sergej Dechand, at 51:39
A startup grows into Slack with customers, email, Confluence, Jira or Notion, and meeting notes. Later, you want to know where an issue or a decision lives, and you don’t remember. Sergej had tried a few tools and wasn’t happy yet.
Jon had no answer either. One tool for all internal communication makes it easier to know where to look. It breaks for anyone in an external role, like sales. Jon asked any founder who builds or knows of a fix to get in touch.
Products you can rely on
Jon asked about the vision. Sergej looked back first.
“there were huge advancements in the IT security.”
Sergej Dechand, at 54:25
“not everything can be hacked”
Sergej Dechand, at 54:37
The goal isn’t reached yet, though experts on Linux and specific systems have it worked out. Code Intelligence’s part is products people can trust.
“rely on products you use every day, because they received a lot of testing”
Sergej Dechand, at 55:14
And more than checkbox security. Right now, the focus is applications. Other companies might take on operations, like access rights. Code Intelligence’s mission is to help developers build secure products, and others can work on the other parts of security in people’s lives.
Jazzer, CI Fuzz and Jazzer.js
Jon asked for final words. Customers ask Sergej what Code Intelligence wants to achieve for them. The answer is a short-term goal.
“you don’t release any software where there is a bug”
Sergej Dechand, at 56:37
At least not a bug that testing could have found.
Jon asked where to start. Search GitHub for Code Intelligence Testing, Sergej said, and you find three open source projects. Jazzer for the Java virtual machine, so every language compiled to the JVM can be fuzzed.
“It’s the Java virtual machine fuzzer.”
Sergej Dechand, at 57:04
A command line tool, CI Fuzz, to streamline running it. And Jazzer.js for JavaScript. Enterprise use cases get a product tour on the company site.
The episode also carries a short update from Sergej. The JavaScript fuzzer had been open sourced about two weeks before, for Node.js back ends. An open source interface for command lines and IDEs was coming the next week, to make this kind of testing feel like unit testing. Developers would keep working the way they know from unit testing. The tool runs the regressions and shows the security issues, if any come up.
What happened after the tape
Chief Evangelist since 2024. On September 5, 2024, Sergej posted that after more than 7 years leading Code Intelligence, it was time to step down as CEO. The new role was Chief Evangelist, staying on as co-founder, with Eric Brueggemann as CEO (LinkedIn).
Jazzer back in open source. On December 5, 2024, Sergej posted that “Jazzer is back to open source,” with thanks to Google’s Open Source Security team (LinkedIn). The repository describes Jazzer as a coverage-guided, in-process fuzzer for the JVM, based on libFuzzer, with an integration for JUnit 5 (GitHub). Jazzer.js has its own repository (GitHub).
A German AI Award. On January 14, 2025, Sergej posted that Code Intelligence had won the German AI Award. The reshared post says a jury of industry representatives and investors gave it at de:hub Pitch Night (LinkedIn).
Research, then a professorship. LinkedIn lists Sergej as a senior researcher at the Max Planck Institute for Security and Privacy since June 2025, and as Professor of Application Security at Bonn-Rhein-Sieg University of Applied Sciences since April 2026 (LinkedIn). The Max Planck institute is a computer science research institute founded in May 2019 (Wikipedia). On May 27, 2026, Sergej posted about the professorship. The post describes a career spent making software more secure, “mostly by breaking it on purpose,” and one goal: software that is hard to break in the first place.
Sergej on becoming Professor of Application Security at Bonn-Rhein-Sieg University of Applied Sciences.
Sergej Dechand · May 27, 2026
Shift left has a name and a date. Testing earlier in the lifecycle is called shift-left testing, a term Larry Smith coined in 2001 (Wikipedia). Sergej’s idea of putting dynamic analysis in developers’ hands is one version of it.
Did you catch it? A seven-question quiz
Seven questions from the episode. Each answer links the moment in the transcript or its section.
Quiz · seven questions
Did you catch it?
Pick an answer to see whether you caught it.
-
Of the 20 findings in the pen test report, how many were actual issues?
b. "only two issues were actual issues" Transcript, 15:05.
-
What did the client software skip when you logged in with a smart card?
c. The client accepted any valid certificate without checking the domain name. See Two bugs the pen test never reached.
-
What did no one measure during the week-long pen test?
a. Nobody measured it, so nobody knew what the test reached. See Two bugs the pen test never reached.
-
What helped developers stop pushing back on the findings?
b. Friction dropped once the fixes arrived as pull requests. See Fit the tools, fix it in a pull request.
-
How often did the managers say they ran a pen test?
c. "we pen test every six months" Transcript, 24:28.
-
How long did the corporate proxy cost the team at the hackathon?
a. Four hours. The product had no air gap installer, so its Docker dependencies had to come through the proxy. See A hackathon for an automotive RFP.
-
Which languages did fuzzing research leave out, in Sergej's view?
b. "no one actually focused on Java or the, let's say, memory-safe languages." Transcript, 39:06.
How much of your code do your security tests reach?
Eight questions on how your company tests its software, built from the episode. Each tip links the section behind it.
Scorecard · eight questions
How much of your code do your security tests reach?
Answer for your software as you test it today. If two answers fit, pick the lower one.
-
Do you measure code coverage during security testing, pen tests included?
- No
- For unit tests only
- Yes, and we look at what wasn't reached
Coverage would have shown both bugs the pen test missed. See Two bugs the pen test never reached.
-
Does your testing cover every way to log in, like passwords, smart cards and single sign-on?
- Only the main one
- Most of them
- All of them, and we check
The smart card login accepted any valid certificate. See Two bugs the pen test never reached.
-
Who runs dynamic tests against your software?
- Only outside testers, now and then
- Our security team
- Our developers, in CI on every change
Dynamic analysis hadn't reached developers yet. See Dynamic analysis for developers.
-
Of the findings in your last security test, how many were real issues?
- We don't know
- Fewer than half
- Most of them
Two of 20 were real in Sergej's story. See Eighteen of twenty findings were noise.
-
How do findings reach the developers who wrote the code?
- A PDF report
- Tickets in their tracker
- Fixes and context inside the tools they use
Pull requests that fixed the issues cut the friction. See Fit the tools, fix it in a pull request.
-
Who decides on a gray-area finding, like a denial of service?
- Nobody, it sits in a queue
- The security team alone
- The developer, with ignored findings visible to managers
Developers know their own interfaces. See Developers know their own interfaces.
-
Do you fuzz the code that handles input from outside, like uploads, parsers and APIs?
- No
- Some of it
- Yes, continuously
Parsers were the researchers' first targets. See Coverage-guided fuzzing.
-
How many releases ship between two of your pen tests?
- Hundreds or more, untested in between
- A few dozen
- Security tests run with every release
The calculator counts them. See Every six months, twenty times a day.
Tests happen for the report. Measure coverage on your next test, and cover every login path.
The pieces exist. Put dynamic tests in CI, and send findings to developers as fixes inside their tools.
Keep the coverage numbers honest, fuzz every input from outside, and let developers decide the gray areas.
How many releases ship between pen tests?
Sergej’s managers ran a pen test every six months and released up to 20 times a day. This calculator counts the releases in between, and what a noisy report costs.
Calculator
How many releases ship between pen tests?
Four numbers: releases a day, months between pen tests, findings in a pen test report, and how many of them were real issues.
At 20 releases a day and a pen test every 6 months, 3,650 releases ship between two tests. If 2 of 20 findings are real, 10% of each report is real, and you sort 36 false findings a year.
The calculator counts 365 days to a year and rounds to whole numbers. The defaults are the numbers on the tape: up to 20 releases a day, a pen test every six months, and a report with 20 findings, two of them actual issues. Change them to yours.
From Bonn to a professorship
Sergej’s path, the field around it, and this show. Filter by topic.
Timeline
From Bonn to a professorship
- "Fuzz" gets its name
A class project taught by Barton Miller at the University of Wisconsin, published in 1990 (Wikipedia).
- Shift-left testing
Larry Smith coins the term for testing earlier in the lifecycle (Wikipedia).
- TU Braunschweig
A master's degree in information technology, until 2013 (LinkedIn).
- National Institute of Informatics
Research assistant, until September 2012 (LinkedIn).
- University of Bonn
Researcher, until January 2019, and a PhD in information technology (LinkedIn, education, on this page).
- Heartbleed disclosed
A buffer over-read in OpenSSL's TLS heartbeat extension (Wikipedia).
- AFL and Heartbleed
Hanno Böck shows the fuzzer AFL could have found Heartbleed (Wikipedia).
- Fraunhofer FKIE
Project manager, until August 2017 (LinkedIn).
- Key fingerprints at USENIX
Sergej is first author of a study of textual key fingerprints with 1,047 participants (episode 30).
- OSS-Fuzz
Google announces continuous fuzzing for security-critical open source projects (Wikipedia).
- Code Intelligence
CEO and co-founder (LinkedIn, on this page).
- Log4Shell
Remote code execution in Log4j, CVE-2021-44228, unnoticed since 2013 (Wikipedia).
- Episode 21
Sergej on the show (Podbean, transcript).
- Episode 30
Dominik Schürmann of heylogin, a co-author of the key fingerprint study (episode page).
- Chief Evangelist
Sergej steps down as CEO and stays on as co-founder (LinkedIn).
- Jazzer back in open source
With thanks to Google's Open Source Security team (LinkedIn).
- German AI Award
Code Intelligence wins it at de:hub Pitch Night (LinkedIn).
- Episode 67
Gadi Bashvitz on the AI-driven fuzzer NeuraLegion built in 2018 (episode page).
- Max Planck Institute
Senior researcher at the Max Planck Institute for Security and Privacy (LinkedIn).
- Episode 82
Rejah Rehim on weekly releases and quarterly tests (episode page).
- Professor of Application Security
At Bonn-Rhein-Sieg University of Applied Sciences (LinkedIn, on this page).
What to do this week
Five things, in the order of the episode.
- Measure your next test’s coverage. Turn on code coverage for your next pen test or security test run, and read the list of paths nothing touched, as in Two bugs the pen test never reached.
- List every way to log in. Passwords, smart cards, single sign-on and API keys. Check that each one gets tested. The scorecard shows where else to look.
- Count your real findings. Take your last report and count the real issues, as in Eighteen of twenty findings were noise. The calculator shows what the noise costs a year.
- Fuzz one input from outside. Pick a parser or an upload handler and fuzz it in CI. Jazzer covers the JVM and Jazzer.js covers Node.js (GitHub).
- Get help with it. Our Product Security team embeds with your engineers to ship SSO, audit logs, customer-managed keys and end-to-end encryption. Penetration Testing produces the report an enterprise buyer’s security team accepts, and vCISO Services give you a vCISO with a full security team behind them. If you want to talk it through, book 15 minutes with us.