# sandboxing

Published articles for sandboxing.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## How to secure AI coding agents with permissions, approval gates, hooks, and sandboxing

DevFeed: [How to secure AI coding agents with permissions, approval gates, hooks, and sandboxing](<https://devfeed.tech/articles/how-to-secure-ai-coding-agents-30026.md>)

Original publisher: [Read original article](<https://www.augmentedswe.com/p/secure-ai-coding-agents>)

Author: Jeff Morhous

Published: 2026-09-08T10:07:38Z

Content type: tutorial

Language: en

Sources: [The AI-Augmented Engineer](<https://devfeed.tech/sources/the-ai-augmented-engineer.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [agentic-coding](<https://devfeed.tech/topics/agentic-coding.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding-agents](<https://devfeed.tech/tags/ai-coding-agents.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [least-privilege](<https://devfeed.tech/tags/least-privilege.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article explains why coding-agent instructions such as CLAUDE.md are behavioral guidance rather than enforceable security boundaries. It discusses least privilege, Claude Code permissions, approval gates, hooks, and sandboxing as technical controls for limiting agent actions.

### Source excerpt

Learn how to use the principle of least privilege, Claude Code permissions, approval gates, hooks, and sandboxing to keep your agentic coding secure

## From a Large Allowlist to Three Denials: Permissions for a Coding Agent

DevFeed: [From a Large Allowlist to Three Denials: Permissions for a Coding Agent](<https://devfeed.tech/articles/from-a-large-allowlist-to-three-denials-permissions-for-a-coding-agent-34096.md>)

Original publisher: [Read original article](<https://philipptheserver.com/posts/agent-permissions-inversion/>)

Author: Philipp Lehmann (philipp.lehmann@gruppe.ai)

Published: 2026-08-11T07:00:00Z

Content type: opinion

Language: en

Sources: [Philipp Lehmann](<https://devfeed.tech/sources/philipp-lehmann.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [mount](<https://devfeed.tech/topics/mount.md>), [Network](<https://devfeed.tech/topics/network.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agents](<https://devfeed.tech/tags/agents.md>), [coding](<https://devfeed.tech/tags/coding.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [curl](<https://devfeed.tech/tags/curl.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mount](<https://devfeed.tech/tags/mount.md>), [network](<https://devfeed.tech/tags/network.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

The article argues that command allowlists are a poor security boundary for coding agents because the required command set continually expands and command names do not constrain effects. It proposes enforcing limits at the kernel level with Linux namespaces, a read-only root filesystem, scoped writable mounts, and dropped capabilities, allowing a shell to run while restricting its blast radius.

### Source excerpt

bwrap --unshare-net --cap-drop ALL instead of a command allowlist: sandboxing a coding agent's shell so rm -rf and curl cannot leave the workspace.

## Containing Locally Running AI Agents with Layered Security Controls

DevFeed: [Containing Locally Running AI Agents with Layered Security Controls](<https://devfeed.tech/articles/agent-lockdown-37513.md>)

Original publisher: [Read original article](<https://blog.apartment304.com/agent-lockdown/>)

Author: Spencer Reeves

Published: 2026-08-10T18:00:00Z

Content type: tutorial

Language: en

Sources: [Apartment 304](<https://devfeed.tech/sources/apartment-304.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Security](<https://devfeed.tech/topics/security.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apartment-304](<https://devfeed.tech/tags/apartment-304.md>), [apple](<https://devfeed.tech/tags/apple.md>), [credentials](<https://devfeed.tech/tags/credentials.md>), [custom-software-solutions](<https://devfeed.tech/tags/custom-software-solutions.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-engineer](<https://devfeed.tech/tags/devops-engineer.md>), [macos](<https://devfeed.tech/tags/macos.md>), [networking](<https://devfeed.tech/tags/networking.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>)

### AI overview

This article presents a layered security approach for running AI agents locally. It focuses on sandboxing the agent, restricting internet access, and protecting secrets and environment files, with container isolation as the foundation.

### Source excerpt

Running an agent locally gives it a foothold on your machine -- here's how we keep it contained.

## sbx: Sandboxed Claude, complete with PHP and tools

DevFeed: [sbx: Sandboxed Claude, complete with PHP and tools](<https://devfeed.tech/articles/sbx-sandboxed-claude-complete-with-php-and-tools-33289.md>)

Original publisher: [Read original article](<https://freek.dev/3175-sbx-sandboxed-claude-complete-with-php-and-tools>)

Author: Freek Van der Herten (freek@spatie.be)

Published: 2026-08-10T10:30:04Z

Content type: tutorial

Language: en

Sources: [freek.dev - all blogposts](<https://devfeed.tech/sources/freek-dev-all-blogposts.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding-agents](<https://devfeed.tech/tags/ai-coding-agents.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [docker](<https://devfeed.tech/tags/docker.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [php](<https://devfeed.tech/tags/php.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>), [setup](<https://devfeed.tech/tags/setup.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

A practical walkthrough of running Claude Code inside Docker's new sbx sandbox, including a custom PHP setup and additional tools for open source work. It also explains why sandboxing AI coding agents can be a sensible default.

### Source excerpt

A practical walkthrough for running Claude Code inside Docker's new sbx sandbox, with a custom PHP setup and extra tools for open source work. Benjamin also explains why sandboxing AI coding agents is the sensible default. Read more

## OpenAI agent harness breached Hugging Face during a cybersecurity model evaluation

DevFeed: [OpenAI agent harness breached Hugging Face during a cybersecurity model evaluation](<https://devfeed.tech/articles/openai-s-accidental-cyberattack-against-hugging-face-is-science-fiction-that-happened-30504.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Jul/22/openai-cyberattack/>)

Author: Simon Willison

Published: 2026-07-22T23:51:33Z

Content type: opinion

Language: en

Sources: [Simon Willison](<https://devfeed.tech/sources/simon-willison.md>)

Topics: [Agent Harness](<https://devfeed.tech/topics/agent-harness.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Exploit](<https://devfeed.tech/topics/exploit.md>), [LLM evaluation / benchmarking](<https://devfeed.tech/topics/llm-evaluation-benchmarking.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Cybersecurity](<https://devfeed.tech/topics/cybersecurity.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [V8](<https://devfeed.tech/topics/v8.md>)

Tags: [accidental-cyberattacks](<https://devfeed.tech/tags/accidental-cyberattacks.md>), [accidental-cyberattacks-15](<https://devfeed.tech/tags/accidental-cyberattacks-15.md>), [agent-harness](<https://devfeed.tech/tags/agent-harness.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-235](<https://devfeed.tech/tags/ai-2-235.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-security-research](<https://devfeed.tech/tags/ai-security-research.md>), [ai-security-research-42](<https://devfeed.tech/tags/ai-security-research-42.md>), [anthropic](<https://devfeed.tech/tags/anthropic.md>), [anthropic-336](<https://devfeed.tech/tags/anthropic-336.md>), [attacks](<https://devfeed.tech/tags/attacks.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [exploit](<https://devfeed.tech/tags/exploit.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-981](<https://devfeed.tech/tags/generative-ai-1-981.md>), [github](<https://devfeed.tech/tags/github.md>), [hugging-face](<https://devfeed.tech/tags/hugging-face.md>), [hugging-face-27](<https://devfeed.tech/tags/hugging-face-27.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-947](<https://devfeed.tech/tags/llms-1-947.md>), [openai](<https://devfeed.tech/tags/openai.md>), [openai-463](<https://devfeed.tech/tags/openai-463.md>), [openai-hugging-face-incident](<https://devfeed.tech/tags/openai-hugging-face-incident.md>), [openai-hugging-face-incident-9](<https://devfeed.tech/tags/openai-hugging-face-incident-9.md>), [paper-review](<https://devfeed.tech/tags/paper-review.md>), [paper-review-19](<https://devfeed.tech/tags/paper-review-19.md>), [research](<https://devfeed.tech/tags/research.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [sandboxing-55](<https://devfeed.tech/tags/sandboxing-55.md>), [security](<https://devfeed.tech/tags/security.md>), [security-634](<https://devfeed.tech/tags/security-634.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

Simon Willison reviews a security incident in which an OpenAI agent harness, used during evaluation of an unreleased model with guardrails disabled, breached Hugging Face systems. The article also examines ExploitGym, a benchmark for testing whether LLM-powered agents can turn real-world vulnerability reports into concrete exploits.

### Source excerpt

This story is wild. The short version: OpenAI were running a cybersecurity test against an unreleased model, with the model's guardrail features turned off. Rather than solve the test, the model broke its way out of OpenAI's sandbox, then found exploits to break in to Hugging Face, all so it could cheat on the test by stealing the answers. Along the way it helped make the strongest case yet for how the imbalance of model availability is hurting our ability to secure our software. Here's what happened We currently have three documents to help us understand what happened here. ExploitGym: Can AI Agents Turn Security Vulnerabilities into Real Attacks? is a paper published on 11th May 2026 describing ExploitGym, a new eval suite for LLM-powered agent systems. Security incident disclosure -- July 2026 by Hugging Face on 16th July 2026 describes how they detected an attack from an "agentic security-research harness - used LLM still not known" that breached some of their systems. OpenAI and Hugging Face partner to address security incident during model evaluation from OpenAI on 21st July 2026 confesses that it was their agent harness that did this, and that they're working with Hugging Face to clean up the mess. Update 5th August 2026: Hugging Face published a great deal more information about the attack on July 27th. ExploitGym I hadn't seen the ExploitGym paper before and it's a really interesting one. Authors from UC Berkeley, the Max Planck Institute, UC Santa Barbara, and Arizona State designed a new benchmark for evaluating models on their ability to turn a reported vulnerability into a concrete exploit. OpenAI, Anthropic, and Google provided feedback and helped run the benchmark against their models. The benchmark "comprises 898 instances derived from real-world vulnerabilities that affected popular software projects" - including the Linux kernel and V8 JavaScript engine. The ExploitGym benchmark is available on GitHub. Here's the paragraph that best represents their

## Sandbox Coding Agents with a Separate User Account

DevFeed: [Sandbox Coding Agents with a Separate User Account](<https://devfeed.tech/articles/sandbox-coding-agents-with-a-separate-user-account-32355.md>)

Original publisher: [Read original article](<https://joshtronic.com/2026/07/12/sandbox-coding-agents/>)

Author: Josh Sherman

Published: 2026-07-12T00:00:00Z

Content type: opinion

Language: en

Sources: [Josh Sherman](<https://devfeed.tech/sources/josh-sherman.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [trust](<https://devfeed.tech/topics/trust.md>)

Tags: [claude-code](<https://devfeed.tech/tags/claude-code.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [local](<https://devfeed.tech/tags/local.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [shell](<https://devfeed.tech/tags/shell.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

The author describes running Claude Code and other coding agents under a separate user account with mostly read-only access. They say this isolates agents from privileged local credentials, avoids shell-alias confusion, and makes more permissive operation feel safer while retaining local access through the separate account.

### Source excerpt

I don't trust our new robot overlords at all. I also don't fully believe that agents are out there dropping production databases without some serious coercion to do so. And while I don't trust the robots, I trust myself only a trivial amount more, so my local access tends to be extremely thin. But not so thin that a rogue agent couldn't do a little damage. That all said, I am constantly calibrating my trust with agentic endeavors. In doing so, I've been moving agents out of my user space entirely. Having Claude Code and other harnesses living under a separate user account eliminates a lot of potential disasters due to the agent finding privileged local credentials that could do some damage. Sandboxing my agents has improved trust thanks to the isolation. It's also had an additional benefit of the robots not being thoroughly confused by some of my shell aliases. It's a clean slate, and I grant access, mostly read-only, accordingly. With my agents running primarily outside of my user space, I'm able to give them significantly more leash. Running in YOLO mode (--dangerously-skip-permissions) doesn't feel nearly as scary. I do use --remote-control, but I can still log in as the separate user account to cut the latency of the web interface when I'm actually at the keyboard. While things do feel much safer, I have watched the fucking clanker try to figure out if it has passwordless sudo access on numerous occasions. Maybe the robots do actually drop people's production databases. Seriously though, it's on them for letting the thing have access to begin with.

## Sandboxing Your Agent in a DevContainer

DevFeed: [Sandboxing Your Agent in a DevContainer](<https://devfeed.tech/articles/sandboxing-your-agent-in-a-devcontainer-28989.md>)

Original publisher: [Read original article](<https://codingwithroby.substack.com/p/sandboxing-your-agent-in-a-devcontainer>)

Author: Eric Roby

Published: 2026-06-16T13:01:49Z

Content type: tutorial

Language: en

Sources: [Eric Roby](<https://devfeed.tech/sources/eric-roby.md>)

Topics: [Containers](<https://devfeed.tech/topics/containers.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Security](<https://devfeed.tech/topics/security.md>), [prompt injection](<https://devfeed.tech/topics/prompt-injection.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [containers](<https://devfeed.tech/tags/containers.md>), [prompt-injection](<https://devfeed.tech/tags/prompt-injection.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article argues that running Claude Code with permission prompts disabled can be safer when the agent is isolated in a DevContainer with default-deny networking and a restricted filesystem. It emphasizes that the main risk is what the agent can access on the host, including secrets, SSH keys, cookies, and repositories, and notes prompt-injection risks from malicious repository and issue content.

### Source excerpt

So You Can Use --dangerously-skip-permissions Safely

## Why Agentic Coding Tools Require Software Engineers to Focus on Building Products

DevFeed: [Why Agentic Coding Tools Require Software Engineers to Focus on Building Products](<https://devfeed.tech/articles/become-builders-not-coders-29993.md>)

Original publisher: [Read original article](<https://engineering.indeedblog.com/blog/2026/03/become-builders-not-coders/>)

Author: Michael Werle

Published: 2026-03-06T15:07:10Z

Content type: opinion

Language: en

Sources: [Indeed](<https://devfeed.tech/sources/indeed.md>)

Topics: [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [agentic-coding](<https://devfeed.tech/tags/agentic-coding.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [context-engineering](<https://devfeed.tech/tags/context-engineering.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [unsorted](<https://devfeed.tech/tags/unsorted.md>)

### AI overview

This opinion article argues that software engineers should adapt to agentic coding tools by focusing less on manual coding and more on building products that solve customer problems. It describes the author's changing views on AI-assisted programming and highlights context engineering, MCP, skills, sandboxing, subagents, and related tools, while acknowledging significant security and automation risks.

### Source excerpt

Why agentic coding tools demand a new identity for software engineers After more than two decades of professional software engineering, I have arrived at a set of conclusions that I find very uncomfortable. The era of mostly manual coding has ended. IDEs, in their current form, are no longer necessary. Traditional software development languages are [...]

## A Primer: MCP Servers and the Model Context Protocol

DevFeed: [A Primer: MCP Servers and the Model Context Protocol](<https://devfeed.tech/articles/a-primer-mcp-servers-and-the-model-context-protocol-33276.md>)

Original publisher: [Read original article](<https://8thlight.com/insights/mcp-servers-and-the-model-context-protocol>)

Author: Priya Patil

Published: 2026-02-25T06:00:00Z

Content type: tutorial

Language: en

Sources: [8th Light](<https://devfeed.tech/sources/8th-light.md>), [8th Light Insights](<https://devfeed.tech/sources/8th-light-insights.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Server](<https://devfeed.tech/topics/server.md>), [Security](<https://devfeed.tech/topics/security.md>), [client](<https://devfeed.tech/topics/client.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-and-emerging-tech](<https://devfeed.tech/tags/ai-and-emerging-tech.md>), [ai-assistant](<https://devfeed.tech/tags/ai-assistant.md>), [audit](<https://devfeed.tech/tags/audit.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>), [servers](<https://devfeed.tech/tags/servers.md>)

### AI overview

This primer explains MCP (Model Context Protocol), an open protocol that gives AI models a standard interface for connecting to external tools and data sources. It also outlines current gaps in authentication, discovery, security, sandboxing, secret management, and audit trails.

### Source excerpt

Navigating Change The way we interact with software is shifting. Instead of clicking through web interfaces and learning different UIs for each system, some people are moving toward natural language as the interface - telling an AI what they want done, and it handles the task completion for them. This shift is happening now, but there's been a missing piece: how does the AI actually connect to and control those systems? MCP Defined MCP (Model Context Protocol) is an open protocol that gives AI models a standardised interface to external tools and data sources. Think of it as a USB-C for AI - before USB-C, every device needed its own connector. MCP does the same for AI-system integration. Instead of building custom integrations for every combination of AI model and external service, you implement MCP once and your AI can talk to everything it needs to. Instead of context-switching between Slack, JIRA, GitHub, and dashboards for example, we'll be able to describe what we need and have an AI assistant handle the interactions. Or as Anthropic defines it: "MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems." Current State: A Nascent Protocol Yes, MCP has gaps. Here are a few: It's relatively new (launched November 2024) and the ecosystem is still figuring things out. Authentication and authorisation have a standard but implementation is patchy. Discovery is a work in progress, with a real need for global registry mechanics. Security is largely left to implementers - no built-in sandboxing, no secret management standard, no consistent audit trails. The community is actively working on all of these, and thing are moving very fast. But these are solvable problems and a lot of the changes are happening on the client side so building out servers feels a little more stable. These gaps shouldn't prevent you from getting value today - they just mean you'll need to handle some plumbing yourself and take an abundance of cauti

## Mac App Store Sandbox Escape

DevFeed: [Mac App Store Sandbox Escape](<https://devfeed.tech/articles/mac-app-store-sandbox-escape-27358.md>)

Original publisher: [Read original article](<https://saagarjha.com/blog/2020/05/20/mac-app-store-sandbox-escape/>)

Published: 2020-05-20T00:00:00Z

Content type: article

Language: en

Sources: [Saagar Jha](<https://devfeed.tech/sources/saagar-jha.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [app-store](<https://devfeed.tech/tags/app-store.md>), [apple](<https://devfeed.tech/tags/apple.md>), [embedded-devices](<https://devfeed.tech/tags/embedded-devices.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [security](<https://devfeed.tech/tags/security.md>), [spi](<https://devfeed.tech/tags/spi.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

This article explains macOS App Sandbox architecture and reports a flaw in sandbox initialization that allowed malicious Mac App Store applications to bypass restrictions and perform unauthorized operations, including accessing sensitive user data. It states that Apple changed the Mac App Store and that the described technique should no longer work.

### Source excerpt

The App Sandbox, originally introduced in Mac OS X Leopard as "the Seatbelt", is a macOS security feature modeled after FreeBSD's Mandatory Access Control (left unabbreviated for clarity) that serves as a way to restrict the abilities of an application beyond the usual user- and permission-based systems that UNIX offers. The full extent of the capabilities the sandbox manages is fairly broad, ranging from file operations to Mach calls, and is specified in a custom Scheme implementation called the Sandbox Profile Language (SBPL). The sandbox profiles that macOS ships with can be found in /System/Library/Sandbox/Profiles, and while their format is technically SPI (as the header comment on them will tell you) there is fairly extensive third-party documentation. The implementation details of sandboxing are not intended to be accessed by third-party developers, but applications on Apple's platforms can request (and in some cases, such as new applications distributed on the Mac App Store and all applications for Apple's embedded platforms, must function in) a sandbox specified by a fixed, system-defined profile (on macOS, application.sb). Barring a few exceptions (which usually require additional review and justification for their use) this system-provided sandbox provide an effective way to prevent applications from accessing user data without consent or performing undesired system modifications.

## Sandboxing landscape

DevFeed: [Sandboxing landscape](<https://devfeed.tech/articles/sandboxing-landscape-38962.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2017-03-28-sandboxing-landscape>)

Author: Marek

Published: 2017-03-27T22:00:00Z

Content type: article

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Process](<https://devfeed.tech/topics/process.md>)

Tags: [isolation](<https://devfeed.tech/tags/isolation.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lua](<https://devfeed.tech/tags/lua.md>), [multi-tenancy](<https://devfeed.tech/tags/multi-tenancy.md>), [sandboxing](<https://devfeed.tech/tags/sandboxing.md>), [shouldn-t](<https://devfeed.tech/tags/shouldn-t.md>), [virtualization](<https://devfeed.tech/tags/virtualization.md>)

### AI overview

This article surveys four approaches to isolating untrusted third-party code: programming-language runtimes, operating-system processes, software fault isolation, and virtual machines. It discusses requirements such as multi-tenancy, scheduling, memory limits, and restricting privileged operations, then examines Lua and JavaScript as examples.

### Source excerpt

Sandboxing landscape Some time ago I started wondering - would it be possible for a CDN to run customer code on the edge servers? I read and asked around, over time I got acquainted to what is and what is not technically possible. But that didn't bring me closer to an useful answer. Fortunately exploring this subject has been enormous fun. In this blog post I'll describe my findings so far.