01 | 2025 Erkka Korpi, Senior software & cloud engineer, Partner Kipinä
As a developer, my standards are always high – I want to deliver top-tier IT solutions quickly and efficiently for our client at Supercell. The subconscious pressure I feel is largely self-imposed. This same pressure drove me to a situation where I relied too heavily on AI-generated code. The temptation to solve a problem quickly was simply too great. When I realized that the AI code didn't work as intended, I had to retrace my steps significantly. The speed I was looking for had actually led me completely astray – and potentially into dangerous waters.
Visiting the annual AWS re:Invent technology conference in Las Vegas brought this moment back to mind and made me acutely aware of my responsibility as a developer when utilizing AI-generated code. Surely we have all made the same mistake: as a developer, you have relied on something – a third-party library, a pre-built solution, or perhaps a colleague's recommendation – that you do not fully understand.
As one might expect, the main themes of AWS re:Invent were artificial intelligence and related technological innovations. Security-focused sessions by Fernando Cardoso from cybersecurity firm Trend Micro, as well as AWS's Raj Pathak, Qingwei Lin, and Remitly's Ankur Tiwari, provided me with a concrete view of the fast-paced race between artificial intelligence and cybersecurity. Far too many critical matters are easily overlooked as AI solutions take over software development at an accelerating pace.
“As developers and clients, do we sufficiently recognize the ongoing race between AI and cybersecurity in software development? Do we acknowledge the risks of tight schedules and ever-accelerating momentum?”
These questions served as the catalyst for this blog post. I hope my perspectives spark thought among editors, clients, and fellow developers regarding AI-related security risks and the importance of addressing them. New solutions that appear faster and easier can captivate anyone. Particularly on the vendor side, this creates pressure to deliver AI-generated solutions – often too quickly. The risks of tunnel vision are obvious.
Everything new brings security threats
Whenever a technologically demanding innovation has been rapidly adopted by the 'masses' in history, the change has introduced security vulnerabilities – vulnerabilities often rooted in a lack of sufficient expertise.
Cybersecurity is rightfully its own specialized field in software development. That is why security professionals, who know how to identify and manage risks, are frequently utilized for application security testing.
The proliferation of cloud services introduced an entirely new operating environment compared to traditional IT infrastructure. PaaS (Platform as a Service) services operate on the principle of the shared responsibility model, where security responsibility is divided between the service provider and the customer.
The service provider is responsible for the security of the platform's infrastructure, such as encrypting data traffic between data centers and maintaining the security of the server platform.
The customer is responsible for the secure configuration of services, such as managing firewall rules and protecting their own data.
Deficiencies in the customer's areas of responsibility have often led to severe security breaches. For example, Tesla's 2018 data leak resulted from misconfigured cloud services.
"AI services carry a significant potential risk of causing data breaches and even exponentially more severe disasters than anything witnessed thus far."
Consider a scenario where a company has trained a large language model (LLM) on its proprietary data, potentially accumulated over decades. In the worst case, a single misconfigured service can expose this model to unauthorized access. This would allow a so-called 'black-hat hacker' to simply query the model for the desired information without having to perform manual reconnaissance.
This risk is reminiscent of traditional infrastructure security, where access permissions to systems are strictly defined. However, in modern AI-targeted attacks, the situation can be more complex. Even though anyone might interact with the model, a black-hat hacker can craft their prompts so skillfully that the model discloses information that should not be public. This is known as a prompt injection attack.
Just as the evolution of AI services has lowered the barrier to software development, it has also facilitated hacking for individuals who previously lacked the requisite expertise. In addition to prompt injection, artificial intelligence introduces several other specific security threats, such as:
Data poisoning: An attacker intentionally manipulates the AI training data, which can alter the model's behavior to benefit the attacker.
Model extraction: An attacker attempts to reverse-engineer the model's operational logic through precisely targeted queries to create a replica of the model and its capabilities.
To manage security risks, I recommend exploring the materials maintained by OWASP, particularly the recently published OWASP Top 10 for LLM Applications 2025 whitepaper.
When intersecting information security with AI, key questions to consider include:
Does your company have a clear inventory of which AI models are in use and what data has been fed into them?
Are different teams within the organization utilizing different models—for instance, one team using OpenAI's ChatGPT and another Google's Gemini?
Has the company established clear governance and guidelines for AI adoption, or has the matter been left entirely unaddressed?
Pragmatism and a Level Head
The pervasive market narrative surrounding AI capabilities currently demands a pragmatic, down-to-earth stance and a healthy dose of skepticism. From a developer's perspective, the triumphant messaging of artificial intelligence is tainted by a glaring conflict of interest among service providers.
It is important to understand that AI service providers directly benefit from a future where developers are no longer needed. Industry players such as Nvidia, OpenAI, and Cognition boldly paint a picture of a future where AI handles all programming on behalf of humans, rendering coding skills obsolete.
Ironically, at the AWS re:Invent event, the messaging regarding AI security was, in my view, quite the opposite. The need for human expertise is heightened when the ultimate security responsibility for AI solutions remains with humans. Service providers, such as AWS, heavily invest in platforms built on the shared responsibility model upon which AI services are developed (e.g., AWS Bedrock). At least for now, we cannot outsource security accountability to artificial intelligence, but we can leverage it to augment our work.
"This contradiction in messaging has certainly contributed to my own reservation regarding AI solutions. Many promises sound too good to be true. A future where humans become more or less obsolete, functioning merely as extensions of artificial intelligence, has felt alien and even repulsive."
The reality, however, is that while AI tools such as ChatGPT and GitHub Copilot multiply developer productivity, they are not currently capable of replacing the expertise and deep competence of an experienced developer.
Deploying AI-generated code directly into production always entails the risk of vulnerabilities. Without an expert's ability to critically evaluate the quality of AI-generated code, vulnerabilities can easily propagate all the way to production.
As WithSecure Chief Research Officer Mikko Hyppönen has stated: "If it’s intelligent – it’s vulnerable."
Who bears the responsibility for AI?
AI technologies and their associated abstractions are currently evolving at a breakneck pace. Concurrently, producing AI-driven services and solutions is becoming easier by the day, regardless of the developer's technical proficiency.
This trajectory mirrors the paradigm shift once enabled by cloud computing. Cloud services accelerated development and lowered the barrier to building production-ready infrastructure without massive financial investments. Anyone had the opportunity to bring a digital service to the public market. Today, AI technologies are accelerating this cycle even further, enabling greater efficiency with lower technical expertise.
Nevertheless, without adequate technical comprehension, it is difficult to evaluate the security risks and technical flaws inherent in AI-generated applications and products. Who, then, assumes liability when a rapidly and easily deployed AI-driven solution harbours critical risks?
It was precisely this acceleration of momentum and lowering of the barrier that prompted me to reflect:
Does accelerated development and increased productivity give rise to novel security risks? And how can these risks be governed?
AI-related security risks and their management are still relatively new challenges. The OWASP Foundation, which has long published Top 10 lists of web application security risks, released its first Top 10 list specifically for large language models (LLM applications) in 2023. This demonstrates that AI security now demands even greater attention.
Every developer's temptation
Software development is a process of continuous learning amid rapidly evolving and complex systems. No one can claim to master everything. However, artificial intelligence seems to amplify a growing dilemma in the industry: whether to get things done quickly or properly the first time. This question fuels the temptation to cut corners.
As I mentioned earlier, I have also found myself in situations where, due to time constraints and limited resources, I moved too fast in a project. In the realm of AI and security, this is a familiar human factor for many. Even as an experienced professional, I have had to confront entirely new issues and realize that my technical expertise is not always sufficient to assess all risks.
Before the advent of AI, solutions to being ‘stuck on code’ were sought from colleagues or Stack Overflow, so it is entirely human that AI is tempting for every developer. Underlying factors include haste, schedule pressure, and a shortage of personnel. Through these experiences, I have come to understand my responsibility and role in this work. My own mistake taught me to be more critical of the perceived efficiency gains of AI. I no longer blindly trust code generated by AI.
Leveraging AI-generated code does not indicate developer laziness, but rather a desire to excel driven by external or self-imposed pressure. In such situations, what helps me is remembering that creating code I can stand behind with integrity at the end of the day is more important than moving fast. I cannot apologize to a client by saying, "I got some slightly poor code from the AI."
Is it possible to move fast while still addressing the most critical aspects?
What risks do you recognize and are you prepared to take?
Security is everyone's responsibility
Finally, I encourage everyone utilizing AI or providing AI services to familiarize themselves with security threat models related to AI solutions, such as the risks associated with large language models (LLMs) and their mitigation. In my view, AI security is a combination of traditional access and privilege management and AI-specific threat management.
Nothing has changed in the shift-left approach, where security is considered early in the software development lifecycle rather than addressed only after deployment. Artificial intelligence accelerates software development, but this must not happen at the expense of security.
Erkka Korpi, Senior Software & Cloud Engineer & Partner at Kipinä
This article was written by one of Kipinä's seasoned experts. Erkka's principled and inquisitive nature drives his passion for understanding how things truly work deep beneath the surface. Technology is Erkka's passion both as a consultant in Supercell's team and in his free time: “I like to dive into the deep end.”