Thank you for your interest in improving this security audit skill. Contributions from the community help make this tool more effective at catching real-world vulnerabilities.
-
Fork and clone the repository:
git clone https://github.com/Grenguar/node-aws-security-audit.git cd node-aws-security-audit -
There is no build step. The project consists of shell scripts and markdown files. You need:
- Bash 4+ (macOS users:
brew install bash) grep(GNU grep recommended)- A Node.js project to test against
- Bash 4+ (macOS users:
-
Familiarize yourself with the project structure:
SKILL.md-- the main skill definition consumed by AI coding agentsscripts/-- shell scripts that perform the actual checksreferences/-- vulnerability catalog and supporting data
- New vulnerability patterns -- grep patterns that detect insecure code in Node.js/AWS projects
- Framework-specific rules -- checks for Express, NestJS, Fastify, Koa, Bun, and other frameworks
- False positive fixes -- refining patterns to reduce noise
- Documentation improvements -- clarifying instructions, adding examples, fixing typos
- Infrastructure checks -- new rules for AWS Lambda, Docker, Terraform, CloudFormation, or Serverless configs
-
Identify the vulnerability. Reference a CVE, OWASP category, or known insecure pattern. Document why it is dangerous.
-
Add the grep pattern to the vulnerability catalog in
references/. Include:- The pattern itself
- A description of what it catches
- The severity level
- A reference link (CVE, OWASP, or advisory URL)
-
If the vulnerability is tied to a built-in Node.js API, add a corresponding check to
scripts/node-version-check.sh. -
Test against a sample project. Run the audit against at least one real Node.js project that contains the vulnerable pattern. Confirm the pattern triggers correctly and does not produce false positives on safe code.
-
Submit a pull request following the PR expectations below.
If the tool flags code that is not actually vulnerable, please open an issue using the False Positive issue template:
Include the code snippet that was flagged, the pattern that matched, and an explanation of why the code is safe.
- All bash scripts must use
set -uo pipefailat the top. - Grep patterns belong in the vulnerability catalog markdown files under
references/, not hardcoded in scripts where avoidable. - Keep
SKILL.mdunder 200 lines. It is the primary interface for AI agents and must remain focused. - Use consistent formatting in markdown: ATX-style headers, fenced code blocks with language tags, and one sentence per line where practical.
Every PR should include:
- A description of what the pattern catches. Name the vulnerability class, affected API or framework, and severity.
- A vulnerable code example. Show a minimal snippet that the new pattern detects.
- Evidence of testing. Confirm you ran the check against at least one real project. Mention the project name or describe the test setup.
- No unrelated changes. Keep PRs focused on a single vulnerability pattern or fix.
Looking for a place to start? Check the issues labeled as good first issues:
Open a discussion or issue on the repository. For security-sensitive matters, see SECURITY.md.