Coders Conquer Security: Share & Learn Series - Insufficient Anti-Automation
Imagine going to the door of an old speakeasy or underground club. The little hole in the door slides open and a burly bouncer asks for the password. The potential visitor doesn't know the password and makes a guess. It's wrong, so the bouncer doesn't let them inside.
That's what normally would happen. Now imagine the visitor who guessed the wrong password immediately tries again, gets it wrong, and is again denied access. Then imagine the potential visitor opens up the dictionary and starts reading off words, starting with something like aardvark and proceeding to try every single possible word.
Most likely, the bouncer wouldn't allow that kind of activity to take place, but websites and applications with insufficient anti-automation do just that. They allow users to keep trying passwords, even using automation techniques, until they finally stumble across the proper catch phrase.
In this episode, we will learn:
- How attackers exploit insufficient anti-automation
- Why applications with insufficient anti-automation are dangerous
- Techniques that can fix this vulnerability.
How do Attackers Exploit Insufficient Anti-Automation?
Employing automation or dictionary-style attacks like our imaginary speakeasy visitor did are not new in cybersecurity. In fact, those brute-force style attacks were some of the first hacker techniques ever deployed. And as computers grew faster, they became more and more efficient. A fast computer can run through an entire dictionary of words in just a few minutes, depending on the speed of the connection between the attack computer and the targeted system.
Those kinds of automated attacks were why anti-automation software and techniques were created. It gives applications the ability to determine if actions being taken by a user are outside the norms of typical human behavior.
If an application has insufficient anti-automation checks in place, attackers can simply keep guessing at passwords until they find a match. Or, they might use automation software to do other things such as spam comments into website forums.
Why is Insufficient Anti-Automation Dangerous?
Allowing malicious users to employ automation to try and circumvent security can be dangerous. The reason that automation type attacks have persisted from the early days of computing until now is that they can be highly effective. If you give an automation program an unlimited amount of time to submit passwords with no consequences for an incorrect guess, it will eventually find the right one.
When used on something like a forum, having waves of obviously scripted comments might frustrate valid users, or even act like a kind of denial of service attack by squandering system resources. Automated posting might also be used as a tool for a phishing or other attacks to expose the lures to as many people as possible.
Fixing Insufficient Anti-Automation Problems
To fix the problem of insufficient anti-automation, all applications must be given the ability to determine whether actions being taken are being implemented by a human or a piece of automation software. One of the most popular and widely used techniques is the Completely Automated Public Turing test to tell Computers and Humans Apart, or CAPTCHA.
The CAPTCHA is basically a Turing test, first proposed by computer scientist Alan Turing in 1950, whereby human and computer behavior can be separated and identified. Modern CAPTCHAs present problems humans can easily solve, but which computers struggle with, or simply can't figure out. A popular one presents a photo separated by a grid and asks users to identify all the sectors with a specific item in it, such as a flower or a face. The computer can't understand what is being asked for, and thus can't even attempt to scan the image. Even if it could, image recognition is beyond most programs not specifically built to do so.
Other examples of CAPTCHAs include showing blurry text, asking a simple logic question or even playing the question out loud. Implementing a CAPTCHA challenge at critical points in an application, such as when prompting for a password, can stop automation programs in their tracks.
It's also possible to stop automation programs by simply limiting the number of incorrect guesses from the same source. If too many wrong guesses are sent in, the account can be temporarily locked out, thus delaying the automation program past the point of usefulness, or might even require a human administrator to unlock. Doing any of that should prevent anti-automation vulnerabilities within an application.
More Information about Insufficient Anti-Automation
For further reading, you can take a look at what OWASP says about insufficient anti-automation. You can also put your newfound defensive knowledge to the test with the free demo of the Secure Code Warrior platform, which trains cybersecurity teams to become the ultimate cyber warriors. To learn more about defeating this vulnerability, and a rogues'gallery of other threats, visit the Secure Code Warrior blog.
Ready to find and fix insufficient anti-automation right now? Test your skills in our game arena: [Start Here]


If an application has insufficient anti-automation checks in place, attackers can simply keep guessing at passwords until they find a match. Heres how to stop them.
Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

Secure Code Warrior is here for your organization to help you secure code across the entire software development lifecycle and create a culture in which cybersecurity is top of mind. Whether you’re an AppSec Manager, Developer, CISO, or anyone involved in security, we can help your organization reduce risks associated with insecure code.
Book a demoJaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.


