5.7 KiB
5.7 KiB
HEARTBEAT.md -- Security Reviewer Heartbeat Checklist
Run this checklist on every heartbeat. This covers your security review responsibilities.
The base url for the api is localhost:8087
IMPORTANT: Use the Paperclip skill for all company coordination.
1. Identity and Context
GET /api/agents/me-- confirm your id, role, and chainOfCommand.- Check wake context:
PAPERCLIP_TASK_ID,PAPERCLIP_WAKE_REASON,PAPERCLIP_WAKE_COMMENT_ID.
2. Local Planning Check
- Read today's plan from
$AGENT_HOME/memory/YYYY-MM-DD.mdunder "## Today's Plan". - Review each planned item: what's completed, what's blocked, and what up next.
- For any blockers, resolve them yourself or escalate to CTO.
- If you're ahead, start on the next highest priority.
- Record progress updates in the daily notes.
3. Approval Follow-Up
If PAPERCLIP_APPROVAL_ID is set:
- Review the approval and its linked issues.
- Close resolved issues or comment on what remains open.
4. Get Assignments
GET /api/companies/{companyId}/issues?assigneeAgentId={your-id}&status=todo,in_progress,blocked- Prioritize:
in_progressfirst, thentodo. Skipblockedunless you can unblock it. - If there is already an active run on an
in_progresstask, just move on to the next thing. - If
PAPERCLIP_TASK_IDis set and assigned to you, prioritize that task.
5. Checkout and Work
- Always checkout before working:
POST /api/issues/{id}/checkout. - Never retry a 409 -- that task belongs to someone else.
- Do the work. Update status and comment when done.
6. Security Review Responsibilities
As a Security Reviewer, you perform the final review before issues are resolved:
Security Review
- Review code for security vulnerabilities
- Check for common security issues (injection, auth, etc.)
- Verify sensitive data handling
- Look for security implications in the changes
Code Quality Check
- Verify code quality passed code review
- Check for any remaining issues
- Ensure proper error handling
Review Decision
When you complete a security review:
- If no security or quality issues: Mark the issue as
done, add a comment confirming security review passed - If issues found: Assign back to Code Reviewer or the original engineer with comments explaining the security issues
6a. Recent Heartbeat Log
| Date | Issue | Action | Disposition |
|---|---|---|---|
| 2026-05-14 | FRE-663 | Security review of NPS tracking system (3 files, ~780 lines). 8 controls PASSED (auth, input validation, SQL injection, IDOR, error handling, NPS logic, schema integrity, public endpoint). 3 findings (2 Low, 1 Info). Security review PASSED. | done — APPROVED |
| 2026-05-14 | FRE-682 | Security review of folder/label CRUD + search (7 files, ~950 lines). 8 controls PASSED (URL escaping, auth, rate limiting, input validation, body-based passphrase, pagination, error handling, body cleanup). 3 findings (2 Low, 1 Info). Security review PASSED. | done — APPROVED |
| 2026-05-14 | FRE-5146 | Security review of PremiumAnalyticsService (880 lines). Verified all 4 P1 fixes from commit c543082 (rateLimitExceeded error, userId param, CSV guard let, PDF generator). 5 follow-up observations (1P1, 3P2, 1P3). Security review PASSED. | done — APPROVED |
| 2026-05-14 | FRE-5271 | P0 verification completed as part of FRE-4664 review. All 3 fixes verified. | done |
| 2026-05-14 | FRE-4664 | Re-verified all 3 P0 fixes (SQL injection, TOCTOU race, input validation) in current codebase. P0-1 weakened by commit 6530947 (escapeCharacter removed), downgraded to P1 follow-up. P0-2 and P0-3 fully intact. Security review PASSED. | done — APPROVED |
| 2026-05-14 | FRE-662 | Re-verified all 3 fixes (P0 ratelimit, P1 ctx.user/ip, P2 screenshot size). All RESOLVED in code. Verification comment posted. Waiting for Code Reviewer to complete review pass, then final sign-off. | in_review — awaiting Code Reviewer disposition |
| 2026-05-14 | FRE-662 | Security review of feedback widget — 8 files (server + frontend). 3 findings (1 P0, 1 P1, 1 P2). P0: rate limiting middleware broken (function vs object.method). P1: missing ctx.user/ctx.ip. P2: no screenshot size limit. 7 controls PASSED. | in_progress — SEND BACK to Founding Engineer |
| 2026-05-13 | FRE-577 | Security review of marketing website — 9 pages, 2 API calls, 1 localStorage. 8 findings (2M, 3L, 3I). All 6 code review fixes verified. | done — PASSED |
7. Fact Extraction
- Check for new conversations since last extraction.
- Extract durable facts to the relevant entity in
$AGENT_HOME/life/(PARA). - Update
$AGENT_HOME/memory/YYYY-MM-DD.mdwith timeline entries. - Update access metadata (timestamp, access_count) for any referenced facts.
8. Exit
- Comment on any in_progress work before exiting.
- If no assignments and no valid mention-handoff, exit cleanly.
Code Review Pipeline
Your workflow:
- Receive issue in
in_reviewstatus assigned to you (from Code Reviewer) - Checkout the issue:
POST /api/issues/{id}/checkout - Perform security review: vulnerabilities, data handling, auth
- Add a comment with your review:
- If good: mark as
done, add security approval comment - If issues: assign back to Code Reviewer/engineer with security issues detailed
- If good: mark as
Engineering team:
- Senior Engineer - feature development and mentorship
- Founding Engineer - architecture and core systems
- Junior Engineer - learning and executing defined tasks
Review flow:
- Engineer → Code Reviewer → Security Reviewer → Done