Commit Graph

28 Commits

Author SHA1 Message Date
Willi Ballenthin
cdc1cb7afd rename "sequence" scope to "span of calls" scope
pep8

fix ref

update submodules

update testfiles submodule

duplicate variable
2025-01-29 02:25:06 -07:00
Willi Ballenthin
b06fea130c dynamic: add sequence scope
addresses discussion in
https://github.com/mandiant/capa-rules/discussions/951

pep8

sequence: add test showing multiple sequences overlapping a single event
2025-01-29 02:25:06 -07:00
Ana Maria Martinez Gomez
3cd97ae9f2 [copyright + license] Fix headers
Replace the header from source code files using the following script:
```Python
for dir_path, dir_names, file_names in os.walk("capa"):
    for file_name in file_names:
        # header are only in `.py` and `.toml` files
        if file_name[-3:] not in (".py", "oml"):
            continue
        file_path = f"{dir_path}/{file_name}"
        f = open(file_path, "rb+")
        content = f.read()
        m = re.search(OLD_HEADER, content)
        if not m:
            continue
        print(f"{file_path}: {m.group('year')}")
        content = content.replace(m.group(0), NEW_HEADER % m.group("year"))
        f.seek(0)
        f.write(content)
```

Some files had the copyright headers inside a `"""` comment and needed
manual changes before applying the script. `hook-vivisect.py` and
`pyinstaller.spec` didn't include the license in the header and also
needed manual changes.

The old header had the confusing sentence `All rights reserved`, which
does not make sense for an open source license. Replace the header by
the default Google header that corrects this issue and keep capa
consistent with other Google projects.

Adapt the linter to work with the new header.

Replace also the copyright text in the `web/public/index.html` file for
consistency.
2025-01-15 08:52:42 -07:00
Willi Ballenthin
98360328f9 proto: fix serialization of call address 2023-10-19 09:59:18 +00:00
Willi Ballenthin
d64ab41dfd tests: proto: add more dynamic proto tests 2023-09-05 10:23:55 +00:00
Willi Ballenthin
69836a0f13 proto: add dynamic test 2023-09-05 10:22:33 +00:00
Willi Ballenthin
3725618d50 render: proto: use Static/Dynamic analysis types 2023-09-05 08:37:11 +00:00
Willi Ballenthin
f96b9e6a6e proto: add RuleMetadata.scopes 2023-08-25 13:20:46 +00:00
Willi Ballenthin
e4c1361d42 Merge branch 'fix/scope-enum-usage' into fix/dynamic-proto 2023-08-25 13:01:49 +00:00
Willi Ballenthin
f2909c82f3 proto: reenable tests and linters 2023-08-25 09:41:25 +00:00
Yacine Elhamer
32f936ce8c address review comments 2023-07-06 17:17:18 +01:00
Willi Ballenthin
49ff9d5a7c pep8 2023-03-23 10:58:13 +01:00
Willi Ballenthin
1044709803 tests: proto: test byte representation, not messages 2023-03-23 10:57:35 +01:00
Willi Ballenthin
d068faa35e tests: remove old comment 2023-03-22 13:24:42 +01:00
Willi Ballenthin
1c33cd4470 pep8 2023-03-22 13:12:22 +01:00
Willi Ballenthin
21e410cc77 proto: implement deserialization from protobuf format 2023-03-22 13:08:10 +01:00
Willi Ballenthin
68ebd87127 tests: proto: fix property name 2023-03-22 11:22:12 +01:00
Willi Ballenthin
62069e9e59 tests: proto: fix module references 2023-03-22 11:21:59 +01:00
Willi Ballenthin
114c3854e7 tests: add round trip tests for proto 2023-03-22 11:15:50 +01:00
Willi Ballenthin
4754a84a8a pep8 2023-03-22 10:52:40 +01:00
mr-tz
2d98c9e3c4 address mypy warnings 2023-03-20 17:45:55 +01:00
mr-tz
0933040d0b remove protobuf from rd scheme generation test 2023-03-20 17:45:23 +01:00
mr-tz
a7b7f643a5 update translator and tests 2023-03-14 10:13:49 +01:00
mr-tz
44d8e693b0 improve int/Integer handling 2023-03-08 16:06:57 +01:00
mr-tz
a7e4d265e2 convert rd meta to proto 2023-03-08 14:45:26 +01:00
Willi Ballenthin
9ea2aca9cb test: proto: emit the schema json, too 2023-02-14 11:24:30 +01:00
Willi Ballenthin
c197fd5086 proto: add type stubs for generate schema 2023-02-14 10:57:43 +01:00
Willi Ballenthin
38d8b7f501 render: add initial proto generator 2023-02-14 10:02:12 +01:00