Installations
npm install @salesforce/sfdx-scanner
Developer
forcedotcom
Developer Guide
Module System
Unable to determine the module system for this package.
Min. Node Version
>=20.0.0
Typescript Support
No
Node Version
20.18.0
NPM Version
10.8.2
Statistics
217 Stars
2,506 Commits
50 Forks
29 Watching
95 Branches
33 Contributors
Updated on 12 Nov 2024
Languages
HTML (66.21%)
Java (27.73%)
TypeScript (5.23%)
Apex (0.38%)
JavaScript (0.21%)
Mustache (0.11%)
CSS (0.07%)
Shell (0.04%)
Batchfile (0.02%)
Total Downloads
Cumulative downloads
Total Downloads
4,333,803
Last day
-2.5%
7,725
Compared to previous day
Last week
-0.8%
39,158
Compared to previous week
Last month
4.3%
171,984
Compared to previous month
Last year
43.6%
2,081,189
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
38
Dev Dependencies
29
Salesforce Code Analyzer
Salesforce Code Analyzer is a unified tool for static analysis of source code. Code Analyzer analyzes multiple languages. It relies on a consistent command-line interface and produces a results file of rule violations. Use the results to review and improve your code.
If you're listing a managed package on AppExchange, it must pass security review. You're also required to upload your Salesforce Code Analyzer scan reports. Attach your Code Analyzer reports to your submission in the AppExchange Security Review Wizard. For more info, read Scan Your Code with Salesforce Code Analyzer and AppExchange Security Review.
Code Analyzer current supports the PMD rule engine, PMD Copy Paste Detector, ESLint, RetireJS, and Salesforce Graph Engine.
Integrate Code Analyzer into your Continuous Integration/Continuous Development (CI/CD) process to enforce rules that you define and to produce high-quality code.
Salesforce Code Analyzer Documentation
Read Salesforce Code Analyzer documentation to learn:
- how to install Code Analyzer
- what is included in the Code Analyzer command reference
- the structure of Code Analyzer architecture
- how to write and manage custom rules
Contribute to Salesforce Code Analyzer
Read these instructions to contribute to Code Analyzer
No vulnerabilities found.
Reason
all changesets reviewed
Reason
22 commit(s) and 23 issue activity found in the last 90 days -- score normalized to 10
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
security policy file detected
Details
- Info: security policy file detected: SECURITY.md:1
- Info: Found linked content: SECURITY.md:1
- Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy
- Info: Found text in security policy: SECURITY.md:1
Reason
2 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-8qv5-68g4-248j
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/create-github-release.yml:19
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/create-release-branch.yml:22
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish-to-npm.yml:113
- Warn: no topLevel permission defined: .github/workflows/automated-release-tasks.yml:1
- Warn: no topLevel permission defined: .github/workflows/create-github-release.yml:1
- Warn: no topLevel permission defined: .github/workflows/create-release-branch.yml:1
- Warn: no topLevel permission defined: .github/workflows/daily-smoke-tests.yml:1
- Warn: no topLevel permission defined: .github/workflows/production-heartbeat.yml:1
- Warn: no topLevel permission defined: .github/workflows/publish-to-npm.yml:1
- Warn: no topLevel permission defined: .github/workflows/run-tests.yml:1
- Warn: no topLevel permission defined: .github/workflows/validate-pr.yml:1
Reason
binaries present in source code
Details
- Warn: binary detected: cli-messaging/gradle/wrapper/gradle-wrapper.jar:1
- Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1
- Warn: binary detected: pmd-appexchange/lib/pmd-aura-html-sf-0.1.jar:1
- Warn: binary detected: pmd-appexchange/lib/pmd-customrules-utils-0.1.jar:1
- Warn: binary detected: pmd-appexchange/lib/sf_metadata_pmd_xml-0.1.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-apex-0.16.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-aurahtml-0.16.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-html-0.16.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-javascript-0.16.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-sfmetadata-0.16.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-visualforce-0.16.jar:1
- Warn: binary detected: pmd-appexchange/lib/sfca-pmd-xml-0.16.jar:1
- Warn: binary detected: pmd-cataloger/gradle/wrapper/gradle-wrapper.jar:1
- Warn: binary detected: sfge/gradle/wrapper/gradle-wrapper.jar:1
- Warn: binary detected: sfge/lib/apex-jorje-lsp-sfge.jar:1
- Warn: binary detected: test/test-jars/apex/testjar-categories-and-rulesets-1.jar:1
- Warn: binary detected: test/test-jars/apex/testjar1.jar:1
- Warn: binary detected: test/test-jars/apex/testjar2.jar:1
- Warn: binary detected: test/test-jars/apex/testjar3.jar:1
- Warn: binary detected: test/test-jars/apex/testjar4.jar:1
- Warn: binary detected: test/test-jars/negative/collision-test/collision-test-1.jar:1
- Warn: binary detected: test/test-jars/negative/collision-test/collision-test-2.jar:1
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/automated-release-tasks.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/automated-release-tasks.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/automated-release-tasks.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/automated-release-tasks.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create-github-release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/create-github-release.yml/dev?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/create-github-release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/create-github-release.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create-release-branch.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/create-release-branch.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/create-release-branch.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/create-release-branch.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/production-heartbeat.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/production-heartbeat.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/production-heartbeat.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/production-heartbeat.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/production-heartbeat.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/production-heartbeat.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/production-heartbeat.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/production-heartbeat.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-to-npm.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/publish-to-npm.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:106: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:144: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:199: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:203: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:206: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:213: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:256: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:260: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:263: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-tests.yml:283: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/run-tests.yml/dev?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate-pr.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/forcedotcom/sfdx-scanner/validate-pr.yml/dev?enable=pin
- Warn: npmCommand not pinned by hash: .github/workflows/production-heartbeat.yml:71
- Warn: npmCommand not pinned by hash: .github/workflows/production-heartbeat.yml:72
- Warn: npmCommand not pinned by hash: .github/workflows/production-heartbeat.yml:73
- Warn: npmCommand not pinned by hash: .github/workflows/publish-to-npm.yml:84
- Warn: npmCommand not pinned by hash: .github/workflows/run-tests.yml:212
- Info: 0 out of 41 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 1 third-party GitHubAction dependencies pinned
- Info: 0 out of 5 npmCommand dependencies pinned
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 30 are checked with a SAST tool
Score
5.2
/10
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More