Skip to content

feat(audit): add application security audit — H1, H7, M8 (2026-06-02)#9

Merged
louis14448 merged 3 commits into
mainfrom
feat/audit-security-app-bugs
Jun 3, 2026
Merged

feat(audit): add application security audit — H1, H7, M8 (2026-06-02)#9
louis14448 merged 3 commits into
mainfrom
feat/audit-security-app-bugs

Conversation

@louis14448

Copy link
Copy Markdown
Contributor

Manual source-code audit of examples/gno.land/r/ and p/ identified open bugs with no existing issues or PRs at the time of discovery.

3 new e2e audit scripts (KNOWN_VULNERABLE until fixes land on test-13):

  • audit_blog_revocation.sh — H1: BPTree.Set(false) vs Remove, revoked moderator retains full rights indefinitely
  • audit_profile_realm_spoof.sh — H7: missing IsUserCall() guard, any realm can write a profile under its own realm address
  • audit_profile_arbitrary_field.sh — M8: SetStringField accepts arbitrary field names not in the stringFields allowlist

Also adds:

  • AUDIT_SECURITY_2026-06-02.md: full audit report (7 HIGH, 11 MEDIUM) translated to English
  • README.md: complete rewrite with table of contents, dated script inventory, and documentation of the audit methodology

Manual source-code audit of examples/gno.land/r/ and p/ identified open
bugs with no existing issues or PRs at the time of discovery.

3 new e2e audit scripts (KNOWN_VULNERABLE until fixes land on test-13):
- audit_blog_revocation.sh  — H1: BPTree.Set(false) vs Remove, revoked
  moderator retains full rights indefinitely
- audit_profile_realm_spoof.sh — H7: missing IsUserCall() guard, any realm
  can write a profile under its own realm address
- audit_profile_arbitrary_field.sh — M8: SetStringField accepts arbitrary
  field names not in the stringFields allowlist

Also adds:
- AUDIT_SECURITY_2026-06-02.md: full audit report (7 HIGH, 11 MEDIUM) translated to English
- README.md: complete rewrite with table of contents, dated script inventory,
  and documentation of the audit methodology
…ted findings

Audit scripts for H1, H7, M8 now exit 1 when the vulnerability is detected,
so they appear as [NEW] in the summary instead of [PASS].

run_tests.sh gains a NEW_NOTE argument and [NEW] counter to distinguish
unreported vulnerabilities from tracked ones ([KNOWN] with issue refs).
Reflect the [NEW] status added for unreported vulnerabilities and fix
the incorrect exit-0 description for [KNOWN_VULNERABLE] in the table.
@louis14448
louis14448 merged commit 8ce9637 into main Jun 3, 2026
3 of 6 checks passed
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