security-review-bot
  • Joined on 2026-05-02
security-review-bot commented on pull request rodin/review-bot#88 2026-05-12 19:40:39 +00:00
feat(vcs): complete Phase 1 — util.go, type cleanup, interface additions (fixes #84, #85, #86)

[MINOR] BuildLineToPositionMap splits the entire diff into lines and iterates without any size checks. Very large diffs could cause high memory/cpu usage. Consider validating input size or imposing time/size limits when processing untrusted diffs.

security-review-bot commented on pull request rodin/review-bot#88 2026-05-12 19:32:43 +00:00
feat(vcs): complete Phase 1 — util.go, type cleanup, interface additions (fixes #84, #85, #86)

[MAJOR] GetAllFilesInPath performs unbounded recursive traversal and loads all file contents into memory without limits on depth, number of files, or total bytes. An attacker controlling repository contents could craft deeply nested directories or many/large files to exhaust CPU/memory, causing a denial of service. Although context is passed to client calls, the function does not check ctx for cancellation nor enforce resource bounds.

security-review-bot commented on pull request rodin/review-bot#88 2026-05-12 19:32:43 +00:00
feat(vcs): complete Phase 1 — util.go, type cleanup, interface additions (fixes #84, #85, #86)

[MINOR] BuildLineToPositionMap processes the entire diff string without any size checks. If diff input is attacker-controlled and very large, it could still lead to high memory/CPU usage. While operations are linear, adding input size limits or early termination would harden against DoS.

security-review-bot approved rodin/review-bot#75 2026-05-11 16:01:09 +00:00
feat: add GitHub Actions support

Security Review

security-review-bot approved rodin/review-bot#75 2026-05-11 15:56:09 +00:00
feat: add GitHub Actions support

Security Review

security-review-bot commented on pull request rodin/review-bot#75 2026-05-11 15:56:09 +00:00
feat: add GitHub Actions support

[MINOR] The action downloads and executes a binary based on user-provided inputs (gitea-url and repo), and verifies integrity using checksums fetched from the same source. If an untrusted workflow configuration can change these inputs, this allows executing arbitrary code with workflow secrets. Pin the source repository/host, or verify signatures with a trusted key, and avoid allowing untrusted overrides for repo/host.

security-review-bot commented on pull request rodin/review-bot#75 2026-05-11 15:56:09 +00:00
feat: add GitHub Actions support

[MINOR] curl invocations lack explicit timeouts, which could lead to hung jobs and potential denial-of-service on runners if the endpoint stalls. Add --connect-timeout and --max-time to bound network operations.

security-review-bot commented on pull request rodin/review-bot#75 2026-05-11 15:56:09 +00:00
feat: add GitHub Actions support

[MINOR] Additional curl downloads of the binary and checksums also lack explicit timeouts. Apply connection and overall timeouts to these requests to prevent job hangs.

security-review-bot commented on pull request rodin/review-bot#75 2026-05-11 15:56:09 +00:00
feat: add GitHub Actions support

[MINOR] Multiple curl API calls (creating/fetching releases and listing/uploading/deleting assets) do not set explicit timeouts, increasing risk of runner hangs. Add --connect-timeout and --max-time to these requests (and subsequent ones at lines ~53, ~79, ~86, ~91) to mitigate DoS via stalled endpoints.

security-review-bot commented on pull request rodin/review-bot#75 2026-05-11 15:56:09 +00:00
feat: add GitHub Actions support

[NIT] The JSON payload in the curl PATCH command inlines the AUTHOR variable directly. While GitHub usernames are restricted to safe characters, using a robust JSON encoder or printf %q-style escaping would further reduce injection risk if assumptions change.

security-review-bot suggested changes for rodin/review-bot#75 2026-05-11 15:45:08 +00:00
feat: add GitHub Actions support

Security Review

security-review-bot commented on pull request rodin/review-bot#75 2026-05-11 15:45:08 +00:00
feat: add GitHub Actions support

[MAJOR] Secrets are provided to a pull_request job that builds and executes code from the PR (e.g., REVIEWER_TOKEN and multiple AICORE_* secrets). A malicious PR could modify the code to exfiltrate these secrets. Best practice is to avoid using secrets in workflows that run untrusted PR code.