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
fix: harden supply-chain security via obfuscation scanner + advisory policy
- Add CI workflow (supply-chain-scan.yml) scanning PR diffs for obfuscation/supply-chain attack patterns
- Add .github/scripts/scan-obfuscation.sh: detection of packed code, hidden eval, global hijack, base64/hex payloads, build-config targeting
- Update SECURITY.md: actionable advisory link, email fallback, supply-chain as in-scope
- Non-blocking: scan runs on all PRs, auto-comments when suspicious patterns found but does not block merge
- Mitigates real-world supply-chain attacks seen in this repo (PR #198, #206, #261)
body: `⚠️ **Supply-chain security scan detected suspicious patterns** in this PR.
52
+
53
+
The obfuscation scanner found code patterns commonly associated with supply-chain attacks (packed/obfuscated JavaScript, suspicious global assignments, hidden eval calls).
54
+
55
+
**Action required:** A maintainer must manually review the diff before merging.
56
+
See the [scan-obfuscation.sh](https://github.com/${context.repo.owner}/${context.repo.repo}/blob/main/.github/scripts/scan-obfuscation.sh) script for details.
57
+
58
+
If this is a false positive, a maintainer can override this check.
59
+
For legitimate security concerns, please report via [Security Advisories](https://github.com/${context.repo.owner}/${context.repo.repo}/security/advisories/new).`
Copy file name to clipboardExpand all lines: SECURITY.md
+14-6Lines changed: 14 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,16 @@ Thanks for taking the time to disclose responsibly.
4
4
5
5
## How to report
6
6
7
-
Please use GitHub's [private vulnerability reporting](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)
8
-
on this repository. That keeps the report visible to the maintainer without
9
-
exposing the details publicly.
7
+
👉 **Please use the [Security Advisories](https://github.com/Egonex-AI/Understand-Anything/security/advisories/new) page** to privately report a vulnerability.
8
+
This sends the report directly to the maintainers and keeps details confidential
9
+
until a fix ships.
10
10
11
-
If private reporting is unavailable for any reason, open a regular issue
12
-
titled `security: brief description`**without** any exploit details, and
13
-
the maintainer will reply with a private channel.
11
+
If the Security Advisories page is unavailable for any reason, email
12
+
**security@egonex.ai** or open a regular issue titled `security: brief description`
13
+
**without** any exploit details, and the maintainer will reply with a private channel.
14
+
15
+
> ⚠️ **Do not** submit vulnerability details in a public issue, pull request, or
16
+
> discussion — that puts every user at risk before a fix can ship.
14
17
15
18
## What to include
16
19
@@ -42,10 +45,15 @@ Issues we care about:
42
45
- The dashboard's file-content endpoint serving files outside the allowlist.
43
46
- The `/understand` skill running shell commands derived from untrusted
44
47
paths or contents.
48
+
- Supply-chain attacks via pull requests (obfuscated payloads, dependency
49
+
hijacking, build-time code execution from PR-diff content).
50
+
- Malicious PRs that modify build-config files (e.g. `astro.config.mjs`,
51
+
`vite.config.ts`, `next.config.js`) with obfuscated or packed code.
45
52
46
53
Issues that are **out of scope**:
47
54
48
55
- Bugs that require a malicious local user with write access to the
49
56
analyzed project (they could just edit the source directly).
50
57
- Anything that requires the user to copy a malicious URL and paste it back
51
58
into the dashboard.
59
+
- Social-engineering-only attacks with no technical exploit.
0 commit comments