{"id":13731672,"url":"https://github.com/rocketmiles/aws-cct","last_synced_at":"2026-01-14T11:10:07.833Z","repository":{"id":37856990,"uuid":"307484296","full_name":"rocketmiles/aws-cct","owner":"rocketmiles","description":"AWS Cost Comparison Tool - Moved to https://gitlab.agodadev.io/partnertech/aws-cct","archived":true,"fork":false,"pushed_at":"2022-09-06T19:18:28.000Z","size":35,"stargazers_count":57,"open_issues_count":3,"forks_count":2,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-08T05:34:14.298Z","etag":null,"topics":["aws","aws-sdk","cost-control","cost-explorer","golang","hacktoberfest","migrated-to-gitlab"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rocketmiles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-26T19:34:42.000Z","updated_at":"2025-03-04T02:22:55.000Z","dependencies_parsed_at":"2023-01-17T17:15:55.110Z","dependency_job_id":null,"html_url":"https://github.com/rocketmiles/aws-cct","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/rocketmiles/aws-cct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocketmiles%2Faws-cct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocketmiles%2Faws-cct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocketmiles%2Faws-cct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocketmiles%2Faws-cct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rocketmiles","download_url":"https://codeload.github.com/rocketmiles/aws-cct/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocketmiles%2Faws-cct/sbom","scorecard":{"id":781855,"data":{"date":"2025-08-11","repo":{"name":"github.com/rocketmiles/aws-cct","commit":"c0c7185644f53261b225a093e9d40a222d640ae1"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":4,"reason":"Found 8/17 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/rocketmiles/aws-cct/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/rocketmiles/aws-cct/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/rocketmiles/aws-cct/release.yml/main?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.5.0 not signed: https://api.github.com/repos/rocketmiles/aws-cct/releases/76415323","Warn: release artifact v1.4.1 not signed: https://api.github.com/repos/rocketmiles/aws-cct/releases/53033769","Warn: release artifact v1.4.0 not signed: https://api.github.com/repos/rocketmiles/aws-cct/releases/51156613","Warn: release artifact v1.3.0 not signed: https://api.github.com/repos/rocketmiles/aws-cct/releases/35930510","Warn: release artifact v1.2.0 not signed: https://api.github.com/repos/rocketmiles/aws-cct/releases/33865818","Warn: release artifact v1.5.0 does not have provenance: https://api.github.com/repos/rocketmiles/aws-cct/releases/76415323","Warn: release artifact v1.4.1 does not have provenance: https://api.github.com/repos/rocketmiles/aws-cct/releases/53033769","Warn: release artifact v1.4.0 does not have provenance: https://api.github.com/repos/rocketmiles/aws-cct/releases/51156613","Warn: release artifact v1.3.0 does not have provenance: https://api.github.com/repos/rocketmiles/aws-cct/releases/35930510","Warn: release artifact v1.2.0 does not have provenance: https://api.github.com/repos/rocketmiles/aws-cct/releases/33865818"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0635","Warn: Project is vulnerable to: GO-2022-0646","Warn: Project is vulnerable to: GO-2022-0493 / GHSA-p782-xgp4-8hr8"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T05:05:39.001Z","repository_id":37856990,"created_at":"2025-08-23T05:05:39.001Z","updated_at":"2025-08-23T05:05:39.001Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28417978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-sdk","cost-control","cost-explorer","golang","hacktoberfest","migrated-to-gitlab"],"created_at":"2024-08-03T02:01:35.465Z","updated_at":"2026-01-14T11:10:07.817Z","avatar_url":"https://github.com/rocketmiles.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# AWS Cost Comparison Tool\n\nThis is a simple CLI tool that wraps the AWS Cost Explorer APIs to be able to quickly identify cost anomalies between monthly bills.\n\n## Use Cases\n\n* Comparing costs between two different months\n* Creating a CSV report to show changes in the bill\n* Diagnosing which specific line item changed the most to identify anomalies\n\n## Requirements\n\n* AWS Credentials Setup locally\n* Access to Cost Explorer APIs (`ce:*`)\n\n## Installation\n\n### Homebrew\n\n```bash\nbrew tap rocketmiles/aws-cct https://github.com/rocketmiles/aws-cct\nbrew install aws-cct\n```\n\nUpdating\n```bash\nbrew upgrade aws-cct\n```\n\n### Through GitHub\n\nDownload from the [releases](https://github.com/rocketmiles/aws-cct/releases)\n\n### Go Get\n\n```bash\ngo get github.com/rocketmiles/aws-cct\n```\n\n## Usage\n\nFor full usage, see the help page with `aws-cct help`:\n\n```\nNAME:\n   aws-cct - AWS Cost Comparison Tool\n\nUSAGE:\n   aws-cct [global options] command [command options] [arguments...]\n\nCOMMANDS:\n   help, h  Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --start value        First month to compare (2020-01-01) (default: \"2021-09-01\")\n   --end value          Second month to compare (2020-02-01) (default: \"2021-10-01\")\n   --cost-metric value  Cost Metric to compare (NetAmortizedCost, UnblendedCost, etc.) (default: \"NetAmortizedCost\")\n   --service value      Define a service to dig into\n   --tag value          Tag value to filter results (app=web, env=prod, etc.)\n   --sort value         Column to sort results on (name, start, end, delta, deltapercent) (default: \"name\")\n   --sort-order value   Order to sort in (asc or desc) (default: \"asc\")\n   --output value       Output format (supported formats: table, csv) (default: \"table\")\n   --help, -h           show help (default: false)\n```\n\n*Simple usage*\n```bash\naws-cct\n```\n\n*Check Unblended Costs*\n```bash\naws-cct --cost-metric UnblendedCost\n```\n\n*Dig into EC2 costs*\n\nYou can get the string from the initial output. Simply copy the value in the \"SERVICE\" section and you can filter into that\n```bash\naws-cct --service \"Amazon Elastic Compute Cloud - Compute\"\n```\n\n*Filter by tags*\n\nYou can get filter costs by tag, to return costs for resources that match all specified tag values.\n```bash\naws-cct --tag app=widgetizer --tag env=production\n```\n\n*Compare Older Months*\n```bash\naws-cct --start 2020-08-01 --end 2020-09-01\n```\n\n*Sort on a column*\n\nYou can sort on any column, ascending or descending, for example to see the largest deltas first.\n```bash\naws-cct --sort delta --sort-order desc\n```\n\n*Output in CSV format*\n\nThis will output in a CSV friendly format and you can utilize this to do analysis or for reporting.\n```bash\naws-cct --output csv\n```\n\n*Diagnose where the largest cost increase is coming from*\n\nBetween March \u0026 April 2022:\n\nFirst, figure out which service has the largest cost\n```bash\naws-cct --start 2022-03-01 --end 2022-04-01 --sort delta --sort-order desc\n```\n\nThen, copy that full service name and dig into which specific line item within that service increased the most.\n\nIn this example, the EC2 costs are high and we want to see what specifically increased.\n```bash\naws-cct --start 2022-03-01 --end 2022-04-01 --sort delta --sort-order desc --service \"Amazon Elastic Compute Cloud - Compute\"\n```\n\n## Local Development\n\nRequires Go \u003e= 1.15.3\n\nBuild with `go build`\n\nYou should see a local binary called `aws-cct` which you can use to interact with\n\n## Credits\n\n[AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/api/service/costexplorer/)\n\n[Urfav CLI Lib](https://github.com/urfave/cli/)\n\n[go-pretty for table output](https://github.com/jedib0t/go-pretty)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketmiles%2Faws-cct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocketmiles%2Faws-cct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketmiles%2Faws-cct/lists"}