Start with a small, explicit task
Secure AI-assisted development starts before the first prompt. Describe the intended change, the data the tool may use, and the actions it may take. A request to add a report endpoint should not implicitly authorize a database migration or a production deployment.
This checklist puts the proposed SAIDLC model into everyday engineering decisions. It supplements the team's existing secure development process.
Decide what the assistant may read
Use approved tools and review their data handling and retention settings before supplying private code or customer information. Prefer synthetic examples when debugging records. Keep secrets outside the working context, and use secret scanning to catch accidental additions to version control.
Repository files, issues, and retrieved pages may contain instructions from an attacker. Treat that material as untrusted input. A comment asking the assistant to upload a configuration file is not permission to disclose it. OWASP discusses these risks in its Secure Coding with AI guidance.
Limit what the agent can do
Use a disposable development environment with scoped credentials and no production secrets. Grant only the file, command, and network access required for the task. A tool that only suggests code needs less authority than an agent that can execute it.
Require deliberate approval for destructive commands, credential access, external uploads, and deployments. Enforce restrictions in the environment and tool permissions. A sentence in a prompt is not an access control boundary.
Review the change and test the failure paths
Inspect the entire diff, including configuration, dependencies, and generated files. Verify that new packages exist and are appropriate before installation. Run the project's tests and relevant security checks, and investigate failures instead of accepting an assistant's claim that they are unrelated.
For authorization work, test access using another user's record and an identity without the required permission. For database changes, inspect migration behavior and test recovery on disposable data. Tests generated from the same mistaken assumption can all pass, so compare them with requirements and independent review.
Keep release authority separate
An assistant can prepare a pull request or release notes without receiving production access. Keep protected branches, required checks, and deployment permissions in place. Record the reviewed commit and build artifact so the team can identify what actually shipped.
After release, monitor the behavior affected by the change and retain a tested rollback or recovery path. Assign a person to investigate unexpected access, errors, or data changes.
A short pre-merge checklist
- The diff matches the task, including configuration and dependency changes.
- No secrets or unnecessary personal data entered the prompt or repository.
- Agent permissions stayed within the agreed scope.
- Functional tests and relevant negative tests passed.
- A reviewer checked sensitive behavior and release readiness.
For the lifecycle context, see SAIDLC vs SSDLC. For deeper tool controls, see OWASP's AI Agent Security Cheat Sheet.
I build web apps, APIs, and internal systems with security in mind from the start.
All articles · Explore my work