Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update latest from main #122

Merged
merged 26 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
25f9a1a
Add official build workflow to compile TypeScript into JavaScript
chrisnielsen-MS Jul 30, 2024
393c837
Fix checkov warning about overly permissive workflow
chrisnielsen-MS Jul 30, 2024
40ad3dd
Merge pull request #105 from microsoft/feature/autoCompileJs
chrisnielsen-MS Jul 30, 2024
1ed2a07
Add secret token for npm package download
chrisnielsen-MS Jul 30, 2024
f1f3d7c
Merge branch 'feature/autoCompileJs' into release/vNext
chrisnielsen-MS Jul 30, 2024
ab9d458
Give the git push a target branch
chrisnielsen-MS Jul 30, 2024
04e361d
Update pipeline to pull branch before pushing
chrisnielsen-MS Jul 30, 2024
3af6ecf
Ensure workflow only triggers for vNext -> main PRs
chrisnielsen-MS Jul 30, 2024
65aadca
Ensure workflow only triggers for vNext -> main PRs
chrisnielsen-MS Jul 30, 2024
9d14c8f
Ensure workflow only triggers for vNext -> main PRs
chrisnielsen-MS Jul 30, 2024
68f4b76
Use force push for only javascript files to avoid any merge issues
chrisnielsen-MS Jul 30, 2024
068dec3
Add Checkov to tool list to check effects of updating typescript with…
chrisnielsen-MS Jul 31, 2024
3702461
Update official build to run on PRs to release/vNext instead of to main
chrisnielsen-MS Jul 31, 2024
2a00ef4
Merge 3702461008505ecfa8259308e1bea14a38908854 into 068dec3445163abff…
chrisnielsen-MS Jul 31, 2024
fb4fcd5
Official Build: Compile TypeScript to JavaScript
github-actions[bot] Jul 31, 2024
b3e48a2
Merge pull request #107 from microsoft/feature/autoCompileJs
chrisnielsen-MS Jul 31, 2024
1a70159
Merge pull request #106 from microsoft/release/vNext
chrisnielsen-MS Jul 31, 2024
9c7c4b2
Update insecure.py
richardtucker Aug 23, 2024
fe9221a
Merge pull request #109 from microsoft/passScan
richardtucker Aug 23, 2024
4854159
Update README.md
jbrotsos Oct 18, 2024
adfc9da
Update README.md
jbrotsos Oct 18, 2024
b7f8f71
Updating to node20
chrisnielsen-MS Oct 18, 2024
3df8170
Merge pull request #117 from microsoft/feature/node20
chrisnielsen-MS Oct 18, 2024
89d7ff2
Merge pull request #116 from jbrotsos/patch-1
unhorsedpine Oct 21, 2024
c641f74
Support the upload verb if an existing file is set
reynoldsa Nov 7, 2024
08976cb
Merge pull request #120 from reynoldsa/main
reynoldsa Nov 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/official-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: security-devops-action Official Build

on:
pull_request:
branches:
- release/vNext

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'

- name: Configure npm to use GitHub Packages
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc

- name: Install dependencies
run: npm install

- name: Compile TypeScript
run: npm run build

