https://github.com/crytic/solana-lints
Lints based on the Sealevel Attacks
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (4.8%) to scientific vocabulary
Repository
Lints based on the Sealevel Attacks
Statistics
- Stars: 43
- Watchers: 14
- Forks: 10
- Open Issues: 10
- Releases: 0
Metadata Files
README.md
Trail of Bits Solana lints
Solana Breakpoint 2022 slides
Each subdirectory of lints contains a Solana lint in the form of a Dylint library.
The lints are inspired by the Sealevel Attacks. (See also @pencilflip's Twitter thread.)
The current lints are:
| Library | Description | Anchor | Non Anchor |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------ |
| arbitrary_cpi | lint for 5-arbitrary-cpi | :heavycheckmark: | :heavycheckmark: |
| bump_seed_canonicalization | lint for 6-bump-seed-canonicalization | | :heavycheckmark: |
| insecure_account_close | lint for 9-closing-accounts | :heavycheckmark: | :heavycheckmark: |
| missing_owner_check | lint for 2-owner-checks | :heavycheckmark: | :heavycheckmark: |
| missing_signer_check | lint for 0-signer-authorization | :heavycheckmark: | :heavycheckmark: |
| sysvar_get | Reports uses of Sysvar::from_account_info instead of Sysvar::get | :heavycheckmark: | :heavycheckmark: |
| type_cosplay | lint for 3-type-cosplay | | :heavycheckmark: |
Usage
To use these lints, do the following:
- Install
cargo-dylintanddylint-link:
sh
cargo install cargo-dylint dylint-link
- Add the following to your workspace's
Cargo.tomlfile:
toml
[workspace.metadata.dylint]
libraries = [
{ git = "https://github.com/crytic/solana-lints", pattern = "lints/*" },
]
- Run
cargo-dylint:sh cargo dylint --all --workspace
Owner
- Name: Crytic
- Login: crytic
- Kind: organization
- Email: opensource@trailofbits.com
- Location: New York, NY
- Website: https://www.trailofbits.com/
- Repositories: 66
- Profile: https://github.com/crytic
Blockchain Security, by @trailofbits
GitHub Events
Total
- Issues event: 2
- Watch event: 10
- Delete event: 30
- Issue comment event: 23
- Push event: 21
- Pull request event: 36
- Fork event: 7
- Create event: 27
Last Year
- Issues event: 2
- Watch event: 10
- Delete event: 30
- Issue comment event: 23
- Push event: 21
- Pull request event: 36
- Fork event: 7
- Create event: 27
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 8
- Total pull requests: 130
- Average time to close issues: 26 days
- Average time to close pull requests: 2 months
- Total issue authors: 7
- Total pull request authors: 6
- Average comments per issue: 2.38
- Average comments per pull request: 0.73
- Merged pull requests: 71
- Bot issues: 0
- Bot pull requests: 76
Past Year
- Issues: 1
- Pull requests: 23
- Average time to close issues: about 2 months
- Average time to close pull requests: about 2 months
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 10.0
- Average comments per pull request: 0.26
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 22
Top Authors
Issue Authors
- oslfmt (2)
- mdulin2 (1)
- smoelius (1)
- PirosB3 (1)
- S3v3ru5 (1)
- Shpota (1)
Pull Request Authors
- dependabot[bot] (104)
- smoelius (30)
- S3v3ru5 (27)
- oslfmt (9)
- ndrewh (3)
- AndyBarnard (1)