Review for source package src:python-awscurl
[Summary]
python-awscurl is a Python CLI that gives a curl like experience
to make requests signed with "AWS Signature V4" signatures to AWS
services. It is a recently added runtime dependency for Openstack
Ceilometer.
MIR team ACK under the constraint to resolve the below listed
required TODOs and as much as possible having a look at the
recommended TODOs.
This does not need a security review.
=> python3-awscurl is a pure-Python CLI with no history of CVEs. It uses
cryptography (Python's hmac and hashlib) only to sign outgoing requests.
List of specific binary packages to be promoted to main: python3-awscurl
Specific binary packages built, but NOT to be promoted to main: None
Notes:
#0 - Depends on MIR for src:python3-configargparse which is being pursued
in
https://bugs.launchpad.net/ubuntu/+source/python-configargparse/+bug/2142251
Required TODOs:
#1 - The main component has python3-boto3 which also seems to have
functionality
to let one make AWSsigV4 signed requests, albeit through a Python SDK and
not a CLI.
How feasible, easy or difficult, would it be to replace the use of
python-awscurl
by python3-boto3, in OpenStack Ceilometer? Please address this query.
Recommended TODOs:
#2 - Address the lintian warnings mentioned in [Packaging Red Flags].
Please consider adding a man page for the cli tool.
#3 - Consider fixing the DeprecationWarnings thrown by the upstream tests,
mentioned in [Upstream Red Flags].
[Rationale, Duplication and Ownership]
- There is no other package in main providing the same functionality.
=> python3-boto3 has overlapping functionality. It is a python SDK that
supports making HTTP requests that are AWSsig4 signed. It doesn't offer
a CLI like python3-awscurl.
- A team is committed to own long term maintenance of this package.
=> The ~ubuntu-cloud-archive team is subscribed.
- The rationale given in the report seems valid and useful for Ubuntu
[Dependencies]
OK:
- no other runtime Dependencies to MIR due to this
=> check-mir reports python3-configargparse. There is a new MIR for it:
https://bugs.launchpad.net/ubuntu/+source/python-configargparse/+bug/2142251
- 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
- No dependencies in main that are only superficially tested requiring more
tests now.
Problems: None
[Embedded sources and static linking]
OK:
- no embedded source present
- no static linking
- does not have unexpected Built-Using entries
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard
Problems: None
[Security]
OK:
- history of CVEs does not look concerning
- 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
=> uses AWS credentials
- 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 not deal with cryptography (en-/decryption, certificates, signing, ...)
=> implements AWS4-HMAC-SHA256 signatures using Python's hmac, hashlib
- 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, ...)
=> python3-awscurl is a CLI that runs with no elevated privileges.
roblems: None
[Common blockers]
OK:
- does not FTBFS currently
=> do not consider the amd64v3 failure, it was due to a Launchpad issue that
is now fixed
- 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
- This does not need special HW for build or test
- no new python2 dependency
- Python package, but using dh_python
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 slow
=> no releases since August, 2024
- Debian/Ubuntu update history is good
=> python-awscurl is a new package, with only one release
- 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:
- Lintian warnings
- W: python3-awscurl: no-manual-page [usr/bin/awscurl]
- P: python3-awscurl: homepage-field-uses-insecure-uri
http://github.com/okigan/awscurl
=> this probably needs a simple fix to d/control
[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (the language has no direct MM)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH
- 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
=> CLI tool
Problems:
- The tests report deprecation warnings related to:
DeprecationWarning: datetime.datetime.utcfromtimestamp()
** Changed in: python-awscurl (Ubuntu)
Status: New => In Progress
** Changed in: python-awscurl (Ubuntu)
Assignee: Pushkar Kulkarni (pushkarnk) => (unassigned)
** Changed in: python-awscurl (Ubuntu)
Assignee: (unassigned) => Myles Penner (mylesjp)
** Changed in: python-awscurl (Ubuntu)
Assignee: Myles Penner (mylesjp) => (unassigned)
** Changed in: python-awscurl (Ubuntu)
Assignee: (unassigned) => Myles Penner (mylesjp)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2142240
Title:
[MIR] python-awscurl
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-awscurl/+bug/2142240/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs