TaskBounty Check

by eliottreich

Not rated
GitHub

About

Local-only MCP, CLI, and GitHub Action that checks GitHub Actions and CI maintenance risks without modifying code or making outbound requests by default.

Details

Author
eliottreich
Categories
Developer Tools, Other, Infrastructure

Setup

Install TaskBounty Check in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/eliottreich/taskbounty-check

Follow the installation instructions in the repository README, then restart your MCP client.

A local check for GitHub Actions and CI maintenance hygiene(third-party action pinning, workflow token permissions, and update automation), built for apps shipped with Lovable, Bolt, Replit, Cursor, or v0.

Local by default. No uploads. No telemetry.It reads only your workflow files, on your machine. The default code path makes no outbound network requests, writes its report locally, and sends nothing anywhere. There is no analytics or phone-home of any kind. Only the opt-in--gh-orgmode uses the network (through your ownghsession).

Works with Cursor, Claude Code, and Codex(local MCP server, below).

1. GitHub Action— add a maintenance check to CI that writes a summary to the run (no PR comments, no source upload):

permissions: contents: read steps: - uses: actions/checkout@v4 - run: npx taskbounty-check@0.1.6 . --github-summary --no-network

Want a human to interpret or fix what the Action surfaces?Request a free launch-safety review. TaskBounty gets no access to your repo, source, or workflows unless you submit that form.

2. Agent / MCP— a local stdio server for Cursor, Claude Code, and Codex:

3. One-off CLI— scan the current repo locally and write a report:

Pin a version (@0.1.6) in committed config and CI for reproducibility.@latestis convenient for a quick one-off, but a pinned version is the reproducible choice.

The Action writes a counts-only maintenance summary to the workflow run (categories and next steps, no filenames, line numbers, or repo source). Below is that exact summary, rendered from this repo's own CI output:

See it produced live by theself-checkjob inthis repository's Actions runs.

Prefer a guided walkthrough? Follow thefive-minute real-repository quickstart.

- Methodology— exactly what it reviews and how findings are labeled.
-
Privacy and scope— local-by-default data handling.
-
Limitations— what it does NOT check (below).

Supported checks (and honest limitations)

Checks (GitHub Actions + CI maintenance hygiene):

- Third-party actions pinned to a movable tag/branch instead of a commit SHA
- Broad (write-all) workflow token permissions
- Missing explicitpermissions:block
- Update automation (Dependabot/Renovate) presence
- Context-dependent workflow patterns flagged for private review (e.g.pull_request_target, script injection)

Does NOT check(these need a manual review): exposed secrets, auth/authorization, payments, webhooks, runtime behavior. It is a maintenance/hygiene check,nota full security audit or a penetration test.

- Reads only your GitHub Actions workflow files and update-automation config, scans them in-process with a deterministic ruleset (the same rules as the public checker), and writes a local HTML + JSON report. It doesnotexecute workflows, install dependencies, or run any repository code.

--gh-orguses your existingghCLI session to fetch each repo's workflow filesto this machine(read-only). Your GitHub token is never read by this tool and never sent to TaskBounty.

Run--explain-datato print this at any time.

- Reads (allowlist — nothing else is opened):<repo>/.github/workflows/.yml|.yamland update-automation config (dependabot.yml/renovate.json). Never source files,.env, secrets, SSH keys, credential stores, or anything outside the selected repository roots. Symlinks that escape a root are skipped, never followed.
- Writes (local only):<out>.json(full detail) and<out>.html.
- Transmits:nothing by default.--shareuploads nothing— it writes a
sanitized, counts-only*file (scan id, label, candidate counts by category, private-reviewcount, scanner version, timestamps; repo names only with--include-repo-names) for you to submitmanually. Network stays off under--share. Only--gh-orgintentionally uses the network.

--share·--gh-org <org>·--manifest <file>·--org-label <label>·--include-repo-names·--dry-run·--explain-data·--delete-local-report·--no-network(default everywhere except--gh-org) ·--out <basename>·--version·--help

Want help interpreting or fixing these results?

Request a free 20-minute launch-safety review:https://www.task-bounty.com/ai-app-security-check/review?utm_source=npm&utm_medium=npm_readme&utm_campaign=workflow_security

TaskBounty receives nothing unless you submit that form.The scan runs locally and the full report stays on your machine; the review form gives us no access to your repositories, source, workflows, or secrets.

Emit SARIF 2.1.0 and surface findings in your repo's Security → Code scanning tab:

npx taskbounty-check@latest . --format sarif --output taskbounty.sarif

The SARIF carries deterministic rule ids (taskbounty/<rule>), severity levels, and file/line references —no source contents, secrets, or environment values, and no network access. Confirmed findings are emitted askind: fail; lower-confidence items askind: review.

Help interpreting SARIF results:https://www.task-bounty.com/ai-app-security-check/review?utm_source=github&utm_medium=sarif_docs&utm_campaign=workflow_security

Upload it with the official action (full example inexamples/code-scanning.yml):

permissions: contents: read security-events: write steps: - uses: actions/checkout@v4 - run: npx taskbounty-check@0.1.6 . --format sarif --output taskbounty.sarif - uses: github/codeql-action/upload-sarif@v3 with: sarif_file: taskbounty.sarif

Run alocalstdio MCP server so Codex, Claude Code, or Cursor can scan and reason about findings in your editor. It runs locally, makeszero outbound network requests, uploads no source, andnever modifies filesgenerate_fix_planreturns a plan as text for you to apply yourself.

Tools:scan_repo(local scan summary),explain_finding(plain-language explanation),generate_fix_plan(text fix plan).

Want a human to review the plan?https://www.task-bounty.com/ai-app-security-check/review?utm_source=mcp&utm_medium=mcp_docs&utm_campaign=workflow_security

{ "mcpServers": { "taskbounty-check": { "command": "npx", "args": ["-y", "taskbounty-check@latest", "mcp"] } } }
claude mcp add taskbounty-check -- npx -y taskbounty-check@latest mcp
[mcp_servers.taskbounty-check] command = "npx" args = ["-y", "taskbounty-check@latest", "mcp"]

Zero runtime dependencies. Published to npm with provenance (verify on the package's npm page). The default run makes no outbound requests and uploads nothing; see themethodologyfor the full data-handling and scope boundaries.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

An MCP Server for the GitHub Actions API, enabling AI assistants to manage and operate GitHub Actions workflows.

Interact with GitHub APIs for automation and repository management.

Integrates with GitHub APIs for advanced automation and interaction, supporting both remote and local deployments.

Integrate with GitHub APIs for automation and interaction.

Seamlessly integrate with GitHub APIs for development automation and interaction.

Seamlessly integrate with GitHub APIs for development automation and interaction.

All Azure MCP tools in a single server. The Azure MCP Server implements the MCP specification to create a seamless connection between AI agents and Azure services. Azure MCP Server can be used alone or with the GitHub Copilot for Azure extension in VS Code.

Flag features, manage company data, and control feature access using Bucket.

Enable AI Agents to fix build failures from CircleCI.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.