Blog
Stay updated with our latest thoughts on software engineering, cybersecurity, and artificial intelligence.
Stay updated with our latest thoughts on software engineering, cybersecurity, and artificial intelligence.
Application security has traditionally been positioned as corporate insurance against financial losses. This perspective has spawned numerous counterproductive phrases that undermine the discipline. Ten Problematic Mindsets in AppSec Keep The Company Off the Front Page Fear-based messaging is ineffective when breaches occur so regularly that public impact is minimal for most organizations. Security is Non-Functional The notion that security exists outside business functions ignores reality—security is a prioritized requirement like any other business need. ...
Posted on June 22, 2024 The alarm sounds. You sleepily ask your AI assistant for the weather. Wearily grab breakfast while scrolling through social media. With a few taps, you reserve a self-driving car to pick up your perfectly tailored meal – one that matches your DNA-based dietary needs, as predicted by your medical history. Sounds perfect, right? In our rush to make life easier, we might be losing what makes us human. Our shiny gadgets promise a brighter future, but at what cost? ...
Alexa, Siri, and Jarvis represent the promise of artificial intelligence making life simpler. These digital assistants claim to understand us better than we understand ourselves, with smart devices coordinating to enhance productivity and reduce daily stress. However, history suggests caution. Social media was similarly promoted as fostering global connection and empathy, yet delivered disappointingly different results. The Upside: Convenience and Efficiency AI assistants provide genuine practical benefits. They can analyze calendars, traffic patterns, and flight schedules to notify users precisely when to depart for appointments. Such systems reduce both time investment and anxiety about punctuality. ...
Posted on June 3, 2024 You all know Murphy, right? The one whose law revolves around anything that can go wrong will go wrong. And you probably know the Law of Unintended Consequences: all actions have consequences, whether intentional or unintentional. One of the reasons I have remained in software security is because I have a knack for finding those unintended consequences. This time, I found many of them. In many disparate but related systems. Including myself. ...
“AI created software is coming faster and faster. And the technology to do it is already here. All that is needed is training data and a focus.” Artificial Intelligence will create, test, and deliver software products with accuracy, efficiency, and security. Specialized AI agents will coordinate development across distinct lifecycle phases at inhuman speeds. How Will It Work? A software creator describes their product to an Application Generator (AG), which uses large language models to analyze requirements and interact with the creator to refine them. The AG works alongside a Domain Modeler to establish specifications using domain-specific language. ...
The Shift to Subscription Models The software industry has undergone a fundamental transformation. Rather than purchasing licenses outright, users now lease software through subscription services—from consumer platforms like Netflix and Spotify to business tools such as Office 365 and Apple iCloud. Previously, software came with ownership. Users received a license, installed the program (often through multiple disk swaps), and updates were limited or required purchasing new versions entirely. The internet changed this trajectory, making distribution simpler and eventually catalyzing the software-as-a-service revolution. ...
Human Computer Interaction is difficult. Options are endless. Software frequently impedes user workflows, creating frustration that erodes trust between users and systems. This problem extends beyond mere inconvenience—it carries security implications that deserve attention. The Challenge of Modern User Experience Contemporary software attempts to serve multiple contexts simultaneously: desktop browsers, tablets, and mobile devices. User interface designers must balance countless factors including accessibility standards, evolving authentication methods (from passwords to facial recognition and passkeys), and rapidly shifting technology capabilities. ...
“Automation does not need to be our enemy. I think machines can make life easier for men, if men do not let the machines dominate them.” — John F Kennedy The Evolution of Developer Automation Software engineers have long embraced the philosophy of automating repetitive tasks. The industry has progressively introduced tools that reduce manual work: Early era: Manual debugging through console logging and frequent server restarts IDE advancement: Integrated Development Environments eliminated many routine tasks Modern infrastructure: Docker, Kubernetes, and Terraform automate deployment processes Framework libraries: Open-source solutions handle common functions like JSON parsing and database management These innovations increased developer productivity and lowered barriers to entry, yet professional demand remained stable with salaries exceeding six figures and 150,000+ open positions. ...
Posted on March 27, 2024 Overview User experience and interface design represent critical opportunities to strengthen application security. The attack surface is defined by how users interact with systems—including what data types are permitted, which fields are accessible, and how the application processes information. Strict Data Validation Best practices dictate that interfaces should rigorously control what users can enter. For example, an email field should only accept valid addresses, while password fields must enforce strength requirements like minimum length and complexity. ...
Posted on March 21, 2024 Overview The traditional “build vs. buy” decision in software development oversimplifies the actual choices teams face. A more nuanced perspective examines the balance between building solutions internally and purchasing external services. Using authentication in “MyOwnTutorial” as a case study reveals how security can function as either a gatekeeper or a facilitator. Three Approaches to Authentication Build: Custom Authentication Solution Security as a Gate: Creating an internal authentication system requires deep security expertise. The approach demands extensive threat modeling, security testing, and compliance validation. While tailored to specific needs, this path creates bottlenecks as security reviews and vulnerability assessments must precede deployment. ...