Skip to content

ci: github workflow linter and security validator#393

Open
Shurtu-gal wants to merge 30 commits intoasyncapi:masterfrom
Shurtu-gal:zizmor
Open

ci: github workflow linter and security validator#393
Shurtu-gal wants to merge 30 commits intoasyncapi:masterfrom
Shurtu-gal:zizmor

Conversation

@Shurtu-gal
Copy link
Copy Markdown
Collaborator

@Shurtu-gal Shurtu-gal commented Mar 23, 2026

Progress Tracker

Validate workflow files

The flow would be ->

  1. yamlint to validate the syntax of the yaml files.
  2. Check against schema using ajv to make sure the workflow files are following the correct structure and not missing any required fields.
  3. Use action-lint to check for any potential security issues or best practices in the workflow files. It also checks the params for popular actions.
  4. Use zizmor to check for any potential security issues in the workflow files.

Github workflows

Scripts

  • Mailchimp scripts - Used AI for this as don't have much expertise in XSS security.
    • htmlContent.js
    • index.js
    • package.json
    • package-lock.json

Actions

Add actions-permission monitoring to the issues.

Still need to verify

Related issue(s)
Fixes #388

Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal Shurtu-gal self-assigned this Mar 23, 2026
@asyncapi-bot asyncapi-bot added the bounty AsyncAPI Bounty label Mar 24, 2026
@aeworxet
Copy link
Copy Markdown
Contributor

@asyncapi/bounty_team

@aeworxet aeworxet moved this to In Progress in Bounty Program Mar 24, 2026
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

Nearly everything is done. Only thing left is to integrate zizmor with validate workflow.

Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

Everything in zizmor passes now ->

zizmor --gh-token=$GH_TOKEN  --persona=auditor .github/workflows/                          
INFO audit: zizmor: 🌈 completed .github/workflows/add-good-first-issue-labels.yml
INFO audit: zizmor: 🌈 completed .github/workflows/automerge-for-humans-add-ready-to-merge-or-do-not-merge-label.yml
INFO audit: zizmor: 🌈 completed .github/workflows/automerge-for-humans-merging.yml
INFO audit: zizmor: 🌈 completed .github/workflows/automerge-for-humans-remove-ready-to-merge-label-on-edit.yml
INFO audit: zizmor: 🌈 completed .github/workflows/automerge-orphans.yml
INFO audit: zizmor: 🌈 completed .github/workflows/automerge.yml
INFO audit: zizmor: 🌈 completed .github/workflows/autoupdate.yml
INFO audit: zizmor: 🌈 completed .github/workflows/bounty-program-commands.yml
INFO audit: zizmor: 🌈 completed .github/workflows/bump.yml
INFO audit: zizmor: 🌈 completed .github/workflows/global-replicator.yml
INFO audit: zizmor: 🌈 completed .github/workflows/help-command.yml
INFO audit: zizmor: 🌈 completed .github/workflows/if-docker-pr-testing.yml
INFO audit: zizmor: 🌈 completed .github/workflows/if-go-pr-testing.yml
INFO audit: zizmor: 🌈 completed .github/workflows/if-nodejs-pr-testing.yml
INFO audit: zizmor: 🌈 completed .github/workflows/if-nodejs-release.yml
INFO audit: zizmor: 🌈 completed .github/workflows/if-nodejs-version-bump.yml
INFO audit: zizmor: 🌈 completed .github/workflows/issues-prs-notifications.yml
INFO audit: zizmor: 🌈 completed .github/workflows/lint-pr-title.yml
INFO audit: zizmor: 🌈 completed .github/workflows/notify-tsc-members-mention.yml
INFO audit: zizmor: 🌈 completed .github/workflows/please-take-a-look-command.yml
INFO audit: zizmor: 🌈 completed .github/workflows/release-announcements.yml
INFO audit: zizmor: 🌈 completed .github/workflows/stale-issues-prs.yml
INFO audit: zizmor: 🌈 completed .github/workflows/update-docs-on-docs-commits.yml
INFO audit: zizmor: 🌈 completed .github/workflows/update-maintainers-trigger.yaml
INFO audit: zizmor: 🌈 completed .github/workflows/update-pr.yml
INFO audit: zizmor: 🌈 completed .github/workflows/welcome-first-time-contrib.yml
No findings to report. Good job! (7 ignored)

Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

Actionlint problems fixed. Although $GITHUB_OUTPUT is safe inherently, doesn't hurt to be cautious.

Ref:

Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal Shurtu-gal marked this pull request as ready for review April 9, 2026 20:39
@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Comment thread .github/workflows/validate-workflow-schema.yml Fixed
Comment thread .github/workflows/validate-workflow-schema.yml Fixed
Comment thread .github/workflows/validate-workflow-schema.yml Fixed
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

@derberg this is ready for review now.

Some questions:

  1. Do we need to limit issues and prs notifications as it can be misued for spam?
  2. Removed global-remover workflow. Lemme know if that's fine.
  3. Should we propagate workflow validation to other repos as well.

cc: @Florence-Njeri as it is security related.

Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

Signed-off-by: Shurtu-gal <ashishpadhy1729@gmail.com>
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

Comment thread .github/workflows/validate-workflow-schema.yml Dismissed
Comment thread .github/workflows/validate-workflow-schema.yml Dismissed
Comment thread .github/workflows/validate-workflow-schema.yml Dismissed
@Shurtu-gal
Copy link
Copy Markdown
Collaborator Author

Future todo:
https://github.com/8398a7/action-slack/ is archived but needs to be done separately

Copy link
Copy Markdown
Collaborator

@Florence-Njeri Florence-Njeri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the changes look good to me, just one question @Shurtu-gal

Comment thread .github/workflows/help-command.yml Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autoupdate bounty AsyncAPI Bounty

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

[FEATURE] Github workflow linter and security validator

5 participants