My Security App Workflow: Testing by Breaking
The core shift is moving from "Does this work?" to "How do I bypass this?" This approach uncovered critical edge cases that normal QA would never touch, such as repeated authentication failures or unexpected application crashes during state transitions.
The Security Mindset Loop
Instead of the linear "Build → Test → Ship" pipeline, I implemented a recursive loop for every module:
1. Challenge: Identify a specific restriction (e.g., a password gate).
2. Attack: Attempt to bypass it using unexpected inputs or forced crashes.
3. Analyze: Determine why the failure happened.
4. Refactor: Rewrite the logic to handle the misuse.
5. Repeat: Verify the fix by trying to break it again.
Real-World Lessons in Robustness
Building security software taught me that "working" and "secure" are two entirely different metrics. A feature can be 100% functional under normal conditions but 0% secure under intentional misuse. This realization forced me to rewrite entire modules because the initial architecture assumed the user would follow the rules.
Now, my personal AI workflow for prompt engineering and coding involves a specific "adversarial" step. Before I consider a piece of code finished, I ask: "If I wanted to bypass this logic, what would be my first move?"
For those interested in seeing this logic in practice, the project is available here:
https://github.com/Akhouri-Anmol-Kumar/ATLOCKAnd the latest release can be found at:
https://github.com/Akhouri-Anmol-Kumar/ATLOCK/releases/download/v4.0/ATLOCK.zip