diff options
author | Mateusz Piotrowski <0mp@FreeBSD.org> | 2021-10-09 18:21:50 +0000 |
---|---|---|
committer | Mateusz Piotrowski <0mp@FreeBSD.org> | 2021-10-09 18:30:13 +0000 |
commit | 0f2d228a4856289084b2df23d40cb78c1e23c5ef (patch) | |
tree | d75368a79c6facaaeb5bfc1655307477691340ae | |
parent | c89c8818212f4740b241139983e0ed2d2d197855 (diff) | |
download | ports-0f2d228a4856289084b2df23d40cb78c1e23c5ef.tar.gz ports-0f2d228a4856289084b2df23d40cb78c1e23c5ef.zip |
security/weggli: Add a new port
weggli is a fast and robust semantic search tool for C and C++
codebases. It is designed to help security researchers identify
interesting functionality in large codebases.
weggli performs pattern matching on Abstract Syntax Trees based on user
provided queries. Its query language resembles C and C++ code, making it
easy to turn interesting code patterns into queries.
weggli is inspired by great tools like Semgrep, Coccinelle, joern and
CodeQL, but makes some different design decisions:
- C++ support: weggli has first class support for modern C++ constructs,
such as lambda expressions, range-based for loops and constexprs.
- Minimal setup: weggli should work out-of-the box against most software
you will encounter. weggli does not require the ability to build the
software and can work with incomplete sources or missing dependencies.
- Interactive: weggli is designed for interactive usage and fast query
performance. Most of the time, a weggli query will be faster than a
grep search. The goal is to enable an interactive workflow where quick
switching between code review and query creation/improvement is
possible.
- Greedy: weggli's pattern matching is designed to find as many (useful)
matches as possible for a specific query. While this increases the
risk of false positives it simplifies query creation. For example, the
query $x = 10; will match both assignment expressions (foo = 10;) and
declarations (int bar = 10;).
WWW: https://github.com/googleprojectzero/weggli
-rw-r--r-- | security/Makefile | 1 | ||||
-rw-r--r-- | security/weggli/Makefile | 134 | ||||
-rw-r--r-- | security/weggli/distinfo | 231 | ||||
-rw-r--r-- | security/weggli/pkg-descr | 26 |
4 files changed, 392 insertions, 0 deletions
diff --git a/security/Makefile b/security/Makefile index dc3776f75379..2f57f3214a31 100644 --- a/security/Makefile +++ b/security/Makefile @@ -1323,6 +1323,7 @@ SUBDIR += wazuh-agent SUBDIR += webfwlog SUBDIR += webscarab + SUBDIR += weggli SUBDIR += whatweb SUBDIR += wipe SUBDIR += wolfssh diff --git a/security/weggli/Makefile b/security/weggli/Makefile new file mode 100644 index 000000000000..a7df3a3c6f6e --- /dev/null +++ b/security/weggli/Makefile @@ -0,0 +1,134 @@ +PORTNAME= weggli +DISTVERSIONPREFIX= v +DISTVERSION= 0.2.2 +CATEGORIES= security + +MAINTAINER= 0mp@FreeBSD.org +COMMENT= Semantic search tool for C and C++ codebases + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cargo +USE_GITHUB= yes +GH_ACCOUNT= googleprojectzero +CARGO_CRATES= aho-corasick-0.7.15 \ + ansi_term-0.11.0 \ + assert_cmd-2.0.0 \ + atty-0.2.14 \ + autocfg-1.0.1 \ + bitflags-1.2.1 \ + bstr-0.2.15 \ + bumpalo-3.6.1 \ + byteorder-1.4.3 \ + cast-0.2.3 \ + cc-1.0.65 \ + cfg-if-0.1.10 \ + cfg-if-1.0.0 \ + chrono-0.4.19 \ + clap-2.33.3 \ + colored-2.0.0 \ + const_fn-0.4.3 \ + criterion-0.3.4 \ + criterion-plot-0.4.3 \ + crossbeam-channel-0.5.0 \ + crossbeam-deque-0.8.0 \ + crossbeam-epoch-0.9.1 \ + crossbeam-utils-0.8.1 \ + csv-1.1.6 \ + csv-core-0.1.10 \ + ctor-0.1.17 \ + difference-2.0.0 \ + difflib-0.4.0 \ + doc-comment-0.3.3 \ + either-1.6.1 \ + float-cmp-0.8.0 \ + ghost-0.1.2 \ + half-1.7.1 \ + hermit-abi-0.1.17 \ + indoc-1.0.3 \ + instant-0.1.9 \ + inventory-0.1.10 \ + inventory-impl-0.1.10 \ + itertools-0.9.0 \ + itertools-0.10.0 \ + itoa-0.4.7 \ + js-sys-0.3.48 \ + lazy_static-1.4.0 \ + libc-0.2.80 \ + lock_api-0.4.2 \ + log-0.4.11 \ + memchr-2.3.4 \ + memoffset-0.6.1 \ + nix-0.17.0 \ + normalize-line-endings-0.3.0 \ + num-integer-0.1.44 \ + num-traits-0.2.14 \ + num_cpus-1.13.0 \ + oorandom-11.1.3 \ + parking_lot-0.11.1 \ + parking_lot_core-0.8.2 \ + paste-1.0.4 \ + plotters-0.3.0 \ + plotters-backend-0.3.0 \ + plotters-svg-0.3.0 \ + predicates-1.0.8 \ + predicates-2.0.2 \ + predicates-core-1.0.2 \ + predicates-tree-1.0.3 \ + proc-macro2-1.0.24 \ + pyo3-0.13.0 \ + pyo3-macros-0.13.0 \ + pyo3-macros-backend-0.13.0 \ + quote-1.0.8 \ + rayon-1.5.0 \ + rayon-core-1.9.0 \ + redox_syscall-0.1.57 \ + regex-1.4.2 \ + regex-automata-0.1.9 \ + regex-syntax-0.6.21 \ + rustc_version-0.2.3 \ + ryu-1.0.5 \ + same-file-1.0.6 \ + scopeguard-1.1.0 \ + semver-0.9.0 \ + semver-parser-0.7.0 \ + serde-1.0.121 \ + serde_cbor-0.11.1 \ + serde_derive-1.0.121 \ + serde_json-1.0.64 \ + simplelog-0.10.0 \ + smallvec-1.6.0 \ + strsim-0.8.0 \ + syn-1.0.58 \ + termcolor-1.1.2 \ + textwrap-0.11.0 \ + thread_local-1.0.1 \ + time-0.1.44 \ + tinytemplate-1.2.1 \ + tree-sitter-0.19.2 \ + treeline-0.1.0 \ + unicode-width-0.1.8 \ + unicode-xid-0.2.1 \ + unindent-0.1.7 \ + vec_map-0.8.2 \ + void-1.0.2 \ + wait-timeout-0.2.0 \ + walkdir-2.3.1 \ + wasi-0.10.0+wasi-snapshot-preview1 \ + wasm-bindgen-0.2.71 \ + wasm-bindgen-backend-0.2.71 \ + wasm-bindgen-macro-0.2.71 \ + wasm-bindgen-macro-support-0.2.71 \ + wasm-bindgen-shared-0.2.71 \ + web-sys-0.3.48 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-util-0.1.5 \ + winapi-x86_64-pc-windows-gnu-0.4.0 +PLIST_FILES= bin/${PORTNAME} + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + +.include <bsd.port.mk> diff --git a/security/weggli/distinfo b/security/weggli/distinfo new file mode 100644 index 000000000000..36258050d4e6 --- /dev/null +++ b/security/weggli/distinfo @@ -0,0 +1,231 @@ +TIMESTAMP = 1633802771 +SHA256 (rust/crates/aho-corasick-0.7.15.crate) = 7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5 +SIZE (rust/crates/aho-corasick-0.7.15.crate) = 113071 +SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b +SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087 +SHA256 (rust/crates/assert_cmd-2.0.0.crate) = 54f002ce7d0c5e809ebb02be78fd503aeed4a511fd0fcaff6e6914cbdabbfa33 +SIZE (rust/crates/assert_cmd-2.0.0.crate) = 27912 +SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8 +SIZE (rust/crates/atty-0.2.14.crate) = 5470 +SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a +SIZE (rust/crates/autocfg-1.0.1.crate) = 12908 +SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693 +SIZE (rust/crates/bitflags-1.2.1.crate) = 16745 +SHA256 (rust/crates/bstr-0.2.15.crate) = a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d +SIZE (rust/crates/bstr-0.2.15.crate) = 344206 +SHA256 (rust/crates/bumpalo-3.6.1.crate) = 63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe +SIZE (rust/crates/bumpalo-3.6.1.crate) = 133836 +SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610 +SIZE (rust/crates/byteorder-1.4.3.crate) = 22512 +SHA256 (rust/crates/cast-0.2.3.crate) = 4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0 +SIZE (rust/crates/cast-0.2.3.crate) = 11446 +SHA256 (rust/crates/cc-1.0.65.crate) = 95752358c8f7552394baf48cd82695b345628ad3f170d607de3ca03b8dacca15 +SIZE (rust/crates/cc-1.0.65.crate) = 52966 +SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822 +SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73 +SIZE (rust/crates/chrono-0.4.19.crate) = 155663 +SHA256 (rust/crates/clap-2.33.3.crate) = 37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002 +SIZE (rust/crates/clap-2.33.3.crate) = 201925 +SHA256 (rust/crates/colored-2.0.0.crate) = b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd +SIZE (rust/crates/colored-2.0.0.crate) = 21619 +SHA256 (rust/crates/const_fn-0.4.3.crate) = c478836e029dcef17fb47c89023448c64f781a046e0300e257ad8225ae59afab +SIZE (rust/crates/const_fn-0.4.3.crate) = 15120 +SHA256 (rust/crates/criterion-0.3.4.crate) = ab327ed7354547cc2ef43cbe20ef68b988e70b4b593cbd66a2a61733123a3d23 +SIZE (rust/crates/criterion-0.3.4.crate) = 111110 +SHA256 (rust/crates/criterion-plot-0.4.3.crate) = e022feadec601fba1649cfa83586381a4ad31c6bf3a9ab7d408118b05dd9889d +SIZE (rust/crates/criterion-plot-0.4.3.crate) = 17226 +SHA256 (rust/crates/crossbeam-channel-0.5.0.crate) = dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775 +SIZE (rust/crates/crossbeam-channel-0.5.0.crate) = 86811 +SHA256 (rust/crates/crossbeam-deque-0.8.0.crate) = 94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9 +SIZE (rust/crates/crossbeam-deque-0.8.0.crate) = 20756 +SHA256 (rust/crates/crossbeam-epoch-0.9.1.crate) = a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d +SIZE (rust/crates/crossbeam-epoch-0.9.1.crate) = 39561 +SHA256 (rust/crates/crossbeam-utils-0.8.1.crate) = 02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d +SIZE (rust/crates/crossbeam-utils-0.8.1.crate) = 35914 +SHA256 (rust/crates/csv-1.1.6.crate) = 22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1 +SIZE (rust/crates/csv-1.1.6.crate) = 886999 +SHA256 (rust/crates/csv-core-0.1.10.crate) = 2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90 +SIZE (rust/crates/csv-core-0.1.10.crate) = 25668 +SHA256 (rust/crates/ctor-0.1.17.crate) = 373c88d9506e2e9230f6107701b7d8425f4cb3f6df108ec3042a26e936666da5 +SIZE (rust/crates/ctor-0.1.17.crate) = 4793 +SHA256 (rust/crates/difference-2.0.0.crate) = 524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198 +SIZE (rust/crates/difference-2.0.0.crate) = 147616 +SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8 +SIZE (rust/crates/difflib-0.4.0.crate) = 7638 +SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10 +SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123 +SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457 +SIZE (rust/crates/either-1.6.1.crate) = 13641 +SHA256 (rust/crates/float-cmp-0.8.0.crate) = e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4 +SIZE (rust/crates/float-cmp-0.8.0.crate) = 9640 +SHA256 (rust/crates/ghost-0.1.2.crate) = 1a5bcf1bbeab73aa4cf2fde60a846858dc036163c7c33bec309f8d17de785479 +SIZE (rust/crates/ghost-0.1.2.crate) = 12777 +SHA256 (rust/crates/half-1.7.1.crate) = 62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3 +SIZE (rust/crates/half-1.7.1.crate) = 36168 +SHA256 (rust/crates/hermit-abi-0.1.17.crate) = 5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8 +SIZE (rust/crates/hermit-abi-0.1.17.crate) = 10065 +SHA256 (rust/crates/indoc-1.0.3.crate) = e5a75aeaaef0ce18b58056d306c27b07436fbb34b8816c53094b76dd81803136 +SIZE (rust/crates/indoc-1.0.3.crate) = 13137 +SHA256 (rust/crates/instant-0.1.9.crate) = 61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec +SIZE (rust/crates/instant-0.1.9.crate) = 5213 +SHA256 (rust/crates/inventory-0.1.10.crate) = 0f0f7efb804ec95e33db9ad49e4252f049e37e8b0a4652e3cd61f7999f2eff7f +SIZE (rust/crates/inventory-0.1.10.crate) = 11572 +SHA256 (rust/crates/inventory-impl-0.1.10.crate) = 75c094e94816723ab936484666968f5b58060492e880f3c8d00489a1e244fa51 +SIZE (rust/crates/inventory-impl-0.1.10.crate) = 6228 +SHA256 (rust/crates/itertools-0.9.0.crate) = 284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b +SIZE (rust/crates/itertools-0.9.0.crate) = 96429 +SHA256 (rust/crates/itertools-0.10.0.crate) = 37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319 +SIZE (rust/crates/itertools-0.10.0.crate) = 109656 +SHA256 (rust/crates/itoa-0.4.7.crate) = dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736 +SIZE (rust/crates/itoa-0.4.7.crate) = 12099 +SHA256 (rust/crates/js-sys-0.3.48.crate) = dc9f84f9b115ce7843d60706df1422a916680bfdfcbdb0447c5614ff9d7e4d78 +SIZE (rust/crates/js-sys-0.3.48.crate) = 67010 +SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 +SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443 +SHA256 (rust/crates/libc-0.2.80.crate) = 4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614 +SIZE (rust/crates/libc-0.2.80.crate) = 513503 +SHA256 (rust/crates/lock_api-0.4.2.crate) = dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312 +SIZE (rust/crates/lock_api-0.4.2.crate) = 20375 +SHA256 (rust/crates/log-0.4.11.crate) = 4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b +SIZE (rust/crates/log-0.4.11.crate) = 36276 +SHA256 (rust/crates/memchr-2.3.4.crate) = 0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525 +SIZE (rust/crates/memchr-2.3.4.crate) = 23077 +SHA256 (rust/crates/memoffset-0.6.1.crate) = 157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87 +SIZE (rust/crates/memoffset-0.6.1.crate) = 7706 +SHA256 (rust/crates/nix-0.17.0.crate) = 50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363 +SIZE (rust/crates/nix-0.17.0.crate) = 195654 +SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be +SIZE (rust/crates/normalize-line-endings-0.3.0.crate) = 5737 +SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db +SIZE (rust/crates/num-integer-0.1.44.crate) = 22216 +SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290 +SIZE (rust/crates/num-traits-0.2.14.crate) = 45476 +SHA256 (rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3 +SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704 +SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575 +SIZE (rust/crates/oorandom-11.1.3.crate) = 10068 +SHA256 (rust/crates/parking_lot-0.11.1.crate) = 6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb +SIZE (rust/crates/parking_lot-0.11.1.crate) = 39854 +SHA256 (rust/crates/parking_lot_core-0.8.2.crate) = 9ccb628cad4f84851442432c60ad8e1f607e29752d0bf072cbd0baf28aa34272 +SIZE (rust/crates/parking_lot_core-0.8.2.crate) = 32142 +SHA256 (rust/crates/paste-1.0.4.crate) = c5d65c4d95931acda4498f675e332fcbdc9a06705cd07086c510e9b6009cd1c1 +SIZE (rust/crates/paste-1.0.4.crate) = 17431 +SHA256 (rust/crates/plotters-0.3.0.crate) = 45ca0ae5f169d0917a7c7f5a9c1a3d3d9598f18f529dd2b8373ed988efea307a +SIZE (rust/crates/plotters-0.3.0.crate) = 3242931 +SHA256 (rust/crates/plotters-backend-0.3.0.crate) = b07fffcddc1cb3a1de753caa4e4df03b79922ba43cf882acc1bdd7e8df9f4590 +SIZE (rust/crates/plotters-backend-0.3.0.crate) = 13492 +SHA256 (rust/crates/plotters-svg-0.3.0.crate) = b38a02e23bd9604b842a812063aec4ef702b57989c37b655254bb61c471ad211 +SIZE (rust/crates/plotters-svg-0.3.0.crate) = 7488 +SHA256 (rust/crates/predicates-1.0.8.crate) = f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df +SIZE (rust/crates/predicates-1.0.8.crate) = 26996 +SHA256 (rust/crates/predicates-2.0.2.crate) = c143348f141cc87aab5b950021bac6145d0e5ae754b0591de23244cee42c9308 +SIZE (rust/crates/predicates-2.0.2.crate) = 27280 +SHA256 (rust/crates/predicates-core-1.0.2.crate) = 57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451 +SIZE (rust/crates/predicates-core-1.0.2.crate) = 8185 +SHA256 (rust/crates/predicates-tree-1.0.3.crate) = d7dd0fd014130206c9352efbdc92be592751b2b9274dff685348341082c6ea3d +SIZE (rust/crates/predicates-tree-1.0.3.crate) = 6370 +SHA256 (rust/crates/proc-macro2-1.0.24.crate) = 1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71 +SIZE (rust/crates/proc-macro2-1.0.24.crate) = 37716 +SHA256 (rust/crates/pyo3-0.13.0.crate) = 5cdd01a4c2719dd1f3ceab0875fa1a2c2cd3c619477349d78f43cd716b345436 +SIZE (rust/crates/pyo3-0.13.0.crate) = 268056 +SHA256 (rust/crates/pyo3-macros-0.13.0.crate) = 7f8218769d13e354f841d559a19b0cf22cfd55959c7046ef594e5f34dbe46d16 +SIZE (rust/crates/pyo3-macros-0.13.0.crate) = 5467 +SHA256 (rust/crates/pyo3-macros-backend-0.13.0.crate) = fc4da0bfdf76f0a5971c698f2cb6b3f832a6f80f16dedeeb3f123eb0431ecce2 +SIZE (rust/crates/pyo3-macros-backend-0.13.0.crate) = 33653 +SHA256 (rust/crates/quote-1.0.8.crate) = 991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df +SIZE (rust/crates/quote-1.0.8.crate) = 24997 +SHA256 (rust/crates/rayon-1.5.0.crate) = 8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674 +SIZE (rust/crates/rayon-1.5.0.crate) = 158037 +SHA256 (rust/crates/rayon-core-1.9.0.crate) = 9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a +SIZE (rust/crates/rayon-core-1.9.0.crate) = 63787 +SHA256 (rust/crates/redox_syscall-0.1.57.crate) = 41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce +SIZE (rust/crates/redox_syscall-0.1.57.crate) = 17087 +SHA256 (rust/crates/regex-1.4.2.crate) = 38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c +SIZE (rust/crates/regex-1.4.2.crate) = 236931 +SHA256 (rust/crates/regex-automata-0.1.9.crate) = ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4 +SIZE (rust/crates/regex-automata-0.1.9.crate) = 114560 +SHA256 (rust/crates/regex-syntax-0.6.21.crate) = 3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189 +SIZE (rust/crates/regex-syntax-0.6.21.crate) = 293572 +SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a +SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210 +SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e +SIZE (rust/crates/ryu-1.0.5.crate) = 49570 +SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 +SIZE (rust/crates/same-file-1.0.6.crate) = 10183 +SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd +SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470 +SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403 +SIZE (rust/crates/semver-0.9.0.crate) = 17344 +SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3 +SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268 +SHA256 (rust/crates/serde-1.0.121.crate) = 6159e3c76cab06f6bc466244d43b35e77e9500cd685da87620addadc2a4c40b1 +SIZE (rust/crates/serde-1.0.121.crate) = 74568 +SHA256 (rust/crates/serde_cbor-0.11.1.crate) = 1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622 +SIZE (rust/crates/serde_cbor-0.11.1.crate) = 43947 +SHA256 (rust/crates/serde_derive-1.0.121.crate) = f3fcab8778dc651bc65cfab2e4eb64996f3c912b74002fb379c94517e1f27c46 +SIZE (rust/crates/serde_derive-1.0.121.crate) = 50683 +SHA256 (rust/crates/serde_json-1.0.64.crate) = 799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79 +SIZE (rust/crates/serde_json-1.0.64.crate) = 115138 +SHA256 (rust/crates/simplelog-0.10.0.crate) = 59d0fe306a0ced1c88a58042dc22fc2ddd000982c26d75f6aa09a394547c41e0 +SIZE (rust/crates/simplelog-0.10.0.crate) = 17910 +SHA256 (rust/crates/smallvec-1.6.0.crate) = 1a55ca5f3b68e41c979bf8c46a6f1da892ca4db8f94023ce0bd32407573b1ac0 +SIZE (rust/crates/smallvec-1.6.0.crate) = 26273 +SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a +SIZE (rust/crates/strsim-0.8.0.crate) = 9309 +SHA256 (rust/crates/syn-1.0.58.crate) = cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5 +SIZE (rust/crates/syn-1.0.58.crate) = 229250 +SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4 +SIZE (rust/crates/termcolor-1.1.2.crate) = 17287 +SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060 +SIZE (rust/crates/textwrap-0.11.0.crate) = 17322 +SHA256 (rust/crates/thread_local-1.0.1.crate) = d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14 +SIZE (rust/crates/thread_local-1.0.1.crate) = 12609 +SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255 +SIZE (rust/crates/time-0.1.44.crate) = 28885 +SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc +SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490 +SHA256 (rust/crates/tree-sitter-0.19.2.crate) = 8085411272e5e472f38ed09b911b29ab61979f21cd5fba3454738b85b438ba20 +SIZE (rust/crates/tree-sitter-0.19.2.crate) = 123969 +SHA256 (rust/crates/treeline-0.1.0.crate) = a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41 +SIZE (rust/crates/treeline-0.1.0.crate) = 3855 +SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3 +SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732 +SHA256 (rust/crates/unicode-xid-0.2.1.crate) = f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564 +SIZE (rust/crates/unicode-xid-0.2.1.crate) = 14392 +SHA256 (rust/crates/unindent-0.1.7.crate) = f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7 +SIZE (rust/crates/unindent-0.1.7.crate) = 8346 +SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191 +SIZE (rust/crates/vec_map-0.8.2.crate) = 14466 +SHA256 (rust/crates/void-1.0.2.crate) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d +SIZE (rust/crates/void-1.0.2.crate) = 2356 +SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6 +SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441 +SHA256 (rust/crates/walkdir-2.3.1.crate) = 777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d +SIZE (rust/crates/walkdir-2.3.1.crate) = 23413 +SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f +SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964 +SHA256 (rust/crates/wasm-bindgen-0.2.71.crate) = 7ee1280240b7c461d6a0071313e08f34a60b0365f14260362e5a2b17d1d31aa7 +SIZE (rust/crates/wasm-bindgen-0.2.71.crate) = 159260 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.71.crate) = 5b7d8b6942b8bb3a9b0e73fc79b98095a27de6fa247615e59d096754a3bc2aa8 +SIZE (rust/crates/wasm-bindgen-backend-0.2.71.crate) = 25432 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.71.crate) = e5ac38da8ef716661f0f36c0d8320b89028efe10c7c0afde65baffb496ce0d3b +SIZE (rust/crates/wasm-bindgen-macro-0.2.71.crate) = 11548 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.71.crate) = cc053ec74d454df287b9374ee8abb36ffd5acb95ba87da3ba5b7d3fe20eb401e +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.71.crate) = 17855 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.71.crate) = 7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1 +SIZE (rust/crates/wasm-bindgen-shared-0.2.71.crate) = 6693 +SHA256 (rust/crates/web-sys-0.3.48.crate) = ec600b26223b2948cedfde2a0aa6756dcf1fef616f43d7b3097aaf53a6c4d92b +SIZE (rust/crates/web-sys-0.3.48.crate) = 648255 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178 +SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (googleprojectzero-weggli-v0.2.2_GH0.tar.gz) = f308370fd02e47ac39457d9a4931bb1158f42d55991052d88fc6b38c0f134608 +SIZE (googleprojectzero-weggli-v0.2.2_GH0.tar.gz) = 991843 diff --git a/security/weggli/pkg-descr b/security/weggli/pkg-descr new file mode 100644 index 000000000000..b4d0ea21dbce --- /dev/null +++ b/security/weggli/pkg-descr @@ -0,0 +1,26 @@ +weggli is a fast and robust semantic search tool for C and C++ codebases. It is +designed to help security researchers identify interesting functionality in +large codebases. + +weggli performs pattern matching on Abstract Syntax Trees based on user +provided queries. Its query language resembles C and C++ code, making it easy +to turn interesting code patterns into queries. + +weggli is inspired by great tools like Semgrep, Coccinelle, joern and CodeQL, +but makes some different design decisions: +- C++ support: weggli has first class support for modern C++ constructs, such + as lambda expressions, range-based for loops and constexprs. +- Minimal setup: weggli should work out-of-the box against most software you + will encounter. weggli does not require the ability to build the software and + can work with incomplete sources or missing dependencies. +- Interactive: weggli is designed for interactive usage and fast query + performance. Most of the time, a weggli query will be faster than a grep + search. The goal is to enable an interactive workflow where quick switching + between code review and query creation/improvement is possible. +- Greedy: weggli's pattern matching is designed to find as many (useful) + matches as possible for a specific query. While this increases the risk of + false positives it simplifies query creation. For example, the query $x = 10; + will match both assignment expressions (foo = 10;) and declarations + (int bar = 10;). + +WWW: https://github.com/googleprojectzero/weggli |