# AppArmor profile for codex task containers (outer hardening). # # Based on Docker's default container profile, with stricter denies: # - deny network raw: no raw sockets (ping/scan/sniff tricks) # - deny ptrace: no process injection / debugging other processes # - deny mount/umount: containers must never mount (bwrap path is # NOT enabled here; inner sandbox stays danger-full-access by # choice, so mount inside the container is pure attack surface) # - deny dangerous capabilities (defense in depth; containers also # run with --cap-drop=ALL, so these are a second lock, not the # only one) # - deny writes to /proc/sys, /sys, /proc/keys (kernel tunables) # # Deliberately NOT included: `userns` (that would enable the bwrap # inner-sandbox path, which is a separate decision, not this one). # # Install: cp to /etc/apparmor.d/docker-codex, then # apparmor_parser -r /etc/apparmor.d/docker-codex # Use: docker --security-opt apparmor=docker-codex # (worker flag: --docker-security-opt apparmor=docker-codex) # Verify: docker inspect shows # "AppArmorProfile": "docker-codex" (not "docker-default"). #include profile docker-codex flags=(attach_disconnected,mediate_deleted) { #include network inet stream, network inet dgram, network inet6 stream, network inet6 dgram, deny network raw, capability chown, capability dac_override, capability fsetid, capability fowner, capability mknod, capability net_bind_service, capability setfcap, capability setgid, capability setpcap, capability setuid, capability sys_chroot, deny capability sys_admin, deny capability sys_ptrace, deny capability net_admin, deny capability net_raw, deny capability sys_module, deny capability sys_rawio, deny capability sys_boot, deny capability sys_time, deny capability mac_admin, deny capability mac_override, deny mount, deny umount, deny pivot_root, deny ptrace, file, deny @{PROC}/sys/** w, deny @{PROC}/sysrq-trigger rw, deny @{PROC}/keys/** rw, deny @{PROC}/kcore rw, deny /sys/** w, deny /etc/shadow rw, deny /etc/gshadow rw, signal, unix, dbus, ptrace (readby), }