com.seewo.easinote5
The PKGBUILD downloads the official Seewo/CVTE vendor binary (static.cvte.com is the legitimate parent company's CDN), so the supply-chain concern is low. However, the package explicitly patches getBiosVendor.js and getMachineID.js to return fake/dummy values, and writes a hardcoded 'seewo' string to bypass BIOS vendor verification — the comment '绕过启动校验' (bypass startup verification) confirms this is intentional circumvention of the software's hardware-binding/activation checks. Bypassing license activation or hardware-binding DRM of proprietary software constitutes piracy and does not belong in the AUR, regardless of whether malware is present. Severity is rated high due to the piracy flag.
Triggered rules
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:15
"https://static.cvte.com/file/myou/uploads/android_rom/8983aa56f595c4eb56f2828281e830d17a554b96/EasiNote_5.2.1.7.10161.39c-a136b.deb"
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed it and judged it HIGH (confidence 82%): The PKGBUILD downloads the official Seewo/CVTE vendor binary (static.cvte.com is the legitimate parent company's CDN), so the supply-chain concern is low. However, the package explicitly patches getBiosVendor.js and getMachineID.js to return fake/dummy values, and writes a hardcoded 'seewo' string to bypass BIOS vendor verification — the comment '绕过启动校验' (bypass startup verification) confirms this is intentional circumvention of the software's hardware-binding/activation checks. Bypassing license activation or hardware-binding DRM of proprietary software constitutes piracy and does not belong in the AUR, regardless of whether malware is present. Severity is rated high due to the piracy flag.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Kirikaze Chiyuki <me@chyk.ink>
pkgname=com.seewo.easinote5
pkgver=5.2.1.7.10161
pkgrel=1
pkgdesc="Seewo EasiNote5 希沃白板 5,为互动教学而生。"
arch=('x86_64')
url="https://easinote.seewo.com/"
# url="https://gitlab.gz.cvte.cn/front-end/enow-cloud"
license=('custom')
depends=('desktop-file-utils' 'gtk3' 'libnotify' 'libxss' 'libxtst' 'openssl' 'xdg-utils' 'ffmpeg' 'curl' 'jsoncpp' 'libidn2' 'lsof')
makedepends=('patch' 'asar')
options=('!strip' '!emptydirs')
install=${pkgname}.install
source=(
"https://static.cvte.com/file/myou/uploads/android_rom/8983aa56f595c4eb56f2828281e830d17a554b96/EasiNote_5.2.1.7.10161.39c-a136b.deb"
"0001-patch-startup-script.patch"
"0002-fake-bios-vendor.patch"
"0003-dummy-machine-id.patch"
)
md5sums=(
'a136b215ac4ab92b486b21ed1b9813c8' # EasiNote5.deb
'4b7afbc7035fc724e9dc76f517415b2b' # 0001-patch-startup-script.patch
'2a2dedcef4690c6bda0c751e71509476' # 0002-fake-bios-vendor.patch
'1b61732e47c34396f8b4cd8ce55d416a' # 0003-dummy-machine-id.patch
)
package() {
tar xf "${srcdir}/data.tar.xz" -C "${pkgdir}"
APP_ROOT="${pkgdir}/opt/apps/${pkgname}/files"
LIBS_DIR="${APP_ROOT}/resources/public/lib"
# 剥离动态链接库
rm "${LIBS_DIR}/libcrypto"*
rm "${LIBS_DIR}/libcurl"*
rm "${LIBS_DIR}/libidn2"*
rm "${LIBS_DIR}/libjsoncpp"*
rm "${LIBS_DIR}/libssl"*
# 启动器和图标
mkdir -p "${pkgdir}/usr/share/"
mv "${pkgdir}/opt/apps/${pkgname}/entries/icons" "${pkgdir}/usr/share/icons"
mv "${pkgdir}/opt/apps/${pkgname}/entries/applications" "${pkgdir}/usr/share/applications"
sed -i "s#Icon\=/opt/apps/com.seewo.easinote5/entries/icons/hicolor/256x256/apps/EasiNote5.png#Icon\=EasiNote5#" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
# 编辑启动脚本
STARTUP_SCRIPT="${APP_ROOT}/${pkgname}.sh"
patch "$STARTUP_SCRIPT" <"${srcdir}/0001-patch-startup-script.patch"
# 删除 alfred
rm -rf "${APP_ROOT}/alfred"
# 权限
chmod +x "${APP_ROOT}/mirror/ENMirror"
# 绕过启动校验
echo 'seewo' >"${APP_ROOT}/resources/public/bios_version"
asar e "${APP_ROOT}/resources/app.asar" "${APP_ROOT}/resources/app"
rm "${APP_ROOT}/resources/app.asar"
patch "${APP_ROOT}/resources/app/dist/utils/getBiosVendor.js" < "${srcdir}/0002-fake-bios-vendor.patch"
patch "${APP_ROOT}/resources/app/dist/utils/getMachineID.js" < "${srcdir}/0003-dummy-machine-id.patch"
rm -rf "${APP_ROOT}/resources/app/code"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | High | 2 |
| 2026-09-16 00:03:17 | High | 2 |
| 2026-09-15 00:25:31 | High | 2 |
| 2026-09-14 00:27:57 | High | 2 |
| 2026-09-13 00:19:54 | High | 2 |
| 2026-09-12 00:25:17 | High | 2 |
| 2026-09-11 00:19:22 | High | 2 |
| 2026-09-10 00:22:44 | High | 2 |
| 2026-09-09 00:04:09 | High | 2 |
| 2026-09-08 00:18:08 | High | 2 |
| 2026-09-07 00:30:15 | High | 2 |
| 2026-09-06 00:17:06 | High | 2 |
| 2026-09-05 00:16:27 | High | 2 |
| 2026-09-04 00:03:13 | High | 2 |
| 2026-09-03 00:15:47 | High | 2 |
| 2026-09-02 00:02:31 | High | 2 |
| 2026-09-01 00:11:19 | High | 2 |
| 2026-08-31 00:19:57 | High | 2 |
| 2026-08-30 00:04:14 | High | 2 |
| 2026-08-29 00:29:17 | High | 2 |