You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Results are uploaded as SARIF and visible in **GitHub → Security → Code Scanning**:
61
-
- Inline annotations on the affected lines
62
-
- Persistent alert history
63
-
- Severity filtering (high / medium / low / informational)
56
+
Uses **`fail-on: none`** so Slither findings do not fail the step; reviewers use **GitHub Advanced Security** comments and the Security tab. The **job** still fails if compilation/analysis breaks (e.g. bad Solidity, `forge install` failure).
64
57
65
-
### Job 2 — `slither-hacks` (never blocks)
58
+
SARIF upload follows [crytic/slither-action](https://github.com/crytic/slither-action): use the action’s **`outputs.sarif`** path with `github/codeql-action/upload-sarif`, and **do not** combine `continue-on-error` on the Slither step with an unconditional upload — that can yield a failed **Code scanning results / Slither** check (e.g. missing or invalid upload).
66
59
67
-
Scans only `src/hacks/` with `continue-on-error: true` and `fail-on: none`.
Purpose: document that vulnerabilities **are** intentionally present. If someone accidentally fixes a vulnerability in `hacks/`, the finding disappears from the report — a useful signal that the educational example has been compromised.
Results are uploaded to a separate SARIF category (`slither-hacks`) so they don't pollute the clean code findings.
64
+
Scans roughly `src/hacks/` by filtering out the other `src/*` trees. Uses `continue-on-error: true` and `fail-on: none` so intentional vulnerable demos do not break CI.
65
+
66
+
The SARIF file is attached as a **workflow artifact** (`slither-hacks-sarif`) for inspection — it is **not** uploaded to Code Scanning (keeps hacks findings out of the main alert stream).
1. Open the **Slither — clean contracts** job log: confirm Slither finished and `slither-clean.sarif` exists.
71
+
2. Under **Settings → Code security and analysis → Code scanning**, ensure you do not have a **stale** third-party configuration pointing at a deleted workflow; use the [tool status](https://docs.github.com/en/code-security/code-scanning/managing-code-scanning-for-your-repository/about-the-tool-status-page) page if available.
72
+
3. For **fork PRs**, `security-events: write` may be restricted; uploads only run reliably for PRs from the same repository unless you adopt a [fork-safe pattern](https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible).
Copy file name to clipboardExpand all lines: PROGRESS.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ A hands-on Solidity training ground based on solidity-by-example.org.
9
9
-[x]**Naming / NatSpec cleanup (2026-04)**: After Slither-oriented renames, fixed shadowing bugs (`value = value`, `num = num`), aligned bodies with new parameter names, removed drift-prone `/// @param` lines under `src/` (excluding `src/hacks/`), added `scripts/strip_natspec_params.py`, and updated tests (`ERC20Permit`, `GasGolf`, `Immutable`). Full suite green via `forge test` in Docker.
0 commit comments