Imagine going to the door of an old speakeasy or underground club. The little hole in the door slides open and a burly bouncer asks for the password. The potential visitor doesn't know the password and makes a guess. It's wrong, so the bouncer doesn't let them inside.
That's what normally would happen. Now imagine the visitor who guessed the wrong password immediately tries again, gets it wrong, and is again denied access. Then imagine the potential visitor opens up the dictionary and starts reading off words, starting with something like aardvark and proceeding to try every single possible word.
Most likely, the bouncer wouldn't allow that kind of activity to take place, but websites and applications with insufficient anti-automation do just that. They allow users to keep trying passwords, even using automation techniques, until they finally stumble across the proper catch phrase.
In this episode, we will learn:
- How attackers exploit insufficient anti-automation
- Why applications with insufficient anti-automation are dangerous
- Techniques that can fix this vulnerability.
How do Attackers Exploit Insufficient Anti-Automation?
Employing automation or dictionary-style attacks like our imaginary speakeasy visitor did are not new in cybersecurity. In fact, those brute-force style attacks were some of the first hacker techniques ever deployed. And as computers grew faster, they became more and more efficient. A fast computer can run through an entire dictionary of words in just a few minutes, depending on the speed of the connection between the attack computer and the targeted system.
Those kinds of automated attacks were why anti-automation software and techniques were created. It gives applications the ability to determine if actions being taken by a user are outside the norms of typical human behavior.
If an application has insufficient anti-automation checks in place, attackers can simply keep guessing at passwords until they find a match. Or, they might use automation software to do other things such as spam comments into website forums.
Why is Insufficient Anti-Automation Dangerous?
Allowing malicious users to employ automation to try and circumvent security can be dangerous. The reason that automation type attacks have persisted from the early days of computing until now is that they can be highly effective. If you give an automation program an unlimited amount of time to submit passwords with no consequences for an incorrect guess, it will eventually find the right one.
When used on something like a forum, having waves of obviously scripted comments might frustrate valid users, or even act like a kind of denial of service attack by squandering system resources. Automated posting might also be used as a tool for a phishing or other attacks to expose the lures to as many people as possible.
Fixing Insufficient Anti-Automation Problems
To fix the problem of insufficient anti-automation, all applications must be given the ability to determine whether actions being taken are being implemented by a human or a piece of automation software. One of the most popular and widely used techniques is the Completely Automated Public Turing test to tell Computers and Humans Apart, or CAPTCHA.
The CAPTCHA is basically a Turing test, first proposed by computer scientist Alan Turing in 1950, whereby human and computer behavior can be separated and identified. Modern CAPTCHAs present problems humans can easily solve, but which computers struggle with, or simply can't figure out. A popular one presents a photo separated by a grid and asks users to identify all the sectors with a specific item in it, such as a flower or a face. The computer can't understand what is being asked for, and thus can't even attempt to scan the image. Even if it could, image recognition is beyond most programs not specifically built to do so.
Other examples of CAPTCHAs include showing blurry text, asking a simple logic question or even playing the question out loud. Implementing a CAPTCHA challenge at critical points in an application, such as when prompting for a password, can stop automation programs in their tracks.
It's also possible to stop automation programs by simply limiting the number of incorrect guesses from the same source. If too many wrong guesses are sent in, the account can be temporarily locked out, thus delaying the automation program past the point of usefulness, or might even require a human administrator to unlock. Doing any of that should prevent anti-automation vulnerabilities within an application.
More Information about Insufficient Anti-Automation
For further reading, you can take a look at what OWASP says about insufficient anti-automation. You can also put your newfound defensive knowledge to the test with the free demo of the Secure Code Warrior platform, which trains cybersecurity teams to become the ultimate cyber warriors. To learn more about defeating this vulnerability, and a rogues'gallery of other threats, visit the Secure Code Warrior blog.
Ready to find and fix insufficient anti-automation right now? Test your skills in our game arena: [Start Here]

