Review for Source Package: src:restic

[Summary]
Restic is a new runtime dependency of package Deja-Dup. It is a fast and secure 
backup program that guarantees
confidentiality and integrity of user data. It provides the same functionality 
as Duplicity, but is claimed 
to be faster and more reliable. Deja-Dup now has features that are supported 
only by restic. So, it effectively
replaces duplicity.

MIR team ACK.

This does need a security review, so I'll assign ubuntu-security.

List of specific binary packages to be promoted to main: bin:restic
Specific binary packages built, but NOT to be promoted to main: 
bin:restic-dbgsym

Notes:
None

Required TODOs:
None

Recommended TODOs:
#0 - The package should get a team bug subscriber before being promoted
#1 - Dependency bin:fuse needs promotion to main, src:fuse3 is already in main 
and bin:fuse
     is a transitional package to bin:fuse3.
#2 - An assessment of the user impact of 
https://github.com/restic/restic/issues/5543
#3 - Address the build-warning noted in [Upstream Red flags]

[Rationale, Duplication and Ownership]
 - There is no other package in main providing the same functionality.
   => src:duplicity provides similar functionality. But bin:deja-dup (in main)
      is being transitioned from depending on bin:duplicity to bin:restic.
 - A team is committed to own long term maintenance of this package.
   => The Desktop team is suggested, but needs to be subscribed yet. 
- The rationale given in the report seems valid and useful for Ubuntu

Problems:
 - Agreement needed from the Desktop team to be added as a team subscriber
 
[Dependencies]
OK:
- no other runtime Dependencies to MIR due to this
  => bin:restic depends on bin:fuse which is a transitional package to 
bin:fuse3 which is in
     main. The former needs promotion to main.
- no other build-time Dependencies with active code in the final binaries to 
MIR due to this
- no -dev/-debug/-doc packages that need exclusion
  => bin:restic-dbgsym to be excluded
- No dependencies in main that are only superficially tested requiring more 
tests now.

Problems: 
- bin:fuse also needs to be promoted to main

[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
  => Golang package, Go dependencies are statically built into the binary
- does not have unexpected Built-Using entries
- Go Package that follows the Debian Go packaging guidelines
- golang: static builds are used, the team confirmed their commitment
  to the additional responsibilities implied by static builds.
  => Golang static build used, --buildmode=shared not used.

Problems: None

[Security]
OK:
- history of CVEs does not look concerning
  => Only one CVE reported in the past
     https://security-tracker.debian.org/tracker/CVE-2020-9283
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not parse data formats (files [images, video, audio,
  xml, json, asn.1], network packets, structures, ...) from
  an untrusted source.
- does not expose any external endpoint (port/socket/... or similar)
- does not process arbitrary web content
- does not use centralized online accounts
- does not integrate arbitrary javascript into the desktop
- does not deal with system authentication (eg, pam), etc)
- does not deal with security attestation (secure boot, tpm, signatures)
- DOES deal with cryptography (en-/decryption, certificates, signing, ...)
  => Restic uses cryptography to guarantee cryptography and integrity of user 
data.
- this makes appropriate (for its exposure) use of established risk
  mitigation features (dropping permissions, using temporary environments,
  restricted users/groups, seccomp, systemd isolation features,
  apparmor, ...)
  => Not directly, though security has been kept in mind and common 
     isolation/risk-mitigation patterns are in place to guarantee
     confidentiality and integrity of data.

Problems: None

[Common blockers]
OK:
- does not FTBFS currently
- does have a test suite that runs at build time
  - test suite fails will fail the build upon error.
- does have a non-trivial test suite that runs as autopkgtest
  => The current tests may not qualify as non-trivial
- This does not need special HW for build or test
- The owning team is committed and aware of the implications for
- Go package, but using dh-golang

Problems: None

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking not applicable for this kind of code.
- debian/watch is present and looks ok 
- Upstream update history is good
- Debian/Ubuntu update history is good
- the current release is packaged
- promoting this does not seem to cause issues for MOTUs that so far maintained 
the package
- no massive Lintian warnings
- debian/rules is rather clean
- It is not on the lto-disabled list

Problems: None

[Upstream red flags]
OK:
- no Errors/warnings during the build
  => Nothing significant. But can this warning be fixed?
  dh_auto_build: warning: LTO optimize is enable in buildflags. But cgo doesn't 
support it. LTO flags will be stripped in cgo
- no incautious use of malloc/sprintf
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside tests)
- no use of user 'nobody' outside of tests
- no use of setuid / setgid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit or libseed
- not part of the UI for extra checks
- no translation present, but none needed for this case

Problems:
- The reporter noted two upstream bugs
  - https://github.com/restic/restic/issues/2659
  - https://github.com/restic/restic/issues/5543 => this appears to be serious

** Bug watch added: github.com/restic/restic/issues #5543
   https://github.com/restic/restic/issues/5543

** Bug watch added: github.com/restic/restic/issues #2659
   https://github.com/restic/restic/issues/2659

** CVE added: https://cve.org/CVERecord?id=CVE-2020-9283

** Changed in: restic (Ubuntu)
     Assignee: Pushkar Kulkarni (pushkarnk) => Ubuntu Security Team 
(ubuntu-security)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2134530

Title:
  MIR for Restic

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/restic/+bug/2134530/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to