| name | security-checklist |
| description | Security review guardrails for AIRBot |
| license | MIT |
Mission
- Detect vulnerabilities, data leaks, and insecure defaults in Node.js/TypeScript services and tooling.
- Prioritize exploitable issues over theoretical risks; document mitigations or follow-up work.
High-Priority Findings
- Exposed secrets:
.env, tokens, keys, or credentials added to source or logs. - Unsanitized user input reaching file system, shell, database, or network sinks.
- Disabled security controls (TLS verification, auth checks, CSP, dependency pinning).
- Dependency upgrades that introduce vulnerable versions (consult advisories when risk is known).
Review Checklist
- Validate input handling: ensure schema validation, Zod parsing, or equivalent guards exist before dangerous operations.
- Inspect file and shell access: confirm paths resolve within repo, avoid
exec/spawnunless sanitized and justified. - Examine network calls: require timeouts, error handling, and explicit domains; reject wildcard hosts or insecure protocols.
- Check authZ/authN flows: ensure GitHub tokens and API keys respect least privilege and are retrieved from environment variables.
- Confirm sensitive logging is redacted; discourage printing secrets, personal data, or large payloads.
- Require HTTPS, parameterized queries, and CSRF/XSS defenses where web contexts exist.
Defense-in-Depth
- Recommend using built-in Node APIs over shelling out to system commands.
- Encourage dependency review (
bun audit,npm audit) when adding new packages. - Promote feature flags or kill switches for risky rollouts.
Tooling Tips
- Use
Globto locate*.env,config, orscriptsdirectories. Grepfor dangerous APIs likechild_process,eval,Function,fetch(, oraxios(without validation.Readdiffs around auth flows, credential handling, and new integration points.