- name: Commit compiled JavaScript
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add lib/.
git commit -m 'Official Build: Compile TypeScript to JavaScript'
git push --force origin HEAD:${{ steps.extract_branch.outputs.branch }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ To only run specific analyzers, use the `tools` command. This command is a comma
| [AntiMalware](https://www.microsoft.com/en-us/windows/comprehensive-security) | code, artifacts | - |
| [Bandit](https://github.com/PyCQA/bandit) | python | [Apache License 2.0](https://github.com/PyCQA/bandit/blob/master/LICENSE) |
| [BinSkim](https://github.com/Microsoft/binskim) | binary - Windows, ELF | [MIT License](https://github.com/microsoft/binskim/blob/main/LICENSE) |
| [Checkov](https://github.com/bridgecrewio/checkov) | Infrastructure-as-code (IaC), Terraform, Terraform plan, Cloudformation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Templates, or OpenTofu | [Apache License 2.0](https://github.com/bridgecrewio/checkov/blob/main/LICENSE) |
| [ESlint](https://github.com/eslint/eslint) | JavaScript | [MIT License](https://github.com/eslint/eslint/blob/main/LICENSE) |
| [Template Analyzer](https://github.com/Azure/template-analyzer) | Infrastructure-as-code (IaC), ARM templates, Bicep files | [MIT License](https://github.com/Azure/template-analyzer/blob/main/LICENSE.txt) |
| [Terrascan](https://github.com/accurics/terrascan) | Infrastructure-as-code (IaC), Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, Cloudformation | [Apache License 2.0](https://github.com/accurics/terrascan/blob/master/LICENSE) |
Expand Down
4 changes: 3 additions & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,13 @@ inputs:
description: A comma separated list of analyzer to run. Example bandit, binskim, container-mapping, eslint, templateanalyzer, terrascan, trivy.
includeTools:
description: Deprecated
existingFilename:
description: A SARIF filename that already exists. If it does, then the normal run will not take place and the file will instead be uploaded to MSDO backend.
outputs:
sarifFile:
description: A file path to a SARIF results file.
runs:
using: 'node16'
using: 'node20'
main: 'lib/main.js'
pre: 'lib/pre.js'
post: 'lib/post.js'
2 changes: 2 additions & 0 deletions lib/msdo-helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ var Inputs;
Inputs["Languages"] = "languages";
Inputs["Tools"] = "tools";
Inputs["IncludeTools"] = "includeTools";
Inputs["ExistingFilename"] = "existingFilename";
})(Inputs || (exports.Inputs = Inputs = {}));
var RunnerType;
(function (RunnerType) {
Expand All @@ -25,6 +26,7 @@ var Tools;
(function (Tools) {
Tools["Bandit"] = "bandit";
Tools["Binskim"] = "binskim";
Tools["Checkov"] = "checkov";
Tools["ContainerMapping"] = "container-mapping";
Tools["ESLint"] = "eslint";
Tools["TemplateAnalyzer"] = "templateanalyzer";
Expand Down
95 changes: 51 additions & 44 deletions lib/msdo.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,59 +52,66 @@ class MicrosoftSecurityDevOps {
runMain() {
return __awaiter(this, void 0, void 0, function* () {
core.debug('MicrosoftSecurityDevOps.runMain - Running MSDO...');
let args = ['run'];
let config = core.getInput('config');
if (!common.isNullOrWhiteSpace(config)) {
args.push('-c');
args.push(config);
let args = undefined;
let existingFilename = core.getInput('existingFilename');
if (!common.isNullOrWhiteSpace(existingFilename)) {
args = ['upload', '--file', existingFilename];
}
let policy = core.getInput('policy');
if (common.isNullOrWhiteSpace(policy)) {
policy = "GitHub";
}
args.push('-p');
args.push(policy);
let categoriesString = core.getInput('categories');
if (!common.isNullOrWhiteSpace(categoriesString)) {
args.push('--categories');
let categories = categoriesString.split(',');
for (let i = 0; i < categories.length; i++) {
let category = categories[i];
if (!common.isNullOrWhiteSpace(category)) {
args.push(category.trim());
else {
args = ['run'];
let config = core.getInput('config');
if (!common.isNullOrWhiteSpace(config)) {
args.push('-c');
args.push(config);
}
let policy = core.getInput('policy');
if (common.isNullOrWhiteSpace(policy)) {
policy = "GitHub";
}
args.push('-p');
args.push(policy);
let categoriesString = core.getInput('categories');
if (!common.isNullOrWhiteSpace(categoriesString)) {
args.push('--categories');
let categories = categoriesString.split(',');
for (let i = 0; i < categories.length; i++) {
let category = categories[i];
if (!common.isNullOrWhiteSpace(category)) {
args.push(category.trim());
}
}
}
}
let languagesString = core.getInput('languages');
if (!common.isNullOrWhiteSpace(languagesString)) {
args.push('--languages');
let languages = languagesString.split(',');
for (let i = 0; i < languages.length; i++) {
let language = languages[i];
if (!common.isNullOrWhiteSpace(language)) {
args.push(language.trim());
let languagesString = core.getInput('languages');
if (!common.isNullOrWhiteSpace(languagesString)) {
args.push('--languages');
let languages = languagesString.split(',');
for (let i = 0; i < languages.length; i++) {
let language = languages[i];
if (!common.isNullOrWhiteSpace(language)) {
args.push(language.trim());
}
}
}
}
let toolsString = core.getInput('tools');
let includedTools = [];
if (!common.isNullOrWhiteSpace(toolsString)) {
let tools = toolsString.split(',');
for (let i = 0; i < tools.length; i++) {
let tool = tools[i];
let toolTrimmed = tool.trim();
if (!common.isNullOrWhiteSpace(tool)
&& tool != msdo_helpers_1.Tools.ContainerMapping
&& includedTools.indexOf(toolTrimmed) == -1) {
if (includedTools.length == 0) {
args.push('--tool');
let toolsString = core.getInput('tools');
let includedTools = [];
if (!common.isNullOrWhiteSpace(toolsString)) {
let tools = toolsString.split(',');
for (let i = 0; i < tools.length; i++) {
let tool = tools[i];
let toolTrimmed = tool.trim();
if (!common.isNullOrWhiteSpace(tool)
&& tool != msdo_helpers_1.Tools.ContainerMapping
&& includedTools.indexOf(toolTrimmed) == -1) {
if (includedTools.length == 0) {
args.push('--tool');
}
args.push(toolTrimmed);
includedTools.push(toolTrimmed);
}
args.push(toolTrimmed);
includedTools.push(toolTrimmed);
}
}
args.push('--github');
}
args.push('--github');
yield client.run(args, 'microsoft/security-devops-action');
});
}
Expand Down
6 changes: 5 additions & 1 deletion node_modules/.bin/uuid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions node_modules/.package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 10 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "microsoft-security-devops-action",
"version": "1.11.0",
"version": "1.12.0",
"description": "Node dependencies for the microsoft/security-devops-action.",
"scripts": {
"build": "npx gulp",
Expand All @@ -13,7 +13,7 @@
"dependencies": {
"@actions/core": "1.10.0",
"@actions/exec": "1.1.1",
"@microsoft/security-devops-actions-toolkit": "1.10.0"
"@microsoft/security-devops-actions-toolkit": "1.11.0"
},
"devDependencies": {
"@types/mocha": "^2.2.44",
Expand Down
Loading
Loading