question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[question] conan manfiests and lockfile

See original GitHub issue

I would like to use conan to manage my toolchain for various projects and I have done some work towards making this a possibility in https://gitlab.com/aucampia/proj/xonan.

The idea is that a user would check in a conanfile.txt with their toolchain (e.g. terraform, golang, etc) and conan.lock with their project, and then use xonan lenv install and xonan lenv exec -- terraform ... to use the tool. The one thing missing here is that I would like to also verify that installed/provided packages have the same manifests when someone else uses it to prevent the possiblity of someone somehow tampering with packages.

As far as I know the package manifests do not affect the package_id, which is the current unique identifier for packages, and while package_id will likely change if the manifests changes, this does not protect against maliciously crafted packages and tampering.

I could add support for “locking” manifests outside of conan, but I’m just wondering if this is not functionality that should go into conan itself? Maybe some option when enabled to include a hash of the manifest in the conan lockfile and then checking it when verifying the lockfile?

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:6 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
aucampiacommented, Oct 27, 2021

Thanks for the info. I’m closing this as my original question is answered as best possible I think, and I will open new questions for additional info on similar subjects.

0reactions
memshardedcommented, Oct 26, 2021

I think maybe it just locks the recipe manifest but the package manifests from last i checked. But I never checked the manifests option and that may be what I was looking for, pity to see it being removed.

Lockfiles can lock also the package revisions.

I see mention of hook to implement this functionality so maybe better to look towards that also. Thanks for the info.

Yes, this should be doable with hooks. However, maybe you want to reconsider the feature, IMO it sounds a bit overkill given the trust model. You are hosting yourself your packages in your server, if someone manages to hack into there and tamper with the packages, probably you have much bigger problems. Because new versions and releases also happen, and once the server is compromised, the manifest checking will not help, as the new versions (which are compromised) will come with a new manifest that you need to accept as good, because there is not a previous snapshot of that manifest because it is a new version.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Package Revisions — conan 1.55.0 documentation
Lockfiles can capture an exact state of a dependency graph, down to exact versions and revisions, and use it later to force their...
Read more >
[lock] Provide .lock mechanism for version ranges #1042
Hi All! Recently I was working on this problem. I've created a script that creates and uses lock file: https://gist.github.com/dobrypd/ ...
Read more >
Dependency Scanning - GitLab Docs
Dependency Scanning compared to Container Scanning ; Identify the manifest, lock file, or static file that introduced the dependency ; Development dependencies.
Read more >
The best free, open-source supply-chain security tool ... - r2c
The lockfile is a "compiled" version of a dependency manifest. It specifies the exact version of every dependency installed. A good lockfile ......
Read more >
Configuration Options - Renovate Docs
If you have any questions about the config options, or want to get help/feedback about a ... otherwise Renovate will fail to create...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found