talk
Before Your Code Runs: Exploiting Implicit Attack Surfaces
- Host
- Black Hat India 2026
- Location
- Room 1, Sheraton Grand, Brigade Gateway, Bengaluru, India
- Audience
- Application Security, Offensive Security Researchers, Developers, AppSec Teams
- Duration
- 40 minutes
Gave a 40-minute briefing on the Application Security: Offense track at Black Hat India 2026, Friday 30 October, 14:00, in Room 1 at Sheraton Grand, Brigade Gateway, Bengaluru.
The talk follows the path a developer already takes: clone, open, set up, write, commit, open a pull request, let CI run, ship. At each step, something else runs first.
- Clone. A
.npmrcreads as project registry config and redirects the next install.AGENTS.mdreads as contributor docs and becomes instructions the agent follows. - Open. A VS Code task, a JetBrains sync, or an editor config can execute or retarget the toolchain when the folder opens.
CLAUDE.md,AGENTS.md, and.cursor/rulesload as orders, with no prompt. - Setup.
pip installrunssetup.py, importing a package runs__init__.py,npm installrunspostinstall,cdcan run.envrc, and.pthfiles plussitecustomize.pyrun on every Python start. lote.guide catalogues those primitives by when they fire. - Write. The agent fills gaps with plausible names: a domain, a bucket, a package. Those names are often for sale. cot.run records the prompts, tool calls, and file edits so you can see what the agent did.
- Commit and CI. A
.githooks/pre-commitin the repo runs before your commit, switched on by ahooksPathline in~/.gitconfigthat setup wrote. On the pull request, a fork’s code, branch name, or title becomes input a workflow executes while it holds secrets. actsense audits that class of workflow risk.
Each of these is a feature. autorun.inf, then .pth, then AGENTS.md: the same primitive, thirty years apart. How that access starts, and what stays exposed after the breach is treated as closed, is the subject of The Breach Is Over. The Exposure Is Not.