Skip to content
This repository has been archived by the owner on May 4, 2024. It is now read-only.

RUSTSEC in dependencies in branch main #5

Open
github-actions bot opened this issue Apr 12, 2022 · 0 comments
Open

RUSTSEC in dependencies in branch main #5

github-actions bot opened this issue Apr 12, 2022 · 0 comments

Comments

@github-actions
Copy link

Found RUSTSEC in dependencies in job https://github.com/move-language/move/actions/runs/2155593820

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
      Loaded 404 security advisories (from /opt/cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (487 crate dependencies)
Crate:         chrono
Version:       0.4.19
Title:         Potential segfault in `localtime_r` invocations
Date:          2020-11-10
ID:            RUSTSEC-2020-0159
URL:           https://rustsec.org/advisories/RUSTSEC-2020-0159
Solution:      No safe upgrade is available!
Dependency tree: 
chrono 0.4.19
├── x 0.1.0
├── tera 1.7.1
│   └── move-prover-boogie-backend 0.1.0
│       ├── move-to-yul 0.1.0
│       │   ├── move-unit-test 0.1.0
│       │   │   ├── move-table-extension 0.1.0
│       │   │   │   ├── move-vm-test-utils 0.1.0
│       │   │   │   │   ├── test-generation 0.1.0
│       │   │   │   │   ├── move-vm-integration-tests 0.1.0
│       │   │   │   │   ├── move-unit-test 0.1.0
│       │   │   │   │   ├── move-transactional-test-runner 0.1.0
│       │   │   │   │   │   ├── move-vm-transactional-tests 0.1.0
│       │   │   │   │   │   ├── move-ir-compiler-transactional-tests 0.1.0
│       │   │   │   │   │   ├── move-compiler-transactional-tests 0.1.0
│       │   │   │   │   │   └── bytecode-verifier-transactional-tests 0.1.0
│       │   │   │   │   └── language-benchmarks 0.1.0
│       │   │   │   ├── move-vm-integration-tests 0.1.0
│       │   │   │   ├── move-unit-test 0.1.0
│       │   │   │   └── move-cli 0.1.0
│       │   │   │       ├── move-transactional-test-runner 0.1.0
│       │   │   │       ├── move-table-extension 0.1.0
│       │   │   │       └── move-stdlib 0.1.0
│       │   │   │           ├── test-generation 0.1.0
│       │   │   │           ├── move-vm-integration-tests 0.1.0
│       │   │   │           ├── move-unit-test 0.1.0
│       │   │   │           ├── move-transactional-test-runner 0.1.0
│       │   │   │           ├── move-to-yul 0.1.0
│       │   │   │           ├── move-table-extension 0.1.0
│       │   │   │           ├── move-stackless-bytecode 0.1.0
│       │   │   │           │   ├── spec-flatten 0.1.0
│       │   │   │           │   ├── read-write-set 0.1.0
│       │   │   │           │   │   └── move-cli 0.1.0
│       │   │   │           │   ├── prover-mutation 0.1.0
│       │   │   │           │   ├── prover-lab 0.1.0
│       │   │   │           │   ├── move-to-yul 0.1.0
│       │   │   │           │   ├── move-stackless-bytecode-interpreter 0.1.0
│       │   │   │           │   │   ├── move-unit-test 0.1.0
│       │   │   │           │   │   ├── move-transactional-test-runner 0.1.0
│       │   │   │           │   │   ├── move-prover 0.1.0
│       │   │   │           │   │   │   ├── spec-flatten 0.1.0
│       │   │   │           │   │   │   ├── prover-mutation 0.1.0
│       │   │   │           │   │   │   ├── prover-lab 0.1.0
│       │   │   │           │   │   │   ├── move-stdlib 0.1.0
│       │   │   │           │   │   │   ├── move-errmapgen 0.1.0
│       │   │   │           │   │   │   │   ├── move-stdlib 0.1.0
│       │   │   │           │   │   │   │   ├── move-prover 0.1.0
│       │   │   │           │   │   │   │   ├── move-package 0.1.0
│       │   │   │           │   │   │   │   │   ├── move-table-extension 0.1.0
│       │   │   │           │   │   │   │   │   ├── move-stdlib 0.1.0
│       │   │   │           │   │   │   │   │   └── move-cli 0.1.0
│       │   │   │           │   │   │   │   └── move-cli 0.1.0
│       │   │   │           │   │   │   ├── move-docgen 0.1.0
│       │   │   │           │   │   │   │   ├── move-stdlib 0.1.0
│       │   │   │           │   │   │   │   ├── move-prover 0.1.0
│       │   │   │           │   │   │   │   └── move-package 0.1.0
│       │   │   │           │   │   │   ├── move-cli 0.1.0
│       │   │   │           │   │   │   └── move-abigen 0.1.0
│       │   │   │           │   │   │       ├── move-prover 0.1.0
│       │   │   │           │   │   │       └── move-package 0.1.0
│       │   │   │           │   │   └── bytecode-interpreter-testsuite 0.1.0
│       │   │   │           │   ├── move-prover-boogie-backend 0.1.0
│       │   │   │           │   ├── move-prover 0.1.0
│       │   │   │           │   └── move-docgen 0.1.0
│       │   │   │           ├── move-compiler 0.0.1
│       │   │   │           │   ├── test-generation 0.1.0
│       │   │   │           │   ├── spec-flatten 0.1.0
│       │   │   │           │   ├── move-vm-runtime 0.1.0
│       │   │   │           │   │   ├── test-generation 0.1.0
│       │   │   │           │   │   ├── move-vm-test-utils 0.1.0
│       │   │   │           │   │   ├── move-vm-integration-tests 0.1.0
│       │   │   │           │   │   ├── move-unit-test 0.1.0
│       │   │   │           │   │   ├── move-transactional-test-runner 0.1.0
│       │   │   │           │   │   ├── move-table-extension 0.1.0
│       │   │   │           │   │   ├── move-stdlib 0.1.0
│       │   │   │           │   │   ├── move-stackless-bytecode-interpreter 0.1.0
│       │   │   │           │   │   ├── move-cli 0.1.0
│       │   │   │           │   │   ├── move-async-vm 0.1.0
│       │   │   │           │   │   └── language-benchmarks 0.1.0
│       │   │   │           │   ├── move-vm-integration-tests 0.1.0
│       │   │   │           │   ├── move-unit-test 0.1.0
│       │   │   │           │   ├── move-transactional-test-runner 0.1.0
│       │   │   │           │   ├── move-to-yul 0.1.0
│       │   │   │           │   ├── move-table-extension 0.1.0
│       │   │   │           │   ├── move-stdlib 0.1.0
│       │   │   │           │   ├── move-prover 0.1.0
│       │   │   │           │   ├── move-package 0.1.0
│       │   │   │           │   ├── move-model 0.1.0
jiangying000 pushed a commit to jiangying000/move that referenced this issue Sep 20, 2022
wrwg added a commit that referenced this issue May 1, 2024
* [compiler v2] Resource access control (read-write sets)

This is an e2e implementation of resource access control for Move, with most parts in place:

- Replaces the acquires syntax in a downwards-compatible way
- The extended syntax is only available in compiler v2
- One can now specify `acquires`, `reads`, and `writes`
- One can specify the address of a resource in dependency of parameters
- Multiple levels of wildcards are allowed, e.g. `acquires *(object::address_of(param))` specifies that all resources at the given address are read or written.
- Implements parsing->expansion->move model->file format generator
- Extends `file_format::FunctionHandle` to carry the new information, introducing bytecode version v7. v7 became the new experimental version only available in test code for now.
- TODO: dynamic runtime checking of resource access. Static analysis is also on the horizon, but not needed for an MVP of this feature.
- TODO: bytecode verification of access specifiers

An AIP for this new feature will be filed soon.

As an example, here is some extract from the tests:

```move
module 0x42::m {

    struct S has store {}
    struct R has store {}
    struct T has store {}
    struct G<T> has store {}

    fun f1() acquires S {
    }

    fun f2() reads S {
    }

    fun f3() writes S {
    }

    fun f4() acquires S(*) {
    }

    fun f_multiple() acquires R reads R writes T, S reads G<u64> {
    }

    fun f5() acquires 0x42::*::* {
    }

    fun f6() acquires 0x42::m::R {
    }

    fun f7() acquires *(*) {
    }

    fun f8() acquires *(0x42) {
    }

    fun f9(a: address) acquires *(a) {
    }

    fun f10(x: u64) acquires *(make_up_address(x)) {
    }

    fun make_up_address(x: u64): address {
        @0x42
    }
}
```

* Addressing reviewer comments

* Addressing reviewer comments #2

* Addressing reviewer comments #3

* Addressing reviewer comments #4

* Reviewer comments #5

GitOrigin-RevId: 58271fd3a4dd3279c4112ba2fff79e28b46149c0
wrwg added a commit that referenced this issue May 1, 2024
* [compiler v2] Resource access control (read-write sets)

This is an e2e implementation of resource access control for Move, with most parts in place:

- Replaces the acquires syntax in a downwards-compatible way
- The extended syntax is only available in compiler v2
- One can now specify `acquires`, `reads`, and `writes`
- One can specify the address of a resource in dependency of parameters
- Multiple levels of wildcards are allowed, e.g. `acquires *(object::address_of(param))` specifies that all resources at the given address are read or written.
- Implements parsing->expansion->move model->file format generator
- Extends `file_format::FunctionHandle` to carry the new information, introducing bytecode version v7. v7 became the new experimental version only available in test code for now.
- TODO: dynamic runtime checking of resource access. Static analysis is also on the horizon, but not needed for an MVP of this feature.
- TODO: bytecode verification of access specifiers

An AIP for this new feature will be filed soon.

As an example, here is some extract from the tests:

```move
module 0x42::m {

    struct S has store {}
    struct R has store {}
    struct T has store {}
    struct G<T> has store {}

    fun f1() acquires S {
    }

    fun f2() reads S {
    }

    fun f3() writes S {
    }

    fun f4() acquires S(*) {
    }

    fun f_multiple() acquires R reads R writes T, S reads G<u64> {
    }

    fun f5() acquires 0x42::*::* {
    }

    fun f6() acquires 0x42::m::R {
    }

    fun f7() acquires *(*) {
    }

    fun f8() acquires *(0x42) {
    }

    fun f9(a: address) acquires *(a) {
    }

    fun f10(x: u64) acquires *(make_up_address(x)) {
    }

    fun make_up_address(x: u64): address {
        @0x42
    }
}
```

* Addressing reviewer comments

* Addressing reviewer comments #2

* Addressing reviewer comments #3

* Addressing reviewer comments #4

* Reviewer comments #5

GitOrigin-RevId: 58271fd3a4dd3279c4112ba2fff79e28b46149c0
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

0 participants