Imagine going to the door of an old speakeasy or underground club. The little hole in the door slides open and a burly bouncer asks for the password. The potential visitor doesn't know the password and makes a guess. It's wrong, so the bouncer doesn't let them inside.
That's what normally would happen. Now imagine the visitor who guessed the wrong password immediately tries again, gets it wrong, and is again denied access. Then imagine the potential visitor opens up the dictionary and starts reading off words, starting with something like aardvark and proceeding to try every single possible word.
Most likely, the bouncer wouldn't allow that kind of activity to take place, but websites and applications with insufficient anti-automation do just that. They allow users to keep trying passwords, even using automation techniques, until they finally stumble across the proper catch phrase.
In this episode, we will learn:
- How attackers exploit insufficient anti-automation
- Why applications with insufficient anti-automation are dangerous
- Techniques that can fix this vulnerability.
How do Attackers Exploit Insufficient Anti-Automation?
Employing automation or dictionary-style attacks like our imaginary speakeasy visitor did are not new in cybersecurity. In fact, those brute-force style attacks were some of the first hacker techniques ever deployed. And as computers grew faster, they became more and more efficient. A fast computer can run through an entire dictionary of words in just a few minutes, depending on the speed of the connection between the attack computer and the targeted system.
Those kinds of automated attacks were why anti-automation software and techniques were created. It gives applications the ability to determine if actions being taken by a user are outside the norms of typical human behavior.
If an application has insufficient anti-automation checks in place, attackers can simply keep guessing at passwords until they find a match. Or, they might use automation software to do other things such as spam comments into website forums.
Why is Insufficient Anti-Automation Dangerous?
Allowing malicious users to employ automation to try and circumvent security can be dangerous. The reason that automation type attacks have persisted from the early days of computing until now is that they can be highly effective. If you give an automation program an unlimited amount of time to submit passwords with no consequences for an incorrect guess, it will eventually find the right one.
When used on something like a forum, having waves of obviously scripted comments might frustrate valid users, or even act like a kind of denial of service attack by squandering system resources. Automated posting might also be used as a tool for a phishing or other attacks to expose the lures to as many people as possible.
Fixing Insufficient Anti-Automation Problems
To fix the problem of insufficient anti-automation, all applications must be given the ability to determine whether actions being taken are being implemented by a human or a piece of automation software. One of the most popular and widely used techniques is the Completely Automated Public Turing test to tell Computers and Humans Apart, or CAPTCHA.
The CAPTCHA is basically a Turing test, first proposed by computer scientist Alan Turing in 1950, whereby human and computer behavior can be separated and identified. Modern CAPTCHAs present problems humans can easily solve, but which computers struggle with, or simply can't figure out. A popular one presents a photo separated by a grid and asks users to identify all the sectors with a specific item in it, such as a flower or a face. The computer can't understand what is being asked for, and thus can't even attempt to scan the image. Even if it could, image recognition is beyond most programs not specifically built to do so.
Other examples of CAPTCHAs include showing blurry text, asking a simple logic question or even playing the question out loud. Implementing a CAPTCHA challenge at critical points in an application, such as when prompting for a password, can stop automation programs in their tracks.
It's also possible to stop automation programs by simply limiting the number of incorrect guesses from the same source. If too many wrong guesses are sent in, the account can be temporarily locked out, thus delaying the automation program past the point of usefulness, or might even require a human administrator to unlock. Doing any of that should prevent anti-automation vulnerabilities within an application.
More Information about Insufficient Anti-Automation
For further reading, you can take a look at what OWASP says about insufficient anti-automation. You can also put your newfound defensive knowledge to the test with the free demo of the Secure Code Warrior platform, which trains cybersecurity teams to become the ultimate cyber warriors. To learn more about defeating this vulnerability, and a rogues'gallery of other threats, visit the Secure Code Warrior blog.
Ready to find and fix insufficient anti-automation right now? Test your skills in our game arena: [Start Here]

