Skip to content

am-i-hacked 2.0.1: scanner hardening and scanning-alert fixes - #3

Merged
IsaacBell merged 5 commits into
mainfrom
security/scanning-alerts
Oct 2, 2026
Merged

IsaacBell merged 5 commits into
mainfrom
security/scanning-alerts

Conversation

@IsaacBell

@IsaacBell IsaacBell commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Summary

Release 2.0.1 of am-i-hacked: scanner hardening plus fixes for the open code-scanning alerts and Dependabot PR #1.

Scanner

  • git ls-files now runs with core.fsmonitor disabled, so a scanned repo's .git/config cannot run code.
  • Payloads in dot-directories, in folders named by .ignore/.rgignore, and in tracked files that .gitignore matches are now scanned.
  • Extensionless scripts inside folders with a dot in the name are no longer skipped.
  • Committed build output is scanned. Recognized bundles (ncc, webpack, esbuild markers) get only high-signal checks.
  • Official Yarn releases are verified by sha256 against bin/yarn-releases.tsv (refreshed by scripts/update-yarn-releases.sh).
  • An embedded wasm data-URI line is exempt from the long-line check.

Code scanning and dependencies

Docs: README privacy note, CHANGELOG 2.0.1, version bump.

Test plan

  • bats test in apps/am-i-hacked: 318 tests pass, pending ones skipped.
  • bash -n and shellcheck on the new script.
  • Local Semgrep with the CI config: no findings on this branch.
  • CI green.

Scanner:
- Run git ls-files with core.fsmonitor disabled, so a scanned repo's
  .git/config cannot execute code.
- Scan payloads in dot-directories, folders named by .ignore/.rgignore,
  and tracked files that .gitignore matches.
- Scan extensionless scripts inside folders with a dot in their name.
- Scan committed build output. Recognized bundles (ncc, webpack, esbuild)
  get only high-signal checks.
- Verify official Yarn releases by sha256 against bin/yarn-releases.tsv,
  refreshed by scripts/update-yarn-releases.sh.
- Exempt an embedded wasm data-URI line from the long-line check.

CI and release:
- Fix the unquoted expansion in scripts/release.sh (Semgrep).
- Mark the pull_request_target checkout in gate.yml as reviewed.
- Pin upload-sarif to the v4.38.2 release and the semgrep image to
  1.178.0 by digest.

Docs: README privacy note, CHANGELOG 2.0.1, version bump.
Fixes the Lint, format & tests check.
@IsaacBell

Copy link
Copy Markdown
Owner Author

@codeant review

The workflow existed in the private repo but was never listed in
scripts/public-paths.txt, so the public export left it out. Add it to the
manifest. It still runs only when the CODEANT_ENABLED repository variable
is true and the CODEANT_API_TOKEN secret is set.
Restore the Semgrep section, the mise gate and semgrep-strict tasks and the
CodeAnt scan mention that the 2.0.0 README rewrite dropped. Add ROADMAP.md
with the release scheme and the 2.1.0 candidates.
@IsaacBell
IsaacBell merged commit bf2a9b8 into main Oct 2, 2026
10 checks passed

This branch was successfully deployed

1 active deployment
github-pages — bf2a9b80 Deployed Oct 2, 2026 by IsaacBell via deploy #2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant