UNPKG

skills-ws

Version:

87 agent skills for AI coding assistants — marketing, growth, web3, dev, design & operations. Built for OpenClaw, Claude Code, Cursor, and Codex.

71 lines (56 loc) • 1.93 kB
## Contents - 6. Post-Pentest Workflow - Triage → Fix → Verify - Regression Testing ## 6. Post-Pentest Workflow ### Triage → Fix → Verify ``` 1. TRIAGE (Day 0) ├── Read the full report ├── Verify all Critical/High PoCs manually ├── Create tickets with severity labels ├── Assign owners and deadlines └── Notify stakeholders for Critical findings 2. FIX (Day 1-14, based on severity) ├── Critical: same day ├── High: within 48 hours ├── Medium: within 2 weeks └── Low: next sprint 3. VERIFY (After fix) ├── Re-run Shannon against the same workspace (resume: reuse -w and the same -u URL) │ └── npx @keygraph/shannon start -u <url> -r <repo> -w <same-name> ├── Completed agents are skipped (resumable) ├── Confirm the PoC no longer works └── Update ticket status 4. DOCUMENT ├── Archive the report ├── Update security runbook with new patterns ├── Add regression tests for each finding └── Schedule next pentest ``` ### Regression Testing For each finding, create a permanent test: ```javascript // tests/security/sql-injection.test.ts describe('SQL Injection regression', () => { it('should not be vulnerable to union-based injection in /api/users/search', async () => { const res = await request(app) .get("/api/users/search") .query({ q: "' UNION SELECT username,password,NULL FROM users--" }); // Should NOT return other users' data expect(res.body).not.toEqual( expect.arrayContaining([ expect.objectContaining({ username: 'admin' }) ]) ); }); it('should use parameterized queries', async () => { const res = await request(app) .get("/api/users/search") .query({ q: "test" }); expect(res.status).toBe(200); // Normal search should still work }); }); ``` ---