Click on the link below and download the PDF of this resource.
Secure Code Warrior is here for your organization to help you secure code across the entire software development lifecycle and create a culture in which cybersecurity is top of mind. Whether you’re an AppSec Manager, Developer, CISO, or anyone involved in security, we can help your organization reduce risks associated with insecure code.
View reportBook a demoJaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.
Imagine going to the door of an old speakeasy or underground club. The little hole in the door slides open and a burly bouncer asks for the password. The potential visitor doesn't know the password and makes a guess. It's wrong, so the bouncer doesn't let them inside.
That's what normally would happen. Now imagine the visitor who guessed the wrong password immediately tries again, gets it wrong, and is again denied access. Then imagine the potential visitor opens up the dictionary and starts reading off words, starting with something like aardvark and proceeding to try every single possible word.
Most likely, the bouncer wouldn't allow that kind of activity to take place, but websites and applications with insufficient anti-automation do just that. They allow users to keep trying passwords, even using automation techniques, until they finally stumble across the proper catch phrase.
In this episode, we will learn:
- How attackers exploit insufficient anti-automation
- Why applications with insufficient anti-automation are dangerous
- Techniques that can fix this vulnerability.
How do Attackers Exploit Insufficient Anti-Automation?
Employing automation or dictionary-style attacks like our imaginary speakeasy visitor did are not new in cybersecurity. In fact, those brute-force style attacks were some of the first hacker techniques ever deployed. And as computers grew faster, they became more and more efficient. A fast computer can run through an entire dictionary of words in just a few minutes, depending on the speed of the connection between the attack computer and the targeted system.
Those kinds of automated attacks were why anti-automation software and techniques were created. It gives applications the ability to determine if actions being taken by a user are outside the norms of typical human behavior.
If an application has insufficient anti-automation checks in place, attackers can simply keep guessing at passwords until they find a match. Or, they might use automation software to do other things such as spam comments into website forums.
Why is Insufficient Anti-Automation Dangerous?
Allowing malicious users to employ automation to try and circumvent security can be dangerous. The reason that automation type attacks have persisted from the early days of computing until now is that they can be highly effective. If you give an automation program an unlimited amount of time to submit passwords with no consequences for an incorrect guess, it will eventually find the right one.
When used on something like a forum, having waves of obviously scripted comments might frustrate valid users, or even act like a kind of denial of service attack by squandering system resources. Automated posting might also be used as a tool for a phishing or other attacks to expose the lures to as many people as possible.
Fixing Insufficient Anti-Automation Problems
To fix the problem of insufficient anti-automation, all applications must be given the ability to determine whether actions being taken are being implemented by a human or a piece of automation software. One of the most popular and widely used techniques is the Completely Automated Public Turing test to tell Computers and Humans Apart, or CAPTCHA.
The CAPTCHA is basically a Turing test, first proposed by computer scientist Alan Turing in 1950, whereby human and computer behavior can be separated and identified. Modern CAPTCHAs present problems humans can easily solve, but which computers struggle with, or simply can't figure out. A popular one presents a photo separated by a grid and asks users to identify all the sectors with a specific item in it, such as a flower or a face. The computer can't understand what is being asked for, and thus can't even attempt to scan the image. Even if it could, image recognition is beyond most programs not specifically built to do so.
Other examples of CAPTCHAs include showing blurry text, asking a simple logic question or even playing the question out loud. Implementing a CAPTCHA challenge at critical points in an application, such as when prompting for a password, can stop automation programs in their tracks.
It's also possible to stop automation programs by simply limiting the number of incorrect guesses from the same source. If too many wrong guesses are sent in, the account can be temporarily locked out, thus delaying the automation program past the point of usefulness, or might even require a human administrator to unlock. Doing any of that should prevent anti-automation vulnerabilities within an application.
More Information about Insufficient Anti-Automation
For further reading, you can take a look at what OWASP says about insufficient anti-automation. You can also put your newfound defensive knowledge to the test with the free demo of the Secure Code Warrior platform, which trains cybersecurity teams to become the ultimate cyber warriors. To learn more about defeating this vulnerability, and a rogues'gallery of other threats, visit the Secure Code Warrior blog.
Ready to find and fix insufficient anti-automation right now? Test your skills in our game arena: [Start Here]
Table of contents
Jaap Karan Singh is a Secure Coding Evangelist, Chief Singh and co-founder of Secure Code Warrior.

Secure Code Warrior is here for your organization to help you secure code across the entire software development lifecycle and create a culture in which cybersecurity is top of mind. Whether you’re an AppSec Manager, Developer, CISO, or anyone involved in security, we can help your organization reduce risks associated with insecure code.
Book a demoDownloadResources to get you started
Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise
Finding meaningful data on the success of Secure-by-Design initiatives is notoriously difficult. CISOs are often challenged when attempting to prove the return on investment (ROI) and business value of security program activities at both the people and company levels. Not to mention, it’s particularly difficult for enterprises to gain insights into how their organizations are benchmarked against current industry standards. The President’s National Cybersecurity Strategy challenged stakeholders to “embrace security and resilience by design.” The key to making Secure-by-Design initiatives work is not only giving developers the skills to ensure secure code, but also assuring the regulators that those skills are in place. In this presentation, we share a myriad of qualitative and quantitative data, derived from multiple primary sources, including internal data points collected from over 250,000 developers, data-driven customer insights, and public studies. Leveraging this aggregation of data points, we aim to communicate a vision of the current state of Secure-by-Design initiatives across multiple verticals. The report details why this space is currently underutilized, the significant impact a successful upskilling program can have on cybersecurity risk mitigation, and the potential to eliminate categories of vulnerabilities from a codebase.
Secure code training topics & content
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peak of what our content catalog has to offer by topic and role.
Quests: Industry leading learning to keep developers ahead of the game mitigating risk.
Quests is a learning platform that helps developers mitigate software security risks by enhancing their secure coding skills. With curated learning paths, hands-on challenges, and interactive activities, it empowers developers to identify and prevent vulnerabilities.
Resources to get you started
Is Vibe Coding Going to Turn Your Codebase Into a Frat Party?
Vibe coding is like a college frat party, and AI is the centerpiece of all the festivities, the keg. It’s a lot of fun to let loose, get creative, and see where your imagination can take you, but after a few keg stands, drinking (or, using AI) in moderation is undoubtedly the safer long-term solution.
The Decade of the Defenders: Secure Code Warrior Turns Ten
Secure Code Warrior's founding team has stayed together, steering the ship through every lesson, triumph, and setback for an entire decade. We’re scaling up and ready to face our next chapter, SCW 2.0, as the leaders in developer risk management.