factorio-headless-experimental
maintainer mickael9
· 13 votes
· scanned 2026-08-18 00:03:42.021799
LOW
View on AUR ↗
Why flagged
The package downloads the official Factorio headless server binary from the project's own domain (factorio.com), which is a legitimate source; the non-whitelisted host is the project's official download infrastructure, so the risk is low despite the static analyzer flag.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads the official Factorio headless server binary from the project's own domain (factorio.com), which is a legitimate source; the non-whitelisted host is the project's official download infrastructure, so the risk is low despite the static analyzer flag.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
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:26
factorio_headless_x64_${pkgver}.tar.xz::http://www.factorio.com/get-download/${pkgver}/headless/linux64
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: mickael9 <mickael9@gmail.com>
2
# Contributor: Sebastien Duthil <duthils@free.fr>
3
# Inspiration for service and config files: https://github.com/Bisa/factorio-init
4
5
pkgname=factorio-headless-experimental
6
pkgver=2.1.14
7
pkgrel=1
8
pkgdesc="A 2D game about building and maintaining factories - Server version (experimental branch)"
9
arch=('x86_64')
10
url="http://www.factorio.com/"
11
license=('custom: commercial')
12
conflicts=('factorio' 'factorio-demo' 'factorio-headless' 'factorio-experimental')
13
provides=("factorio-headless=$pkgver")
14
install=factorio-headless.install
15
options=(!strip)
16
backup=(etc/conf.d/factorio
17
etc/factorio/server-settings.json
18
etc/factorio/map-gen-settings.json
19
etc/factorio/map-settings.json
20
)
21
22
source=(LICENSE
23
factorio-headless.service
24
factorio-headless.conf
25
factorio-headless.sysusers
26
factorio_headless_x64_${pkgver}.tar.xz::http://www.factorio.com/get-download/${pkgver}/headless/linux64
27
)
28
29
sha256sums=('8859e0c8650bd90a7ff35f6ec15df91cbbc5ef6ffab6119876731feb811861d1'
30
'72bbef31fced163e5993eff0e73a836a557165775eb77e0d69b24fe5ec4690a7'
31
'53d148b3de26bcbe4af725ac34d7a607329aa9c4f87e00f8c2cb63154d8c1921'
32
'87dae15d1bcfb4683faea9c66498bd916bd27f8aa0dc724c4e21076dcf17da64'
33
'cc97aa4bac26de625260af32515c839021c0c9f0c076a518329d7a105e213d7d')
34
35
36
# no modifications needed, the executable looks for:
37
# - data in /usr/share/factorio
38
# - config in ~/.factorio
39
40
package() {
41
install -Dm755 "${srcdir}/factorio/bin/x64/factorio" "${pkgdir}/usr/bin/factorio"
42
install -d "${pkgdir}/usr/share/factorio"
43
cp -r "${srcdir}/factorio/data"/* "${pkgdir}/usr/share/factorio"
44
install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
45
46
install -Dm644 "${srcdir}/factorio-headless.sysusers" "${pkgdir}/usr/lib/sysusers.d/factorio.conf"
47
install -Dm644 "${srcdir}/factorio-headless.conf" "${pkgdir}/etc/conf.d/factorio"
48
install -Dm644 "${srcdir}/factorio-headless.service" "${pkgdir}/usr/lib/systemd/system/factorio.service"
49
# server-settings.json can contain sensitive data so we need to make it only readable by the factorio user
50
install -Dm600 "${srcdir}/factorio/data/server-settings.example.json" "${pkgdir}/etc/factorio/server-settings.json"
51
install -Dm644 "${srcdir}/factorio/data/map-gen-settings.example.json" "${pkgdir}/etc/factorio/map-gen-settings.json"
52
install -Dm644 "${srcdir}/factorio/data/map-settings.example.json" "${pkgdir}/etc/factorio/map-settings.json"
53
54
# public isn't really a good default especially with the default name/description
55
sed -i 's/^ "public": true/ "public": false/' "${pkgdir}/etc/factorio/server-settings.json"
56
}
57
Changes since previous scan
--- PKGBUILD @ 2026-07-22 00:29+++ PKGBUILD @ 2026-08-18 00:03@@ -3,7 +3,7 @@ # Inspiration for service and config files: https://github.com/Bisa/factorio-init pkgname=factorio-headless-experimental-pkgver=2.1.12+pkgver=2.1.14 pkgrel=1 pkgdesc="A 2D game about building and maintaining factories - Server version (experimental branch)" arch=('x86_64')@@ -30,7 +30,7 @@ '72bbef31fced163e5993eff0e73a836a557165775eb77e0d69b24fe5ec4690a7' '53d148b3de26bcbe4af725ac34d7a607329aa9c4f87e00f8c2cb63154d8c1921' '87dae15d1bcfb4683faea9c66498bd916bd27f8aa0dc724c4e21076dcf17da64'- '885ff029a40b0edd815cfe1fc13845f232723da1ea8fe9a83eae114d1eccd3fe')+ 'cc97aa4bac26de625260af32515c839021c0c9f0c076a518329d7a105e213d7d') # no modifications needed, the executable looks for:Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 00:03:42 | LOW | 2 |
| 2026-08-17 00:18:29 | LOW | 2 |
| 2026-08-16 00:03:42 | LOW | 2 |
| 2026-08-15 00:26:13 | LOW | 2 |
| 2026-08-14 00:03:41 | LOW | 2 |
| 2026-08-13 00:17:07 | LOW | 2 |
| 2026-08-12 00:27:08 | LOW | 2 |
| 2026-08-11 11:21:04 | MEDIUM | 1 |
| 2026-07-22 00:29:32 | CLEAN | 2 |
| 2026-07-21 11:16:59 | MEDIUM | 1 |
| 2026-07-15 00:09:25 | CLEAN | 2 |
| 2026-07-14 11:45:03 | MEDIUM | 1 |
| 2026-07-14 00:09:48 | LOW | 2 |
| 2026-07-13 13:41:53 | MEDIUM | 1 |
| 2026-07-13 00:19:36 | LOW | 2 |
| 2026-07-12 00:27:26 | LOW | 2 |
| 2026-07-11 00:25:18 | LOW | 2 |
| 2026-07-10 00:20:30 | LOW | 2 |
| 2026-07-09 00:22:38 | LOW | 2 |
| 2026-07-08 00:26:52 | LOW | 2 |