Executive Overview
Application Security Analysts are responsible for preventing vulnerabilities before they reach production, not simply detecting attacks after the fact.
This project demonstrates a shift-left application security pipeline that transforms attacker detection logic into automated security tests executed during the software development lifecycle (SDLC).
Instead of monitoring logs for SQL injection or XSS attempts after deployment, the system actively injects attack payloads into the application during the build phase, failing the build if defenses are inadequate.
The project is intentionally designed to mirror enterprise AppSec workflows used in financial environments where vulnerabilities can directly translate into fraud, data integrity loss, or market disruption.
How might we enable developers to validate real, exploitable security issues early in the SDLC without slowing delivery or increasing cognitive load?
Problem Statement
Traditional security monitoring is reactive by design—and that breaks down in high-stakes financial environments.
What traditional monitoring focuses on
- Detecting malicious input in logs
- Alerting after an attack attempt
- Responding reactively
In high-stakes financial environments, this approach is insufficient.
What the real objective is
- Validate defenses before deployment
- Ensure vulnerabilities never reach production
- Embed security directly into the SDLC
The goal is prevention: catch exploitable behavior before code ships.
Alex Morgan is a senior backend developer working on production-critical systems where security issues can directly impact customers and revenue.
She values security feedback that arrives early in CI/CD, avoids false positives, and clearly explains what needs to be fixed—without slowing delivery or introducing unnecessary rework.
Alex Morgan
Sr Backend Developer
Goals
- Ship code securely without impeding delivery.
- Avoid production security incidents.
- Receive actionable security feedback early.
Needs
- Tests in CI/CD for early security feedback.
- Clear, actionable pass/fail signals.
- Simple remediation guidance.
Pain Points
- Late-arriving security findings cause rework.
- Noisy scanners with unclear results.
- False positives erode trust in security tools.
Security feedback should protect delivery, not slow it down.
Architecture Overview
Design Goal: Shift Left Application Security
The primary design goal was to move meaningful application security validation earlier in the software development lifecycle—before code reaches production—while remaining compatible with real developer workflows.
Rather than producing exhaustive vulnerability reports, the system was designed to help developers quickly determine whether a change introduced real, exploitable risk that should block release
To support this shift-left approach, the system prioritizes:
- Early feedback aligned with CI/CD principles
- Clear pass/fail outcomes instead of ambiguous alerts
- Actionable remediation guidance developers can apply immediately
This goal informed all architectural, technical, and presentation decisions.
Security Objectives
The system demonstrates four core AppSec capabilities aligned to the persona’s goals and needs:
- Identifies common OWASP Top 10 vulnerabilities
- Demonstrates how scanners actually work (not just running tools)
- Produces actionable security findings suitable for dev teams
- Shows judgment: what’s real, what’s noise, what’s exploitable
Core Design Principles
- Shift Left
- Test security controls during development, not after release.
- Automation First
- Security checks must run consistently and automatically.
- Language Agnostic
- Secure the pipeline, not just one programming language.
- Developer Friendly
- Findings must be actionable and non-adversarial.
- Evidence Driven
- All failures include reproducible proof.
Threat Model (High Level)
Threats Considered
- SQL Injection against financial account workflows
- Reflected XSS in user-controlled inputs
- Weak output encoding
- Missing defensive HTTP headers
- Account takeover precursors
Impact in Financial Context
- Unauthorized access to trading accounts
- Data integrity violations
- Fraud and regulatory exposure
- Loss of trust in market systems
System Architecture
The system is designed as a CI-integrated security pipeline that actively tests web application behavior during development and produces enforceable security decisions before deployment.
Rather than operating as a standalone scanner or post-deployment monitor, security validation is embedded directly into the delivery workflow.
- Developer Commit
- CI Pipeline Trigger
- Security Test Harness (Python)
- Active Payload Injection
- Response Analysis & Triage
- PASS → Deploy
- FAIL → Block Build
Architecture Execution Flow
When a developer commits code, the CI pipeline automatically triggers a Python-based security test harness (sort of like an automated security check that that attempts common attacks) that executes against designated web application endpoints.
The harness performs active payload injection, simulating common web attack techniques such as SQL injection and reflected input manipulation. Application responses are analyzed for behavioral changes that indicate exploitability, rather than relying on static indicators alone.
Based on this analysis, the system produces a binary, enforceable decision:
- PASS — No exploitable behavior detected; deployment proceeds.
- FAIL — Exploitable behavior confirmed; the build is blocked.
All failed decisions include reproducible evidence and remediation context, ensuring that security enforcement is transparent, defensible, and actionable for developers.
Web Scanner: Technical Implementation
The web scanner functions as a security test harness—a set of security-focused unit tests that actively validate exploitability, rather than a passive scanner that only reports findings.
- Actively inject SQLi payloads into target endpoints.
- Evaluate responses for exploitability signals:
- SQL error leakage
- Database errors or stack traces revealed in the response.
- Boolean logic manipulation
- Response changes when injected logic alters query behavior.
- Response length anomalies
- Significant content shifts compared to a safe baseline request.
- Inject reflected XSS payloads into user-controlled inputs.
- Inspect response bodies for payload reflection.
- Fail the build if unencoded input is rendered back to the user.
Validate baseline defensive posture by checking for required headers:
- Content-Security-Policy
- X-Frame-Options
- X-Content-Type-Options
- Referrer-Policy
- All tests run automatically during CI.
- Any confirmed vulnerability blocks deployment (non-zero exit).
- Security failures are treated like failing unit tests (same enforcement path).
- Python orchestrates enterprise SAST/DAST tools.
- Normalizes results into a consistent finding format.
- Filters common false positives before surfacing issues to developers.
- Findings must meet multiple exploitability indicators to be enforced.
- Results are classified for clarity and workflow:
- Confirmed
- Needs Manual Review
- False Positive
- Visual request/response flow diagrams for fast understanding.
- Annotated payload examples with reproduction steps.
- Plain-language explanations of impact and fix.
Financial Domain Alignment
This project explicitly frames threats in financial terms and reflects an exchange-grade security mindset.
The pipeline reflects the mindset required in exchange-grade security environments: stop exploit paths early, attach proof, and keep developer delivery moving.
Results & Impact
What the pipeline changes in practice.
Earlier Detection
Vulnerabilities are identified before deployment.
Actionable Feedback
Developers receive immediate, usable remediation guidance.
Repeatable Testing
Security tests become repeatable and measurable.
Security by Design
The SDLC enforces security as a release requirement.
Key Takeaways
What matters most.
- 1 Application Security is an engineering discipline, not monitoring.
- 2 Prevention is more valuable than detection.
- 3 Automation enables consistency at enterprise scale.
- 4 Clear communication is a security control.
Resume-Ready Highlights
Role-aligned highlights.
- Built a shift-left application security pipeline enforcing security during the SDLC.
- Developed automated security unit tests for SQL injection and XSS defenses.
- Orchestrated SAST/DAST tooling across polyglot codebases using Python.
- Reduced false positives through analyst triage logic.
- Delivered developer-friendly security findings with visual explanations.
Closing Statement
This project represents the transition from log watcher to pipeline builder. It demonstrates how application security analysts prevent breaches by embedding security directly into the development lifecycle— aligning with the expectations of enterprise and financial security teams.