Skip to content

🔄 Development Workflow

Process Flow


1. Product Manager Phase

Input

  • User feedback
  • Market research
  • Business goals

Output: User Story

## User Story
As a security engineer
I want to scan APIs for authentication vulnerabilities
So that I can identify weak authentication mechanisms

## Acceptance Criteria
- [ ] Detects missing authentication
- [ ] Identifies weak password policies
- [ ] Checks for secure token storage
- [ ] Validates session management
- [ ] Generates detailed report

## Priority: P0
## Estimated Effort: 3 days

2. Architect Phase

Input

  • User story
  • Technical constraints
  • System architecture

Output: Technical Design

## High-Level Design (HLD)

### Component: AuthenticationScanner

**Responsibilities:**
- Scan authentication endpoints
- Test credential validation
- Check session security
- Identify weak configurations

**Interfaces:**
```python
class AuthenticationScanner(BaseScanner):
 def scan(self, target: str) -> ScanResult:
 """Scan for authentication vulnerabilities."""
 pass

 def check_password_policy(self, endpoint: str) -> PolicyResult:
 """Validate password policy strength."""
 pass

Dependencies: - BaseScanner (abstract base) - HTTPClient (network requests) - PolicyValidator (rule engine)

Low-Level Design (LLD)

Algorithm: 1. Discover authentication endpoints 2. Test for common vulnerabilities: - Missing authentication - Weak passwords - Insecure tokens 3. Validate results 4. Generate report

Data Structures:

@dataclass
class AuthVulnerability:
 endpoint: str
 vuln_type: str
 severity: str
 evidence: Dict[str, Any]
 remediation: str
---

## 3. Implementation Phase

### Developer Checklist
- [ ] Create feature branch
- [ ] Write failing tests (TDD)
- [ ] Implement feature
- [ ] All tests pass
- [ ] Code review ready
- [ ] Documentation updated

### Example PR Description
```markdown
## PR: Add Authentication Scanner

### Changes
- Implemented `AuthenticationScanner` class
- Added password policy validation
- Created 15 test cases (100% coverage)

### Testing
- [x] Unit tests pass
- [x] Integration tests pass
- [x] Manual testing complete

### Performance
- Scans 10 endpoints in 2.5s
- Memory usage: <100MB

### Security
- No credentials logged
- All inputs sanitized
- Rate limiting implemented


4. QA Phase

Test Plan

## Test Cases: Authentication Scanner

### TC001: Detect Missing Authentication
**Given:** Unprotected admin endpoint
**When:** Scanner executes
**Then:** Reports HIGH severity vulnerability

### TC002: Weak Password Policy
**Given:** Endpoint accepts "password123"
**When:** Policy validation runs
**Then:** Identifies weak policy

### TC003: Session Fixation
**Given:** Session ID doesn't rotate
**When:** Authentication scanner runs
**Then:** Detects session fixation risk

5. Code Review Standards

Reviewer Checklist

  • [ ] Code follows style guide (PEP 8)
  • [ ] Type hints present
  • [ ] Docstrings complete
  • [ ] Tests comprehensive (>80% coverage)
  • [ ] No security vulnerabilities
  • [ ] Performance acceptable
  • [ ] Documentation updated

Review Comments

# ✅ APPROVED with suggestions
# Great work! Consider these improvements:

# 1. Add timeout to prevent hanging
def scan(self, target: str, timeout: int = 30) -> ScanResult:
 pass

# 2. Use specific exception
except ValueError as e: # Instead of generic Exception
 logger.error(f"Invalid target: {e}")

6. Definition of Done

A feature is "done" when: - [ ] Code complete and reviewed - [ ] All tests pass (unit + integration) - [ ] Documentation updated - [ ] Performance benchmarked - [ ] Security reviewed - [ ] Deployed to staging - [ ] Product owner approved - [ ] Ready for production