LocalStack for Azure Preview Ignores Security Rules

TL;DR: LocalStack has launched a free public preview of its Azure emulator, letting developers test cloud apps locally. However, the tool currently stores but does not enforce security settings like network rules, creating a potential testing gap.
Key facts
- Category
- Infrastructure
- Impact
- High
- Published
- Source
- InfoQ
Full summary
LocalStack's new Azure emulator lets you test cloud apps locally, but its public preview currently stores and ignores all security rules.
LocalStack, a popular tool for emulating cloud services on a local machine, has released a public preview for Microsoft Azure. According to a report from InfoQ, this new offering allows developers to run and test Azure services on their own computers without incurring cloud costs. The emulator is designed to work with existing infrastructure-as-code scripts like ARM, Bicep, and Terraform, aiming for a seamless transition between local and cloud environments. However, the preview comes with a critical limitation that developers and security teams must understand. While the tool correctly stores security configurations, such as network access rules or TLS requirements, it does not actually enforce them. This means a locally running application will appear to be secure based on its configuration, but in practice, it operates without any of the specified restrictions.
The core of the issue lies in how the emulator currently functions. LocalStack for Azure works by creating a mock version of Azure's APIs on the developer's machine. When a developer uses a tool like Terraform to define a network security group that blocks a specific port, the LocalStack API receives this request, saves the configuration, and confirms its creation. If the developer later queries the API to check the rule, LocalStack will return the saved configuration, making it seem as if the rule is active and enforced. The gap is in the underlying engine, which has not yet implemented the logic to actually inspect and block network traffic based on these stored rules. This creates a dangerous discrepancy between the perceived state of the local environment and its actual behavior, where all traffic is effectively permitted regardless of the defined policies.
This approach of prioritizing functional API parity over complex feature enforcement is common for emulation tools in their early stages. The primary goal of a preview release is often to enable developers to test the core logic of their applications—ensuring functions execute, databases respond, and storage buckets are accessible. Implementing the intricate details of security, identity, and networking enforcement is a significantly more complex engineering challenge. LocalStack’s mature AWS emulator followed a similar path, gradually adding more robust enforcement capabilities over many years. The expansion to Azure signals LocalStack's ambition to become the standard for local cloud development across all major platforms, but it also highlights the long road ahead to achieve full feature parity, especially in critical areas like security.
For teams adopting the LocalStack for Azure preview, the practical takeaway is to use it exclusively for functional and integration testing. It remains a valuable tool for accelerating development cycles and reducing costs by catching bugs in application logic before deploying to the cloud. However, it cannot be used as a substitute for security testing or validation. All security-related configurations, including network rules, identity and access management (IAM) policies, and encryption settings, must be thoroughly tested in a properly configured cloud environment, such as a dedicated Azure development or staging subscription. Development teams should explicitly document this limitation to prevent engineers from developing a false sense of security. The key milestone to watch for will be when LocalStack announces the implementation of security rule enforcement, which will mark the tool's transition from a useful utility to an essential component of a secure development lifecycle for Azure.
Why it matters
For developers and DevOps teams, this means local tests may pass even with misconfigured security rules, creating a false sense of security. Flaws in network policies or access controls could go undetected until they are deployed to production, increasing real-world risk.
Business impact
Companies relying on LocalStack for Azure in their development lifecycle could face significant security risks. A failure to enforce security rules locally could lead to deploying vulnerable applications, potentially resulting in data breaches, compliance violations, and costly emergency fixes.
Tags
Related on Notifire
Related stories
Primary source: InfoQ