@akasecurity/cli 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/dist/cli.js +2008 -1221
- package/package.json +7 -6
- package/web-ui/package.json +1 -1
- package/web-ui/packages/dashboard-ui/package.json +1 -1
- package/web-ui/packages/detections/package.json +2 -2
- package/web-ui/packages/local-ops/package.json +3 -2
- package/web-ui/packages/persistence/package.json +2 -2
- package/web-ui/packages/plugin-sdk/package.json +29 -0
- package/web-ui/packages/schema/package.json +2 -2
- package/web-ui/rules/code-flaws/auth-jwt-no-verify.json +20 -0
- package/web-ui/rules/code-flaws/auth-ssl-verify-false.json +19 -0
- package/web-ui/rules/code-flaws/cmd-inject-exec.json +20 -0
- package/web-ui/rules/code-flaws/cmd-inject-node-exec.json +20 -0
- package/web-ui/rules/code-flaws/cmd-inject-shell.json +20 -0
- package/web-ui/rules/code-flaws/crypto-insecure-random.json +20 -0
- package/web-ui/rules/code-flaws/crypto-weak-hash-md5.json +16 -0
- package/web-ui/rules/code-flaws/crypto-weak-hash-sha1.json +23 -0
- package/web-ui/rules/code-flaws/deser-java-ois.json +22 -0
- package/web-ui/rules/code-flaws/deser-pickle.json +16 -0
- package/web-ui/rules/code-flaws/deser-yaml-unsafe.json +16 -0
- package/web-ui/rules/code-flaws/dev-debug-enabled.json +13 -0
- package/web-ui/rules/code-flaws/dev-placeholder-secret.json +24 -0
- package/web-ui/rules/code-flaws/dev-wildcard-cors.json +17 -0
- package/web-ui/rules/code-flaws/eval-dynamic-exec.json +17 -0
- package/web-ui/rules/code-flaws/hardcoded-password.json +23 -0
- package/web-ui/rules/code-flaws/hardcoded-secret-key.json +17 -0
- package/web-ui/rules/code-flaws/path-traversal-join.json +19 -0
- package/web-ui/rules/code-flaws/path-traversal-open.json +20 -0
- package/web-ui/rules/code-flaws/prototype-pollution-merge.json +16 -0
- package/web-ui/rules/code-flaws/regex-redos-backtrack.json +13 -0
- package/web-ui/rules/code-flaws/sql-inject-concat-dot.json +16 -0
- package/web-ui/rules/code-flaws/sql-inject-concat.json +13 -0
- package/web-ui/rules/code-flaws/sql-inject-format.json +16 -0
- package/web-ui/rules/code-flaws/sql-inject-interp.json +19 -0
- package/web-ui/rules/code-flaws/ssrf-user-url.json +16 -0
- package/web-ui/rules/code-flaws/xss-dangerously-set.json +16 -0
- package/web-ui/rules/code-flaws/xss-inner-html.json +16 -0
- package/web-ui/rules/code-flaws/xss-unescaped-render.json +16 -0
- package/web-ui/rules/core-code-context/db-table-name.json +30 -0
- package/web-ui/rules/core-code-context/feature-flag.json +24 -0
- package/web-ui/rules/core-code-context/file-path.json +17 -0
- package/web-ui/rules/core-code-context/internal-domain.json +13 -0
- package/web-ui/rules/core-code-context/internal-ip.json +13 -0
- package/web-ui/rules/core-code-context/internal-url.json +27 -0
- package/web-ui/rules/core-code-context/localhost-ref.json +13 -0
- package/web-ui/rules/core-code-context/stack-trace.json +13 -0
- package/web-ui/rules/core-financial/credit-card.json +14 -0
- package/web-ui/rules/core-financial/cusip.json +14 -0
- package/web-ui/rules/core-financial/cvv.json +13 -0
- package/web-ui/rules/core-financial/iban.json +17 -0
- package/web-ui/rules/core-financial/paypal.json +14 -0
- package/web-ui/rules/core-financial/routing-number.json +14 -0
- package/web-ui/rules/core-financial/salary.json +23 -0
- package/web-ui/rules/core-financial/swift.json +14 -0
- package/web-ui/rules/core-phi/biometric-ref.json +23 -0
- package/web-ui/rules/core-phi/genetic-data.json +24 -0
- package/web-ui/rules/core-phi/group-id.json +19 -0
- package/web-ui/rules/core-phi/hipaa-identifier.json +13 -0
- package/web-ui/rules/core-phi/icd10-code.json +14 -0
- package/web-ui/rules/core-phi/member-id.json +13 -0
- package/web-ui/rules/core-phi/mrn.json +13 -0
- package/web-ui/rules/core-phi/ndc-code.json +13 -0
- package/web-ui/rules/core-pii/dob.json +18 -0
- package/web-ui/rules/core-pii/drivers-license-us.json +14 -0
- package/web-ui/rules/core-pii/email.json +13 -0
- package/web-ui/rules/core-pii/home-address.json +21 -0
- package/web-ui/rules/core-pii/ip-address.json +13 -0
- package/web-ui/rules/core-pii/mac-address.json +13 -0
- package/web-ui/rules/core-pii/name.json +21 -0
- package/web-ui/rules/core-pii/national-id.json +27 -0
- package/web-ui/rules/core-pii/passport-us.json +17 -0
- package/web-ui/rules/core-pii/phone-intl.json +13 -0
- package/web-ui/rules/core-pii/phone-us.json +17 -0
- package/web-ui/rules/core-pii/ssn.json +13 -0
- package/web-ui/rules/core-pii/vin.json +13 -0
- package/web-ui/rules/core-pii/zip.json +30 -0
- package/web-ui/rules/secrets/anthropic-api-key.json +14 -0
- package/web-ui/rules/secrets/aws-access-key.json +14 -0
- package/web-ui/rules/secrets/aws-secret-key.json +15 -0
- package/web-ui/rules/secrets/azure-connection-string.json +13 -0
- package/web-ui/rules/secrets/cloudflare-api-key.json +15 -0
- package/web-ui/rules/secrets/datadog-key.json +15 -0
- package/web-ui/rules/secrets/digitalocean-token.json +13 -0
- package/web-ui/rules/secrets/discord-token.json +14 -0
- package/web-ui/rules/secrets/gcp-service-account.json +16 -0
- package/web-ui/rules/secrets/github-pat.json +16 -0
- package/web-ui/rules/secrets/gitlab-token.json +14 -0
- package/web-ui/rules/secrets/heroku-api-key.json +14 -0
- package/web-ui/rules/secrets/npm-token.json +14 -0
- package/web-ui/rules/secrets/openai-api-key.json +14 -0
- package/web-ui/rules/secrets/pulumi-access-token.json +14 -0
- package/web-ui/rules/secrets/sendgrid-key.json +14 -0
- package/web-ui/rules/secrets/slack-token.json +13 -0
- package/web-ui/rules/secrets/stripe-live-key.json +14 -0
- package/web-ui/rules/secrets/terraform-cloud-token.json +16 -0
- package/web-ui/rules/secrets/twilio-key.json +13 -0
- package/web-ui/rules/secrets/vault-token.json +14 -0
- package/web-ui/rules/secrets-infra/api-key-header.json +15 -0
- package/web-ui/rules/secrets-infra/basic-auth-header.json +13 -0
- package/web-ui/rules/secrets-infra/basic-auth-url.json +13 -0
- package/web-ui/rules/secrets-infra/bearer-token.json +17 -0
- package/web-ui/rules/secrets-infra/db-connection-string.json +13 -0
- package/web-ui/rules/secrets-infra/docker-config-auth.json +13 -0
- package/web-ui/rules/secrets-infra/env-key-value.json +14 -0
- package/web-ui/rules/secrets-infra/generic-high-entropy-secret.json +18 -0
- package/web-ui/rules/secrets-infra/jwt-token.json +16 -0
- package/web-ui/rules/secrets-infra/kubeconfig-token.json +14 -0
- package/web-ui/rules/secrets-infra/password-field.json +14 -0
- package/web-ui/rules/secrets-infra/pgp-private-key.json +15 -0
- package/web-ui/rules/secrets-infra/ssh-private-key.json +15 -0
- package/web-ui/web-ui/.next/BUILD_ID +1 -1
- package/web-ui/web-ui/.next/app-build-manifest.json +39 -39
- package/web-ui/web-ui/.next/app-path-routes-manifest.json +6 -6
- package/web-ui/web-ui/.next/build-manifest.json +2 -2
- package/web-ui/web-ui/.next/prerender-manifest.json +3 -3
- package/web-ui/web-ui/.next/required-server-files.json +2 -1
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/index.html +1 -1
- package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app-paths-manifest.json +6 -6
- package/web-ui/web-ui/.next/server/chunks/366.js +566 -0
- package/web-ui/web-ui/.next/server/chunks/45.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/484.js +564 -0
- package/web-ui/web-ui/.next/server/chunks/913.js +2 -0
- package/web-ui/web-ui/.next/server/functions-config-manifest.json +7 -7
- package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/pages/404.html +1 -1
- package/web-ui/web-ui/.next/server/pages/500.html +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
- package/web-ui/web-ui/.next/static/chunks/561-46ea4b9ad0419130.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/{page-f6b1b344709ee48e.js → page-49c63d0cec0da80d.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/{page-485a76552d6dbabd.js → page-d469bd704615ea76.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-07ca4b0ce174ef7a.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-16d5fd7d373c8f0b.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/{page-e8498a1e48943abf.js → page-d6cfd847bb528eec.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-291617f3a4d46a01.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/{page-94eb9d838ae00222.js → page-c59135e0cfa8d5c7.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-0eb54f5acb30a73e.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-b00573441ac43bdf.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/{page-b9fba600c590896d.js → page-3b5fe92cd995b763.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-50f828314c9a5d91.js +1 -0
- package/web-ui/web-ui/.next/static/css/dfdcbdce6b7c9eb0.css +2 -0
- package/web-ui/web-ui/package.json +1 -1
- package/web-ui/web-ui/server.js +1 -1
- package/LICENSE +0 -201
- package/web-ui/web-ui/.next/server/chunks/116.js +0 -536
- package/web-ui/web-ui/.next/server/chunks/223.js +0 -534
- package/web-ui/web-ui/.next/server/chunks/226.js +0 -2
- package/web-ui/web-ui/.next/static/chunks/561-3a19cd28d2b941fa.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-8030433ea5c099fa.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-452be710e9e05ad5.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-1b841b6a60708c6d.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-dd61001da0f891d3.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-158ed3ad2cee998b.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-241fdcbac6e942aa.js +0 -1
- package/web-ui/web-ui/.next/static/css/69dfaec5234c6b99.css +0 -2
- /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → zNaHfOWePiRki0ugHKYzl}/_buildManifest.js +0 -0
- /package/web-ui/web-ui/.next/static/{v339u67-B5AsSrzDBfv22 → zNaHfOWePiRki0ugHKYzl}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "code-flaws/sql-inject-interp",
|
|
4
|
+
"name": "SQL injection via Ruby string interpolation or PHP variable",
|
|
5
|
+
"category": "code_flaw",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(select|insert|update|delete|where)[^\\n]*?(#\\{|\\$[a-z_])",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": [
|
|
13
|
+
"\"SELECT * FROM users WHERE id = #{params[:id]}\"",
|
|
14
|
+
"\"SELECT * FROM users WHERE id = $userId\""
|
|
15
|
+
],
|
|
16
|
+
"appliesTo": {
|
|
17
|
+
"extensions": [".rb", ".php"]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "code-flaws/ssrf-user-url",
|
|
4
|
+
"name": "Server-side request forgery via user-controlled URL",
|
|
5
|
+
"category": "code_flaw",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(fetch|axios\\.\\w+|requests\\.get|urllib\\.request\\.urlopen)\\s*\\(\\s*(req|request|params|query|body)",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["fetch(req.query.url)", "requests.get(request.form['url'])"],
|
|
13
|
+
"appliesTo": {
|
|
14
|
+
"extensions": [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs", ".py"]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "code-flaws/xss-dangerously-set",
|
|
4
|
+
"name": "XSS via React dangerouslySetInnerHTML",
|
|
5
|
+
"category": "code_flaw",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": ["dangerouslySetInnerHTML"],
|
|
10
|
+
"caseSensitive": true
|
|
11
|
+
},
|
|
12
|
+
"examples": ["<div dangerouslySetInnerHTML={{ __html: userContent }} />"],
|
|
13
|
+
"appliesTo": {
|
|
14
|
+
"extensions": [".js", ".jsx", ".ts", ".tsx"]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "code-flaws/xss-inner-html",
|
|
4
|
+
"name": "XSS via innerHTML assignment",
|
|
5
|
+
"category": "code_flaw",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": ["innerHTML =", "innerHTML="],
|
|
10
|
+
"caseSensitive": true
|
|
11
|
+
},
|
|
12
|
+
"examples": ["element.innerHTML = userInput"],
|
|
13
|
+
"appliesTo": {
|
|
14
|
+
"extensions": [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs"]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "code-flaws/xss-unescaped-render",
|
|
4
|
+
"name": "XSS via unescaped template rendering",
|
|
5
|
+
"category": "code_flaw",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(\\braw\\s*\\(|\\bhtml_safe\\b|\\|\\s*safe\\b|\\bmark_safe\\s*\\()",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["<%= raw(user_comment) %>", "{{ user_input | safe }}", "mark_safe(user_html)"],
|
|
13
|
+
"appliesTo": {
|
|
14
|
+
"extensions": [".rb", ".py"]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/db-table-name",
|
|
4
|
+
"name": "Internal database table/column name",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"SELECT * FROM ",
|
|
11
|
+
"SELECT COUNT(*) FROM ",
|
|
12
|
+
"INSERT INTO ",
|
|
13
|
+
"UPDATE ",
|
|
14
|
+
"DELETE FROM ",
|
|
15
|
+
"CREATE TABLE ",
|
|
16
|
+
"ALTER TABLE ",
|
|
17
|
+
"DROP TABLE ",
|
|
18
|
+
"FROM users",
|
|
19
|
+
"FROM orders",
|
|
20
|
+
"FROM employees",
|
|
21
|
+
"FROM customers",
|
|
22
|
+
"FROM accounts",
|
|
23
|
+
"FROM transactions",
|
|
24
|
+
"FROM products",
|
|
25
|
+
"FROM payments"
|
|
26
|
+
],
|
|
27
|
+
"caseSensitive": false
|
|
28
|
+
},
|
|
29
|
+
"examples": ["SELECT * FROM users WHERE id = 1"]
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/feature-flag",
|
|
4
|
+
"name": "Feature flag / toggle name",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"feature_flag:",
|
|
11
|
+
"feature_toggle:",
|
|
12
|
+
"feature-flag:",
|
|
13
|
+
"feature-toggle:",
|
|
14
|
+
"FF_",
|
|
15
|
+
"FEATURE_FLAG_",
|
|
16
|
+
"FEATURE_TOGGLE_",
|
|
17
|
+
"unleash:",
|
|
18
|
+
"launchdarkly:",
|
|
19
|
+
"split.io:"
|
|
20
|
+
],
|
|
21
|
+
"caseSensitive": false
|
|
22
|
+
},
|
|
23
|
+
"examples": ["feature_flag: new-checkout-flow", "FF_ENABLE_DARK_MODE"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/file-path",
|
|
4
|
+
"name": "User home / identity-bearing file path",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?:/home|/Users)/[A-Za-z0-9_.@-]+(?:/[A-Za-z0-9_.@+-]+)*|/root(?:/[A-Za-z0-9_.@+-]+)+|[A-Za-z]:\\\\[Uu]sers\\\\[A-Za-z0-9_.-]+(?:\\\\[A-Za-z0-9_.-]+)*",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": [
|
|
13
|
+
"/home/user/.ssh/id_rsa",
|
|
14
|
+
"/Users/jane/projects/acme/secrets.env",
|
|
15
|
+
"C:\\Users\\admin\\config.yml"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/internal-domain",
|
|
4
|
+
"name": "Internal domain / hostname",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?<![A-Za-z0-9.-])[A-Za-z0-9][A-Za-z0-9.-]{0,251}\\.(?:internal|corp|local|lan|intranet|private|dev|staging|test|qa)(?:\\.(?:com|net|org|io|co|app))?\\b",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["db.internal.com", "app.corp.local", "api.staging.example.com"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/internal-ip",
|
|
4
|
+
"name": "Internal (RFC 1918) IP address",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?<![\\d.])(?:10\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|172\\.(?:1[6-9]|2\\d|3[01])\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|192\\.168\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))(?![\\d])",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["10.0.0.1", "192.168.1.1", "172.16.0.1"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/internal-url",
|
|
4
|
+
"name": "Internal environment URL",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"https://staging.",
|
|
11
|
+
"https://dev.",
|
|
12
|
+
"https://qa.",
|
|
13
|
+
"https://test.",
|
|
14
|
+
"http://staging.",
|
|
15
|
+
"http://dev.",
|
|
16
|
+
"http://qa.",
|
|
17
|
+
"http://test.",
|
|
18
|
+
".staging.com",
|
|
19
|
+
".dev.com",
|
|
20
|
+
".qa.com",
|
|
21
|
+
"staging.internal",
|
|
22
|
+
"dev.internal"
|
|
23
|
+
],
|
|
24
|
+
"caseSensitive": false
|
|
25
|
+
},
|
|
26
|
+
"examples": ["https://staging.example.com"]
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/localhost-ref",
|
|
4
|
+
"name": "Localhost reference",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:localhost|127\\.0\\.0\\.1|0\\.0\\.0\\.0|::1)\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["localhost", "127.0.0.1"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-code-context/stack-trace",
|
|
4
|
+
"name": "Stack trace (internal code structure)",
|
|
5
|
+
"category": "code_context",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?:^|\\s+)at\\s+[A-Za-z0-9._$<>]+\\.[A-Za-z0-9_$]+\\s*\\([A-Za-z0-9._\\-/:]+:\\d+:\\d+\\)",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["at com.example.service.UserService.findUser(UserService.java:42:13)"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/credit-card",
|
|
4
|
+
"name": "Credit/debit card number",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "critical",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"postValidators": ["luhn"],
|
|
13
|
+
"examples": ["4111111111111111", "5500000000000004"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/cusip",
|
|
4
|
+
"name": "CUSIP security identifier",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\bcusip\\b[\\s#:=-]{0,8}(\\d{3}[A-Z0-9]{2}[A-Z0-9*#@]\\d{2}[0-9])\\b",
|
|
10
|
+
"flags": "gi",
|
|
11
|
+
"captureGroup": 1
|
|
12
|
+
},
|
|
13
|
+
"examples": ["CUSIP: 037833100", "CUSIP 931142103"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/cvv",
|
|
4
|
+
"name": "Card security code (CVV/CVC)",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:CVV|CVC|CID|security\\s+code|card\\s+code)[:\\s]*\\d{3,4}\\b",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["CVV: 123", "CVC: 456"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/iban",
|
|
4
|
+
"name": "International Bank Account Number",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b[A-Z]{2}\\d{2}[A-Z0-9 ]{10,30}\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"requiresNearby": {
|
|
13
|
+
"labels": ["iban", "bank", "account", "bic", "swift"],
|
|
14
|
+
"windowChars": 160
|
|
15
|
+
},
|
|
16
|
+
"examples": ["IBAN: GB82 WEST 1234 5698 7654 32", "IBAN: DE89 3704 0044 0532 0130 00"]
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/paypal",
|
|
4
|
+
"name": "PayPal transaction/merchant ID",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "paypal.{0,30}?\\b([A-Z0-9]{17})\\b",
|
|
10
|
+
"flags": "gi",
|
|
11
|
+
"captureGroup": 1
|
|
12
|
+
},
|
|
13
|
+
"examples": ["PayPal transaction ID: 9HW7382910ABCDEF1"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/routing-number",
|
|
4
|
+
"name": "US bank routing number (ABA)",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:routing|aba|rtn)\\b[\\s#:=-]{0,8}(\\d{9})\\b",
|
|
10
|
+
"flags": "gi",
|
|
11
|
+
"captureGroup": 1
|
|
12
|
+
},
|
|
13
|
+
"examples": ["Routing: 021000021", "ABA 111000025"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/salary",
|
|
4
|
+
"name": "Salary/compensation (contextual)",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"my salary is",
|
|
11
|
+
"my base salary",
|
|
12
|
+
"annual compensation",
|
|
13
|
+
"total comp",
|
|
14
|
+
"my tc is",
|
|
15
|
+
"my package is",
|
|
16
|
+
"i make $",
|
|
17
|
+
"i earn $",
|
|
18
|
+
"offered $"
|
|
19
|
+
],
|
|
20
|
+
"caseSensitive": false
|
|
21
|
+
},
|
|
22
|
+
"examples": ["My salary is $150,000"]
|
|
23
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-financial/swift",
|
|
4
|
+
"name": "SWIFT/BIC code",
|
|
5
|
+
"category": "financial",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:swift|bic)\\b[\\s#:=-]{0,8}([A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?)\\b",
|
|
10
|
+
"flags": "gi",
|
|
11
|
+
"captureGroup": 1
|
|
12
|
+
},
|
|
13
|
+
"examples": ["SWIFT: BOFAUS3N", "BIC: CHASGB2LXXX"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/biometric-ref",
|
|
4
|
+
"name": "Biometric data reference",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"fingerprint data",
|
|
11
|
+
"fingerprint scan",
|
|
12
|
+
"my iris scan",
|
|
13
|
+
"my retina scan",
|
|
14
|
+
"my biometric",
|
|
15
|
+
"my facial recognition",
|
|
16
|
+
"my voiceprint",
|
|
17
|
+
"my palm print",
|
|
18
|
+
"my hand geometry"
|
|
19
|
+
],
|
|
20
|
+
"caseSensitive": false
|
|
21
|
+
},
|
|
22
|
+
"examples": ["My fingerprint data is stored in the biometric database"]
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/genetic-data",
|
|
4
|
+
"name": "Genetic/DNA sequence reference",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"my dna sequence",
|
|
11
|
+
"my genome",
|
|
12
|
+
"my genetic",
|
|
13
|
+
"dna test results",
|
|
14
|
+
"genetic test results",
|
|
15
|
+
"my 23andme",
|
|
16
|
+
"my ancestrydna",
|
|
17
|
+
"gene variant",
|
|
18
|
+
"my genotype",
|
|
19
|
+
"my haplogroup"
|
|
20
|
+
],
|
|
21
|
+
"caseSensitive": false
|
|
22
|
+
},
|
|
23
|
+
"examples": ["My DNA sequence shows a variant in the BRCA1 gene"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/group-id",
|
|
4
|
+
"name": "Health plan group ID",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\bgroup\\s*(?:id|number|no|#)\\s*[:#]?\\s*[A-Za-z0-9]{6,20}\\b",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"requiresNearby": {
|
|
13
|
+
"ruleIds": ["core-phi/member-id"],
|
|
14
|
+
"labels": ["member id", "subscriber", "health plan"],
|
|
15
|
+
"windowChars": 200,
|
|
16
|
+
"confidenceBoost": 0.05
|
|
17
|
+
},
|
|
18
|
+
"examples": ["Member ID: ABC987654321, Group ID: GRP12345678"]
|
|
19
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/hipaa-identifier",
|
|
4
|
+
"name": "HIPAA standard identifier (health plan / beneficiary / claim number)",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:health\\s+plan|beneficiary|claim\\s+number|subscriber)[:\\s]*[A-Za-z0-9]{8,20}\\b",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["Health Plan: XYZ123456789", "Beneficiary: ABC987654321"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/icd10-code",
|
|
4
|
+
"name": "ICD-10 diagnosis code",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?:icd[- ]?10|diagnosis|\\bdx\\b).{0,12}?([A-Z][0-9]{2}(?:\\.[0-9]{1,4})?)\\b",
|
|
10
|
+
"flags": "gi",
|
|
11
|
+
"captureGroup": 1
|
|
12
|
+
},
|
|
13
|
+
"examples": ["ICD-10: I10", "Diagnosis code E11.9", "dx: J45.909"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/member-id",
|
|
4
|
+
"name": "Health plan member ID",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\bmember\\s*(?:id|number|no|#)\\s*[:#]?\\s*[A-Za-z0-9]{6,20}\\b",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["Member ID: ABC987654321"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/mrn",
|
|
4
|
+
"name": "Medical Record Number",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:MRN|MR#|medical\\s+record)[:\\s]*[A-Za-z0-9]{6,16}\\b",
|
|
10
|
+
"flags": "gi"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["MRN: 1234567890", "Medical Record: ABCD1234"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-phi/ndc-code",
|
|
4
|
+
"name": "National Drug Code (NDC)",
|
|
5
|
+
"category": "phi",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b\\d{4,5}-\\d{3,4}-\\d{1,2}\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["0002-1427-01", "68788-6965-1"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/dob",
|
|
4
|
+
"name": "Date of birth",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:(?:19[4-9]\\d|20[0-1]\\d)[/-]\\d{1,2}[/-]\\d{1,2}|\\d{1,2}[/-]\\d{1,2}[/-](?:19[4-9]\\d|20[0-1]\\d))\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"requiresNearby": {
|
|
13
|
+
"categories": ["pii"],
|
|
14
|
+
"labels": ["dob", "date of birth", "birth", "d.o.b"],
|
|
15
|
+
"windowChars": 160
|
|
16
|
+
},
|
|
17
|
+
"examples": ["DOB: 1985-03-22", "Date of birth: 03/22/1985"]
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/drivers-license-us",
|
|
4
|
+
"name": "US driver's license number",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "high",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?:driver'?s?\\s*licen[sc]e|licen[sc]e|\\bDL\\b).{0,10}?([A-Z]\\d{6,8}|\\d{8,9})\\b",
|
|
10
|
+
"flags": "gi",
|
|
11
|
+
"captureGroup": 1
|
|
12
|
+
},
|
|
13
|
+
"examples": ["Driver's License: D1234567", "DL: 123456789"]
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/email",
|
|
4
|
+
"name": "Email address",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "(?<![A-Za-z0-9._%+-])[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9.-]{1,255}\\.[A-Za-z]{2,24}\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["user@example.com"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/home-address",
|
|
4
|
+
"name": "Home address (contextual)",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"my address is",
|
|
11
|
+
"home address",
|
|
12
|
+
"shipping address",
|
|
13
|
+
"billing address",
|
|
14
|
+
"mailing address",
|
|
15
|
+
"my home is at",
|
|
16
|
+
"i reside at"
|
|
17
|
+
],
|
|
18
|
+
"caseSensitive": false
|
|
19
|
+
},
|
|
20
|
+
"examples": ["My address is 123 Main St, Springfield, IL 62701"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/ip-address",
|
|
4
|
+
"name": "IP address",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["192.168.1.1", "10.0.0.1"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/mac-address",
|
|
4
|
+
"name": "MAC address",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "low",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "regex",
|
|
9
|
+
"pattern": "\\b(?:[0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}\\b",
|
|
10
|
+
"flags": "g"
|
|
11
|
+
},
|
|
12
|
+
"examples": ["AA:BB:CC:DD:EE:FF"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specVersion": 1,
|
|
3
|
+
"id": "core-pii/name",
|
|
4
|
+
"name": "Personal name (contextual)",
|
|
5
|
+
"category": "pii",
|
|
6
|
+
"severity": "medium",
|
|
7
|
+
"matcher": {
|
|
8
|
+
"type": "keyword",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"my name is",
|
|
11
|
+
"my full name",
|
|
12
|
+
"i am called",
|
|
13
|
+
"please call me",
|
|
14
|
+
"name:\n",
|
|
15
|
+
"\"full_name\": \"",
|
|
16
|
+
"\"fullName\": \""
|
|
17
|
+
],
|
|
18
|
+
"caseSensitive": false
|
|
19
|
+
},
|
|
20
|
+
"examples": ["My name is John Doe"]
|
|
21
|
+
}
|